Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

The Software Process-Software Engineering-Lecture Slides, Slides of Software Engineering

Software Engineering one of core subject in Computer Science. This lecture was delived by Dr. Shrya Gopal at Bengal Engineering and Science University as one of lecture from lecture series on course. This lecture includes: Software, Process, Risk, Management, Simplified, Requirements, Design, Implementation, Planning, Maintenance, Waterfall, Model, Analysis, Testing

Typology: Slides

2011/2012

Uploaded on 08/26/2012

parveen
parveen 🇮🇳

4.6

(9)

93 documents

Partial preview of the text

Download The Software Process-Software Engineering-Lecture Slides and more Slides Software Engineering in PDF only on Docsity!

CS 501: Software Engineering

Fall 2000

Lecture 2

The Software Process

Books

 Frederick P. Brooks, Jr. The Mythical Man Month. Addison-Wesley, 1972.

 Ian Sommerville, Software Engineering , 6th edition. Addison-Wesley, 2000.

 Grady Booch, James Rumbach, Ivar Jacobson, The Unified Modeling Language. Addison-Wesley 1999.

See the Readings page on the CS 501 Web Site

Risk Management

What can go wrong in a software project? How can the risk be reduced?

The Software Process (Simplified)

Requirements

Operation and Implementation Maintenance

Design

Feasibility and Planning

Requirements Analysis and Definition

The system's services, constraints and goals are established by consultation with system users. They are then defined in a manner that is understandable by both users and development staff. This phase can be divided into:

 Feasibility study (often carried out separately)  Requirements analysis  Requirements definition  Requirements specification

System and Software Design

System design: Partition the requirements to hardware or software systems. Establishes an overall system architecture

Software design: Represent the software system functions in a form that can be transformed into one or more executable programs

 Unified Modeling Language (UML)

Integration and System Testing

The individual program units are:

 integrated and tested as a complete system  tested against the requirements as specified  delivered to the client

Operation and Maintenance

 Operation: The system is put into practical use.  Maintenance: Errors and problems are identified and fixed.

 Evolution: The system evolves over time as requirements change, to add new functions or adapt the technical environment.

 Phase out: The system is withdrawn from service.

Feedback in the Waterfall Model

Requirements Definition

System and Software design

Programming and Unit Testing

Integration and System Testing

Operation and Maintenancedocsity.com

Iterative Refinement

(Evolutionary Development)

Concept: Initial implementation for user comment, followed by refinement until system is complete.

 Vaporware: user interface mock-up  Throw-away software components  Dummy modules  Rapid prototyping

 Successive refinement

Iterative Refinement

Outline Description

Concurrent Activities

Requirements

Design

Implementation

Initial Version

Intermediate Versions

Final Version

Iterative Refinement & Software

Process

Outline Description

Concurrent Activities

Requirements

Design

Implementation (^) Final Version

Iterative Refinement + Waterfall Model:

Graphics for Basic

Outline Description: Add vector graphics to Dartmouth Basic. Phase 1: Extend current language with a preprocessor and run-time support package. (1976/77) Phase 2: Write new compiler and run-time system incorporating graphics elements. (1978/80)

Iterative Refinement + Waterfall Model:

Graphics for Basic

Design Issues:

 Pictorial subprograms: coordinate systems, window/viewport  User specification of perspective Design Strategy: (Iterative Refinement)

 Write a series of prototypes with various proposed semantics  Evaluate with a set of programming tasks