Loading...
Please wait, while we are loading the content...
Similar Documents
Applying system engineering principles specifically to the development of large , complex software systems provides a powerful tool for process and product management
| Content Provider | Semantic Scholar |
|---|---|
| Author | Thayer, Richard H. |
| Abstract | S oftware systems have become larger and more complex than ever. We can attribute some of this growth to advances in hardware performance—advances that have reduced the need to limit a software sys-tem's size and complexity as a primary design goal. Microsoft Word is a classic example: A product that would fit on a 360-Kbyte diskette 20 years ago now requires a 600-Mbyte CD. But there are other reasons for increased size and complexity. Specifically, software has become the dominant technology in many if not most technical systems. It often provides the cohesiveness and data control that enable a complex system to solve problems. Figure 1 is a prime example of this concept. In an air traffic control system, software connects the airplanes , people, radar, communications, and other equipment that successfully guide an aircraft to its destination. Software provides the system's major technical complexity. The vast majority of large software systems do not meet their projected schedule or estimated cost, nor do they completely fulfill the system acquirer's expectations. This phenomenon has long been known as the software crisis. 1 In response to this crisis, software developers have introduced different engineering practices into product development. Simply tracking a development project's managerial and technical status—resources used, milestones accomplished, requirements met, tests completed—does not provide sufficient feedback about its health. Instead, we must manage the technical processes as well as its products. System engineering provides the tools this technical management task requires. The application of system engineering principles to the development of a computer software system produces activities, tasks, and procedures called software system engineering, or SwSE. Many practitioners consider SwSE to be a special case of system engineering, and others consider it to be part of software engineering. However, we can argue that SwSE is a distinct and powerful tool for managing the technical development of large software projects. This tutorial integrates the definitions and processes from the IEEE software engineering standards 2 into the SwSE process. A longer version that includes a detailed step-by-step approach for implementing SwSE is available in Software Engineering Volume 1: The Development Process, part of the IEEE Computer Society's " best practices series. " 3 A system is a collection of elements related in a way that allows a common objective to be accomplished. In computer systems, these elements include hardware, software, people, facilities, and processes. System engineering is the practical application of scientific, … |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://cabibbo.inf.uniroma3.it/ids/altrui/thayer-software-system-engineering.pdf |
| Alternate Webpage(s) | http://www.dia.uniroma3.it/~cabibbo/ids/altrui/thayer-software-system-engineering.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |