Presentation is loading. Please wait.

Presentation is loading. Please wait.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.

Similar presentations


Presentation on theme: "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2."— Presentation transcript:

1 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2

2 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 2 Process activities l Software specification l Software design and implementation l Software validation l Software evolution

3 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 3 Software specification l The process of establishing what services are required and the constraints on the system’s operation and development. l Requirements engineering process Feasibility study; Requirements elicitation and analysis; Requirements specification; Requirements validation.

4 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 4 The requirements engineering process

5 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 5 Software design and implementation l The process of converting the system specification into an executable system. l Software design Design a software structure that realises the specification; l Implementation Translate this structure into an executable program; l The activities of design and implementation are closely related and may be inter-leaved.

6 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 6 Design process activities l Architectural design l Abstract specification l Interface design l Component design l Data structure design l Algorithm design

7 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 7 The software design process

8 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 8 Structured methods l Systematic approaches to developing a software design. l The design is usually documented as a set of graphical models. l Possible models Object model; Sequence model; State transition model; Structural model; Data-flow model.

9 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 9 Programming and debugging l Translating a design into a program and removing errors from that program. l Programming is a personal activity - there is no generic programming process. l Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process.

10 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 10 Software validation l Verification and validation (V & V) is intended to show that a system conforms to its specification and meets the requirements of the system customer. l Involves checking and review processes and system testing. l 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.

11 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 11 The testing process

12 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 12 Testing phases

13 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 13 Software evolution l Software is inherently flexible and can change. l As requirements change through changing business circumstances, the software that supports the business must also evolve and change. l Although there has been a demarcation between development and evolution (maintenance) this is increasingly irrelevant as fewer and fewer systems are completely new.

14 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 14 System evolution

15 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 15 The Rational Unified Process l A modern process model derived from the work on the UML and associated process. l Normally described from 3 perspectives A dynamic perspective that shows phases over time; A static perspective that shows process activities; A practive perspective that suggests good practice.

16 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 16 RUP phase model

17 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 17 RUP phases l Inception Establish the business case for the system. l Elaboration Develop an understanding of the problem domain and the system architecture. l Construction System design, programming and testing. l Transition Deploy the system in its operating environment.

18 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 18 RUP good practice l Develop software iteratively l Manage requirements l Use component-based architectures l Visually model software l Verify software quality l Control changes to software

19 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 19 Static workflows

20 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 20 Computer-aided software engineering l Computer-aided software engineering (CASE) is software to support software development and evolution processes. l Activity automation Graphical editors for system model development; Data dictionary to manage design entities; Graphical UI builder for user interface construction; Debuggers to support program fault finding; Automated translators to generate new versions of a program.

21 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 21 Case technology l Case technology has led to significant improvements in the software process. However, these are not the order of magnitude improvements that were once predicted Software engineering requires creative thought - this is not readily automated; Software engineering is a team activity and, for large projects, much time is spent in team interactions. CASE technology does not really support these.

22 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 22 CASE classification l Classification helps us understand the different types of CASE tools and their support for process activities. l Functional perspective Tools are classified according to their specific function. l Process perspective Tools are classified according to process activities that are supported. l Integration perspective Tools are classified according to their organisation into integrated units.

23 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 23 Activity-based tool classification

24 ©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 24 Key points l Requirements engineering is the process of developing a software specification. l Design and implementation processes transform the specification to an executable program. l Validation involves checking that the system meets to its specification and user needs. l Evolution is concerned with modifying the system after it is in use. l The Rational Unified Process is a generic process model that separates activities from phases. l CASE technology supports software process activities.


Download ppt "©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2."

Similar presentations


Ads by Google