Software engineering

Preview:

Citation preview

Software Processes

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

Iteration in SDLC

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

A newer method: rapid prototyping (with iteration)

Requirements Gathering (Analysis)

QuickDesign

BuildPrototype

Evaluate and Refine Requirements

Engineer Project

Rapid prototyping model

Rapid Prototype

Verify

Retirement

Operations

Test

Re-implementationVerify

Redesign

Req. Change

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

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.

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

Spiral life cycle (cont.)

The spiral life cycle model.

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?”

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

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

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

METHODOLOGIES,MODELS,TOOLS & TECHNIQUES

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

TECHNIQUES,MODELS & TOOLS IN SYSTEM ANALYSIS & DESIGN

TECHNIQUES MODELS

TOOLS

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 .

MODELS

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

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

TOOLS:-

DRAWING/GRAPHICS APPLICATIONSWORD PROCESSORCOMPUTER AIDED SYSTEM

ENGINEERING TOOLSDATABASE MANAGEMENT

APPLICATION

TOOLS:-

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

TECHNIQUES:-

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

TECHNIQUES.

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

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

STRUCTURED APPROACH TO ANALYSIS

OBJECT ORIENTED APPROACH TO ANALYSIS

INFORMAL APPROACH TO ANALYSIS

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

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.

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

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

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)

Zero or more (optional)

One or more mandatory

Zero or one (optional)

CustomerCustomer address

Billing addressContact number

OrderOrder id

Order dateamount

Order itemItem IDQuantity

price

product

Inventory

catalog

shipper

Return item Order item shipment

customerorder

Order transaction

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

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

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.

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

diagrams)

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.

USE CASE DIAGRAM WITH SYSTEM BOUNDARY

Look up item availibility

Create new order

Update order

Order clerkCustomer

Automation Boundary

ORDER ENTRY SUBSYSTEM

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.

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

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

USE CASE DIAGRAM WITH SYSTEM BOUNDARY

Create new catalog

Update catalog

Create special promotion

Merchandising Dept.

Automation Boundary

CATALOG MAINTAINANCE SUBSYSTEM

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.

Scenarios:-

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

SEQUENCE DIAGRAM FOR Look Up Item Availability

CatalogProduct

ItemInventory

item

Customer

Item availability

details()

Item inquiry()

Product item enquiry ()

Product info()

Inventory item enquiry ()

SEQUENCE DIAGRAM

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

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.

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

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

Recommended