Top Banner
Software Processes
50
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software engineering

Software Processes

Page 2: Software engineering

Iteration in SDLC

1. Iteration assumes no one gets the right results the first time

2. Do some analysis, then some design, then do some further analysis, until you get it right

3. Not always realistic to complete analysis before starting design

4. Waterfall no longer applies - Phases become blurred5. Decisions are not frozen at the end of each phase6. Good for projects where requirement specifications are

hard to arrive at

Page 3: Software engineering

Iteration in SDLC

Iteration is the process of looping through the same development activities multiple times, sometimes at increasing levels of detail or accuracy

Page 4: Software engineering

A newer method: rapid prototyping (with iteration)

Requirements Gathering (Analysis)

QuickDesign

BuildPrototype

Evaluate and Refine Requirements

Engineer Project

Page 5: Software engineering

Rapid prototyping model

Rapid Prototype

Verify

Retirement

Operations

Test

Re-implementationVerify

Redesign

Req. Change

Page 6: Software engineering

Spiral model sectors

Objective settingSpecific objectives for the phase are identified

Risk assessment and reductionRisks are assessed and activities put in place to

reduce the key risksDevelopment and validation

A development model for the system is chosen which can be any of the generic models

PlanningThe project is reviewed and the next phase of the

spiral is planned

Page 7: Software engineering

Spiral Model

FediteC

Customer Evaluation

PlanningRisk

Analysis

Engineering

With each iteration around the spiral progressively more complete versions of the software are built.

The spiral model enables the developer, and the customer, to understand and react to risk at each evolutionary level. Each loop around the spiral implies that project costs and schedules may be modified.

This creates problems in fixed-price project.

Page 8: Software engineering

The Spiral Approach to Development

Project starts out handling few risksProject expands in next iteration to address

more risksEventually the system is completed (all risks

addressed)At the middle (start of the project) there is low

risk and project is still small easy to manageYou work out from the middle, expanding out

your project

Page 9: Software engineering

Spiral life cycle (cont.)

The spiral life cycle model.

Page 10: Software engineering

The Risk-Driven Approach.A different approach born out of theevolution of the Waterfall Model.Encompasses the previous models asspecial cases, and can make use of acombination of models.Risk analysis asks, “ What are the areas of

uncertainty, and what is the probability that they will slow the progress of development?”

Page 11: Software engineering

I. Software specification

The process of establishing what services are required and the constraints on the system’s operation and development

Requirements engineering processFeasibility studyRequirements and analysisRequirements specificationRequirements validation

Page 12: Software engineering

Design methods

Systematic approaches to developing a software design

The design is usually documented as a set of graphical models

Possible modelsData-flow modelEntity-relation-attribute modelStructural modelObject models

Page 13: Software engineering

Software validation

Verification and validation is intended to show that a system conforms to its specification and meets the requirements of the system customer

Involves checking and review processes and system testing

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

Page 14: Software engineering

METHODOLOGIES,MODELS,TOOLS & TECHNIQUES

A SYSTEM HAS A VARIETY OF AIDS TO ASSIST IN ANALYSIS AND DESIGN .AMONG THEM ARE METHODOLOGIES,MODELS,TOOLS & TECHNIQUES

Page 15: Software engineering

TECHNIQUES,MODELS & TOOLS IN SYSTEM ANALYSIS & DESIGN

TECHNIQUES MODELS

TOOLS

Page 16: Software engineering

METHODOLOGIES

IT PROVIDES GUIDELINES FOR COMPLETING EVERY ACTIVITY IN SYSTEM DEVELOPMENT LIFE CYCLE.

IT CONTAINS INSTRUCTIONS ABOUT HOW TO USE TECHNIQUES AND MODELS IN SYSTEM ANALYSIS .

Page 17: Software engineering

MODELS

FLOW CHARTDATA FLOW DIAGRAMENTITY RELATION SHIP DIAGRAMSTRUCTURE CHARTUSE CASE DIAGRAMCLASS DIAGRAMSSEQUENCE DIAGRAMS

Page 18: Software engineering

RECORDING INFORMATION ABOUT SOMETHING IN THE REAL WORLD,IS THE BASIC PURPOSE OF VARIOUS TOOLS USED IN SOFTWARE DEVELOPMENT.IT IS A REPRESENTATION OF SOMEIMPORTANT ASPECT OF THE REAL WORLD.IT IS AN ABSTRACTION OF AN ASPECT OFPARTICULAR IMPORTANCE TO USEXAMPLE:- MODEL OF A AIRPLANE :-It is important tohave a small model that shows its shape in 3 dimensions

Page 19: Software engineering

TOOLS:-

DRAWING/GRAPHICS APPLICATIONSWORD PROCESSORCOMPUTER AIDED SYSTEM

ENGINEERING TOOLSDATABASE MANAGEMENT

APPLICATION

Page 20: Software engineering

TOOLS:-

TOOLS IS A SOFTWARE SUPPORT THAT HELPS TO CREATE MODELS OR OTHER COMPNENTS REQUIRED IN THE PROJECT.

Page 21: Software engineering

TECHNIQUES:-

STRATEGIC PLANNING TECHNIQUESPROJECT MANAGEMENT TECHNIQUESUSER INTERVIEWING TECHNIQUESRELATIONAL DATABASE DESIGN TECHNIQUESSTRUCTURED ANALYSIS TECHNIQUESSTRUCTURED DESIGN TECHNIQUESSTRUCTURED PROGRAMMING TECHNIQUESSOFTWARE TESTING TEHNIQUESOBJECT ORIENTED ANALYSIS AND DESIGN

TECHNIQUES.

Page 22: Software engineering

A TECHNIQUE IN A SYSTEM DEVELOPMENT IS COLLECTION OF GUIDELINES THAT HELPS THE ANALYST COMPLETE THE SYSTEM DEVELOPMENT ACTIVITY OR TASK.

Page 23: Software engineering

EVENTS & EVENT TABLE

CONTEXT DIAGRAM

ENTITY RELATION SHIP

DIAGRAM

CLASS DIGRAMS

USE CASE DIAGRAMS

SCENARIOS

STATE CHART DIAGRAMS

SEQUENCE DIAGRAMS

DFD FRAGMENTS

DIAGRAM 0DETAILS DFDs

OBJECT ORIENTED APPROACH TRADITIONAL APPROACH

Page 24: Software engineering

STRUCTURED APPROACH TO ANALYSIS

OBJECT ORIENTED APPROACH TO ANALYSIS

INFORMAL APPROACH TO ANALYSIS

Page 25: Software engineering

HOW STRUCTURED ANALYSIS LEADS TO STRUCTURED DESIGN

MODERN STRUCTURED

ANALYSISEvents

Data flow diagramsEntity relationship diagram

STRUCTURED DESIGN

It defines the program modules

base upon the data flow diagrams

STRUCTURED PROGRAMMING

Program each module using programming language

Page 26: Software engineering

WEAKNESSES OF STRUCTURED APPROACH It is considered to be weak because critics desired a

more comprehensive and rigorous set of techniques to make system development more like an engineering discipline and less like an art.

Many people thought the transition from the data flow diagram in (structured analysis) to structure chart (in structured design) did not work well in practice

They thought that entity relationship diagrams and data modeling were much more important than modeling processes with the data flow diagram.

Page 27: Software engineering

SYSTEM FLOW CHART

Customer database

Order database

Inventory database

Catalog/Promotions database

Sales analysis program

Sales analysis reports

Maintain customer information

program

Customer order program

Order fulfillment program

Catalog maintainance

program

catalogs

Shipping documents

Shipper remote system

Accounting transaction

Page 28: Software engineering

STRUCTURE CHART FOR CREATE NEW ORDER PROGRAM

CREATE NEW ORDER

RECORD CUSTOMER

INFORMATION

BULD ORDER

PROCESS ORDER

TRANSACTION

PRODUCE CONFIRMATION

GET CUSTOMER

INFORMATION

CREATE CUSTOMER

RECORD

GET ORDER

INFORMATION

PROCESS ORDER ITEM

CHECK CREDIT

AUTHORIZATION

WRITE TRANSACTION

GET REQUESTED

ITEM

GET INVENTORY ITEMS

CREATE ORDER LINE

ITEMS

Customer information

Customer information

Customer information

Customer informationOrder line items

Order information Order id Valid flagCredit information

Order & payment info

Item informationPrice,QOH

Item id,qty

Order information

Customer information

Order financials

Page 29: Software engineering

ENTITY RELATIONSHIP DIAGRAM FOR CUSTOMER SUPPORT SYSTEM OF RMO

CustomerCustomer address

Billing address

Contact number

OrderOrder id

Order dateamount

A customer can place zero or more orderS (OPTIONAL CONDITION)

An order must be placed by exactly one customer

(MANDATORY CONDITION)

Page 30: Software engineering

Zero or more (optional)

One or more mandatory

Zero or one (optional)

Page 31: Software engineering

CustomerCustomer address

Billing addressContact number

OrderOrder id

Order dateamount

Order itemItem IDQuantity

price

Page 32: Software engineering

product

Inventory

catalog

shipper

Return item Order item shipment

customerorder

Order transaction

Page 33: Software engineering

Product_IDVENDORGENDERSEASON

DESCRIPTION

Inventory

SEASONYEAR

DESCRIPTIONEFFECTIVE DTAE

END DATE

shipper

Return itemOrder item shipment

customerorder

Order transaction

catalog

1 ..* 0 ..*

PRODUCT iTEM

10 ..*

1

0 ..*1

0 ..*

1

0 ..*

1* ..1

0 ..*1

0 ..*

11 1..*

CLASS DIAGRAM

Page 34: Software engineering

OBJECT ORIENTED APPROACH

Object Oriented Approach views an information system as a collection of interacting objects that work together to accomplish tasks

There are no processses or programs ;there are no files or data entities.

The system consists of objects.Object is a thing in the cmputer system that

is capable of responding messages

Page 35: Software engineering

Object Oriented Analysis means defining all of the types of objects that do the work in the system and showing how the objects interact to complete tasks.

Object Oriented Design means defining all of the additional types of objects necessary to communicate with people and devices in the system.

Page 36: Software engineering

OO Requierments:-EVENT TABLECLASS DIAGRAMUSE CASE DIAGRAMINTERACTION DIAGRAM(sequence

diagrams)

Page 37: Software engineering

A use case diagram is a graphical model that summarizes the information about the actors (external agents) and use case.

The uses are identifies by considering system as a whole.

These uses normally derive from the bussiness events identified in the event table.

Page 38: Software engineering

USE CASE DIAGRAM WITH SYSTEM BOUNDARY

Look up item availibility

Create new order

Update order

Order clerkCustomer

Automation Boundary

ORDER ENTRY SUBSYSTEM

Page 39: Software engineering

The Object Oriented Appraoch uses a term USE CASE to describe an activity the system carries out in response to an event.

You can think of a use case as a case or situation where the system is used for some purpose.

Page 40: Software engineering

USE CASE DIAGRAM WITH SYSTEM BOUNDARY

Look up order status

Create order return

Record back order

SHIPPERCustomer

Automation Boundary

ORDER FULFILLMENT SUBSYSTEMClerk

Record order fulfillment

Page 41: Software engineering

USE CASE DIAGRAM WITH SYSTEM BOUNDARY

Provide catalog

info

Update customer account

Distribute promotional

package

Marketing Dept.Customer

Automation Boundary

CUSTOMER MAINTAINANCE SUBSYSTEM

Clerk

Create customer charge

adjustment

Management

Page 42: Software engineering

USE CASE DIAGRAM WITH SYSTEM BOUNDARY

Create new catalog

Update catalog

Create special promotion

Merchandising Dept.

Automation Boundary

CATALOG MAINTAINANCE SUBSYSTEM

Page 43: Software engineering

Following symbols are used to represent a use case diagram:-

A person involved called an actor (represented by a stick figure).

Connecting lines to show which actors participate in use case.

The use case is symbolized by an oval with the name of the use case inside.

Page 44: Software engineering

Scenarios:-

A use case only shows that an actor interacts with the computer system to carry out a business activity .

Page 45: Software engineering

SEQUENCE DIAGRAM FOR Look Up Item Availability

CatalogProduct

ItemInventory

item

Customer

Item availability

details()

Item inquiry()

Product item enquiry ()

Product info()

Inventory item enquiry ()

Page 46: Software engineering

SEQUENCE DIAGRAM

IT SHOWS THE SEQUENCE OF THE INTERACTION BETWEEN OBJECTS THAT OCCURS DURING THE FLOW OF EVENTS OF A USE CASE.

Page 47: Software engineering

FOUR BASIC SYMBOLS ARE USED ON A SEQUENCE DIAGRAM:-

The actor symbolThe object symbol represented by a rectangleThe lifeline symbol represented by dashed line The message symbol represented by a

directional arrow with message description.

Page 48: Software engineering

customer :customer

:order

:Product item ::inventory item

:Order item

[New customer] create customer {customer information}

Existing customer Status:= Check status Customer Name ,phone NO

[First item] Create order

Add to order (product_id ,description, Qty)

Order complete (Credit card number)

Add item confirmation

Ready to ship()

{QOH > QTY }CreateItem (Item ID ,QTY)

Quantity:=CheckQuantity {Product id,Description,QTY)

Price=Check Price (Product ID)

SEQUENCE DIAGRAM FOR ORDER ENTRY SUBSYSTEM FOR CUSTOMER SUPPORT SYSTEM

Page 49: Software engineering

Key points

Requirements engineering is the process of developing a software specification

Design and implementation processes transform the specification to an executable program

Validation involves checking that the system meets to its specification and user needs

Evolution is concerned with modifying the system after it is in use

Page 50: Software engineering