CS 501: Software Engineering Fall 2000 Lecture 27 Software Engineering as Engineering.
Software engineering
-
Upload
rekha-ghanate -
Category
Documents
-
view
455 -
download
2
Transcript of Software engineering
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