Software Engineering Slide nr.2
Software Engineering Slide nr.2
What is Software? Software is not just the program but also the needed documents and data to build software.
What is a Software Process? A Software Process are activities and their results that produce software.
What is a System?
A system for a university library should be designed. Readers are persons who have a clear reader number. Employees are persons who are identified with their SSNR (Social Security Number). From ever person in this system their first name, family name and address are stored. Readers are not equal to the employees. The employees add new readers to the system. Readers can search after books and magazines and borrow them. From every magazine a clear number (ISSN), date and publisher is saved. Books have its clear number (ISBN), a title and an author which are saved into the system. The employees add books and magazines into the system. Both employees and readers can search after books and magazines
The four Software Processes Software Specification: Customer and Designer define the product Software Development: The Software is designed and implemented.
Software Process Models Software Life Cycle: has 6 stages Software requirement: define what the software should do.
Waterfall model phases There are separate identified phases in the waterfall model:
Requirements analysis and definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance
The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. In principle, a phase has to be complete before moving onto the next phase.
Chapter 2 Software Processes 8
Waterfall model problems Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements.
Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process. Few business systems have stable requirements.
The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites.
In those circumstances, the plan-driven nature of the waterfall model helps coordinate the work.
Chapter 2 Software Processes 9
As requirements change through changing business circumstances, the software that supports the business must also evolve and change. Although there has been a demarcation between development and evolution (maintenance) this is increasingly irrelevant as fewer and fewer systems are completely new.
10
11
Spiral model usage Spiral model has been very influential in helping people think about iteration in software processes and introducing the risk-driven approach to development. In practice, however, the model is rarely used as published for practical software development.
12
The Unified Process A modern generic process derived from the work on the UML and associated process. Brings together aspects of the 3 generic process models discussed previously.
13
The Unified Process The Unified Process has a dynamic perspective which shows the model over time. There are four phases:
Inception
Elaboration Construction Transition
18
19