Software Process

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Software Process as PDF for free.

More details

  • Words: 722
  • Pages: 10
Wake Forest University

Computer Science Department

Software Development Process CSC 331 – 631 V. P. Pauca

Spring 2003

1

Wake Forest University

Computer Science Department

Outline

• Processes and Software Process • Phases of a Development Project – – – – –

Requirements engineering Design Implementation Testing Maintenance

• Project Management

Spring 2003

2

Wake Forest University

Computer Science Department

Processes •

Process: A series of steps involving activities, constraints, and resources that produce an intended output of some kind • imposes consistency and structure on a set of activities • guides our actions by allowing us to examine, understand, control, and improve the activities that comprise the process • enables us to capture our experiences and pass them along to others

Can you think of some examples?



Software Development Process – A process that describes the life of a software product from its conception to its implementation, delivery, use and maintenance – It is a cyclic process Why? – Hence, the term software life cycle Spring 2003

3

Wake Forest University

Computer Science Department

Phases of a Development Project problem requirements engineering requirements specification design design specification implementation program testing working program maintenance Spring 2003

4

Wake Forest University

Computer Science Department

Phases of a Development Project 1. Requirements engineering – Goal: develop a complete description of the problem and of the requirements imposed by and on the target environment – Description of problem: • • • •

Functions of the software system Future extensions Amount and kind of documentation Performance requirements

– Feasibility study: assess existence of solution to problem both economically and technically feasible – Output document: requirements specification Spring 2003

5

Wake Forest University

Computer Science Department

Phases of a Development Project 2. Design –

Goal: develop a detailed model of the system separate the what from the how



Employ analysis and synthesis • •



Design decisions captured in the global description of the system, i.e. the system architecture •



decompose problem into modules specify the module functions and interfaces

Architectural description is an important milestone document

Output document: technical specification • •

Starting point for the implementation phase Specification can be formal in nature Spring 2003

6

Wake Forest University

Computer Science Department

Phases of a Development Project 3. Implementation – Goal: develop an executable program from the implementation of the individual components •

The starting point is the module’s specification

– The programmer’s goal is to develop well-documented, reliable, flexible and correct software – Output: an executable program

Spring 2003

7

Wake Forest University

Computer Science Department

Phases of a Development Project 4. Testing – Goal: overall testing of the system’s functionality (verification and validation) – Verification: the system is right – Validation: building the right system – In reality, testing may occur early in the development of a project, i.e. requirements and design – Testing is continued and refined during subsequent phases

5. Maintenance – After delivery, the system may need to be repaired (errors are encountered), changed or enhanced Spring 2003

8

Wake Forest University

Computer Science Department

Project Development •

Development process is not really as neatly separated as previously illustrated – Many process models introduced in the literature – Many actual ways (not even processes) in which software is developed



Break-up of development effort – 40-20-40 rule: plan (40%) build (20%) test (40%) (Rakos 1990) – 60-15-25 rule: (Boehm 1987)



Maintenance versus evolution – Cost of maintenance has increased significantly over the last few decades • 1970s (40%), early 1980s (55%), late 1980s (75%), 1990s (90%) • What percentage of this is software evolution?

– What type of maintenance activities take place? • • • •

Corrective maintenance Adaptive maintenance Perfective maintenance Preventive maintenance

(21%) (25%) (50%) ( 4%) Spring 2003

9

Wake Forest University

Computer Science Department

Project Management •

Large software projects not typically undertaken by one individual – Other projects (e.g. courses to take) – Family – Other priorities



Where this project fits in relation to others results in boundary conditions – process of determining boundary conditions called information planning



Management: planning and controlling the project and resources – Planning components: introduction, process model, organization, standards and procedures, management, risk, staffing, methods and techniques, quality assurance, resources, budget and schedule, changes – Controlling: time, information, organization, quality, money! Spring 2003

10

Related Documents