Software Engineering Principles: Models, Systems, and Lifecycle
Classified in Other subjects
Written on in
English with a size of 3.29 KB
The Software Crisis
The Software Crisis: Bridge programs contained thousands of instructions, making maintenance extremely difficult. This complexity triggered the first software crisis.
The Spiral Model Explained
The Spiral Model was developed to combine the best features of the classic life cycle and prototyping, while adding risk analysis. It defines four main activities, represented by four quadrants:
- Planning: Determining objectives, alternatives, and constraints.
- Risk Analysis: Analyzing alternatives and identifying or resolving risks.
- Engineering: Developing the product at the next level.
- Client Assessment: Evaluating the results of the engineering phase.
With each iteration around the spiral, successive versions of the software are built, becoming increasingly complete.
Evolution of Software Eras
The following table compares the early era of software (up to the 1960s) with the fourth era (present day):
| Feature | First Era (to 1960s) | Fourth Era (Present) |
|---|---|---|
| Technology | Batch data processing | Object-oriented, expert systems, neural networks |
| Hardware | Limited applications | High-performance hardware, global distribution |
| Development | Few developers | Systematic methods, parallel software/hardware |
Project Management Fundamentals
Activities
Activities are the tasks performed to collectively reach a preset goal, including collecting information, diagnosis, overall design, procedure writing, and manual creation. A fundamental aspect of any project is the logical sequence of activities, which determines the method, time, and cost of each operation.
Resources
Resources are required to execute tasks, including human resources, hardware, databases, application software, storage, energy, capital, and time. The primary purpose of project development is to produce a schedule where limited resources are allocated to activities in an economically optimal manner.
Types of Software Systems
System Software
A collection of programs designed to serve other programs. System software interacts closely with hardware to manage and share resources. Examples: Operating systems, drivers, communication routines, and compilers.
Real-Time Systems
These systems analyze and control events in the real world, providing responses and making decisions in real time. Examples: Security systems, data collectors, and industrial process controllers.
Business Management Systems
These systems manage databases and business processes to provide necessary support for decision-making. Examples: Banking and payment systems.
Engineering and Scientific Software
Traditionally used to manage and process digital data across all fields of science and engineering.
Embedded Software: Systems with limited features designed for specific tasks, built for domestic and industrial use. Examples: GPS units and microwaves.