SE Software Development Process 150309

Post on 18-Jul-2015

97 views 0 download

Tags:

Transcript of SE Software Development Process 150309

bharat_mybooks@rediffmail.com 1

Software Development Process

by:Bharat V. Chawda

Computer Engineering Department,BBIT, VVNagar

bharat_mybooks@rediffmail.com 2

Overview Program v/s Software SW: Definition, Characteristics, Myths SE: Definition, Need SE: A Layered Technology, A Generic View SE: Generic Framework Activities – Umbrella

Activities SDLC Models*

(As per GTU Curriculum – Diploma in Computer/IT Engineering)

Based on Books:

1. Fundamentals of Software Engineering – by Rajib Mall

2. Software Engineering: A Practitioner’s Approach – by Roger Pressman

(* SDLC Models are not covered in this presentation; They are given in another presentation.)

bharat_mybooks@rediffmail.com 3

Program v/s Software

Program Software / Product

Definition

Developed by Individuals SW Engineers (Team)

Size Small Large

Functionality Limited Multiple

User Programmer

himself

Large no. of other

users

User Interface Not so important Very Important

Documentation Very Little Well Documented

Development

according to

Programmer’s

individual style

SW Engineering

Principles

bharat_mybooks@rediffmail.com 4

Software - Definition

Software:

Instructions + Data Structures + Documents

Instructions/Computer Programs:

When executed, provide desired functionality

and performance

Data Structures

Enable programs to adequately manipulate

data/information

Documents:

Describe use and operations of the programs

bharat_mybooks@rediffmail.com 5

SW: Characteristics-I

Software is developed/engineered;not manufactured:

SW is developed; HW is manufactured

For both: Good design High quality

Quality Problems:

Possible in manufacturing phase

Not possible/Easily corrected in developing phase

R’Ship: People Applied, Work Accomplished

Both activities require construction of product,but approaches are different

bharat_mybooks@rediffmail.com 6

SW: Characteristics-II (i)

SW doesn’t wear out; does deteriorate:

HW:

HW: R’ship bet Failure Rate and Time: Bathtub curve Early: Design/Manufacturing defects With time: Dust, Vibration, Abuse, Temperature

extremes

bharat_mybooks@rediffmail.com 7

SW: Characteristics-II (ii)

SW doesn’t wear out; does deteriorate:

SW:

SW: Changes over time; May introduce new defects No spare parts; No replacement; Maintenance complex

bharat_mybooks@rediffmail.com 8

SW: Characteristics-III

Industry: moving towards componentbased assembly;

Most SW continues to be custom built

HW:

Reusable Components: Screws, ICs…

SW:

Reusable Components: Library, Data Structures, GUIcomponents like button, label…

bharat_mybooks@rediffmail.com 9

SW: Customer Myths

A general statement of objectives isenough to begin SW project.

Constant communication bet customer &developer: to meet all requirements

Project requirements change continually,and, change is easy to accommodate inthe SW design.

Not easy; Unexpected consequences; Must bemanaged very carefully: In time, Under budget

bharat_mybooks@rediffmail.com 10

SW: Practitioners’ Myths

Once a program is written, Softwareengineer’s work is finished.

There is no way to assess quality of apiece of a SW, until it is actually runningon some machine.

The only deliverable from a successful SWproject is the working program.

SE is all about the creation of large andunnecessary documentation.

bharat_mybooks@rediffmail.com 11

SW: Management Myths

SW standards provide software engineers:all the guidance they need.

People with modern computers have all theSW development tools.

Adding people is a good way to catch upwhen a project is behind schedule.

Outsourcing of SW projects to third partiessolves all the SW project managementproblems.

bharat_mybooks@rediffmail.com 12

SE: Def and Need

Def:

“The study & application of engineering to thedesign, development & maintenance of SW.”

Need:

Analogy: A Mason v/s Civil Engineering

Similarity: A Programmer v/s SE

Complexity:

Size ↑ Complexity, Effort, Time↑ (Exponentially)

1000L ‘X’ Complexity; 10000L ‘100X’ Complexity

bharat_mybooks@rediffmail.com 13

SE: How to Reduce Complexity?

Abstraction:

Simplify the problem Omit irrelevant details

Once simple prob is solved; Add omitted details

Multiple levels of abstraction

Decomposition:

Divide complex problem into smaller problems:Modules

Can be solved independently

Can be combined together to get full solution

bharat_mybooks@rediffmail.com 14

SE: A Layered Technology (i)

A Quality Focus

Process

Methods

Tools

bharat_mybooks@rediffmail.com 15

SE: A Layered Technology (ii)

Process:

Foundation for the Software Engineering

Holds technology layers (Methods, Tools)together

Enables Rationally & Timely development ofSW

Defines a framework for a set of Key ProcessAreas (KPAs)

bharat_mybooks@rediffmail.com 16

SE: A Layered Technology (iii)

Process – Key Process Areas (KPAs):

Establishes context in which technical methodsare applied

Work products are produced

Models, Documents, Data, Reports, Forms

Mile stones are established

Quality is ensured

Change is properly maintained

bharat_mybooks@rediffmail.com 17

SE: A Layered Technology (iv)

Methods:

Provide technical how-to’s for building SW

Encompass broad array of tasks

Requirements Gathering and Analysis

Design

Program

Testing

Support

bharat_mybooks@rediffmail.com 18

SE: A Layered Technology (v)

Tools:

Provide automated or semi-automated supportfor the process and methods

CASE: Computer Aided Software Engineering

Tools are integrated: Info created by one toolcan be used by another tool

Combines SW, HW, SE database to createSoftware Engineering Environment

Analogous to CAD/CAE (Computer AidedDesign/Engineering)

bharat_mybooks@rediffmail.com 19

SE: A Generic View

The work associated with SE

Categorized : 3 generic phases

Definition

Development

Support

bharat_mybooks@rediffmail.com 20

SE: A Generic View: Definition

Focuses on “What” Information to be Processed Functions & Performance are Desired System Behavior can be Expected Interfaces are to be Established Design Constraints Exist Validation Criteria are Required…

Key Requirements of System & SW are identified

3 Major Tasks:

System/Information Engineering

SW Project Planning

Requirements Analysis

bharat_mybooks@rediffmail.com 21

SE: A Gen View: Development

Focuses on “How” Data – to be structured Functions – to be implemented Procedural Details – to be implemented Interfaces – to be characterized Design – will be translated into Prog Language Testing – will be performed

3 Major Tasks:

SW Design

Code Generation

SW Testing

bharat_mybooks@rediffmail.com 22

SE: A Generic View: Support

Focuses on “Change”

Correction – Corrective Maintenance

Due to Defects

Adaptation – Adaptive Maintenance

Due to changes in external environment

Enhancement – Perfective Maintenance

Due to additional functionalities

Prevention – Preventive Maintenance

To prevent deteriorations due to change

bharat_mybooks@rediffmail.com 23

SW Process: Framework Act.

bharat_mybooks@rediffmail.com 24

SW Process: Umbrella Act.

Software project tracking and control

Formal technical reviews

Software quality assurance

Software configuration management

Document preparation and production

Reusability management

Measurement

Risk management

25

Thank U…!!!

bharat_mybooks@rediffmail.com