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):

FeatureFirst Era (to 1960s)Fourth Era (Present)
TechnologyBatch data processingObject-oriented, expert systems, neural networks
HardwareLimited applicationsHigh-performance hardware, global distribution
DevelopmentFew developersSystematic 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.

Related entries: