sommerville-videos
61,115 views
25 slides
Feb 12, 2015
Slide 1 of 25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
About This Presentation
Describes the basic activities of software engineering - specification, design and implementation, validation and evolution.
Accompanies video:
https://www.youtube.com/watch?v=Z2no7DxDWRI
Size: 339.58 KB
Language: en
Added: Feb 12, 2015
Slides: 25 pages
Slide Content
Fundamental activities in software engineering Software Engineering 10
Four fundamental activities that are part of all software development processes Specification , design and implementation, validation and evolution
Specification – defining what the software should do Design and implementation – defining the software and data organization and implementing the system
Validation – testing the system for bugs and to check it meets its requirements Evolution – changing the system after it has gone into use
The four basic process activities of specification, development, validation and evolution are organized differently in different development processes.
For example, in the waterfall model, they are organized in sequence, whereas in incremental development they are interleaved.
The requirements engineering process Chapter 2 Software Processes 7 30/10/2014
Design a software architecture and identify the major system components Refine to add detail if required
Implementation involves adding detail to the design and programming the system
Design and implementation are closely related and are normally inter - leaved activities.
A general model of the design process 11 30/10/2014
The software is implemented either by developing a program or programs or by configuring an application system.
Programming is an individual activity with no standard process . Different people program in different ways
Debugging is the activity of using testing to reveal program faults and then correcting these faults .
Test-first development integrates testing/programming and debugging
Verification and validation (V & V) is intended to show that a system meets its stated requirements (verification) and also meets the real needs of the system customer (validation).
System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system.
As well as system testing, system validation may involve other reviews and automated program checking procedures
Stages of testing 19 30/10/2014
Testing phases in a plan-driven software process (V-model) 20 30/10/2014
Software is inherently flexible and can change.
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
System evolution 24 30/10/2014
The first part of my book on software engineering focuses on these fundamental activities of software engineering.