Introduction To Software Engineering: Prepared by
Introduction To Software Engineering: Prepared by
Introduction To Software Engineering: Prepared by
Prepared By:
Pooja Thakar (Assistant Professor)
1
Understanding Software Software Crisis Software Myths Need and Objective of S/W Engineering Define S/W Engineering S/W Process Characteristics of S/W
S/W Applications
SDLC Models
2
PROGRAMS
DOCUMENTATION
OPERATING PROCEDURES
Components of Software
Formal Specifications Analysis / Specifications Context Diagram DFD Flowchart Design Documentation Manuals E R Diagrams
Source Code Listings Implementation Cross Reference Listings Test Data Testing Test Results
4
System Overview User Manuals Operating Procedures Beginners Guide Tutorial Reference Guide
31% projects cancelled 53% over run cost estimation (approx. 189% more) 94/100 projects restarts
Examples of Failures
Y2K Problem Patriot Missiles vs Scud Missiles Ariane- 5 space rocket
6
CASE Computer Aided S/W Engineering Tools may help a bit, no guarantee
Management
Myth We have books for s/w development Reality is it used?
Consumer
Myth A general statement of objective is sufficient. Details can be filled later. Reality more chances of s/w failure Myth Changes can be easily accommodated because s/w is flexible. Reality may increase cost and time needed many folds with no assurance of success
Myth If we get behind schedule, we can add more developer and catch up
Reality may increase time indeed, as time needed for educating newcomers
Other Myths
Computer provide greater reliability than the devices they replace. only if s/w is working as per expectation of the customer and is maintainable Testing s/w or provings/w correct can remove all errors testing shows presence of errors not the absence Reusing s/w increases safety not necessary S/w can work right the first time S/w can be designed thoroughly enough to avoid most integration problems S/w with more features is better s/w
List is ENDLESS
9
Software Process
the way in which we produce software To compete in this competitive world need effective S/W development processes
4.
Time
Comparison
S. No. 1 2 3 4 5 6 7 Constructing a bridge Problem Well understood Many samples (existing bridges ) Requirements do not change much Strength and stability can be calculated If collapse, detailed investigation Constructing experience 1000 of yrs. Materials and techniques change slowly Writing a program
12
13
2. 3. 4.
Software is not manufactured its developed/ engineered Reusability of Components Software is Flexible
Software Applications
System s/w Engineering and Scientific s/w Web Based s/w AI s/w
RAD
Build
Fix
Adhoc approach
Two-phase model Work well on small programs (100-200 lines) No room for structured design
16
SDD
Implementation and Unit Testing Integration and System Testing Operation and Maintenance
17
Should be used where the requirements and their implementation are well understood
18
Prototyping Model
Requirements
Quick Design
Implement
Customer Evaluation Design Implementation and Unit Testing Integration and System Testing Operation and Maintenance
Developed as per current available requirements Use this to refine the requirements
Require extensive participation and involvement of customer, which is not always possible
Sometimes the first system build is barely useable, it may be too slow, too big, awkward in use. User may demand this quick fix model. May not be able to produce good quality product and then problem of maintainability.
The code for prototype is thrown. Thus act as input to waterfall model
20
Design
same phases as waterfall, but few restrictions Conducted in several cycles, useable product released at every cycle with additional functionality Does not deliver operational quality product at each release. Customer is able to do some useful work from first release
21
Should be used when it is not necessary to provide a minimal version want to implement new technology not well known
22
23
Spiral Model
Determine objectives alternatives, constraints
Planning
Risk Analysis
Assessment
Development
Develop, verify next-level product
24
Spiral Model
25
Focus is identification of problems and the classification of these in different level of risks, so as to eliminate high-risk problems first Each phase is completed with a review by the concerned people Wide range of options to accommodate the good features of other life cycle models.
26
Requirements Planning
User Description
Construction
Cut Over
Proposed by IBM in 1980s User involvement necessary from requirement phase to delivery Start with building rapid prototype and given to user for assessment, so quick initial views possible
27
28