Download Introduction And Issues-Basic Software Engineering-Lecture Slides and more Slides Software Engineering in PDF only on Docsity! Software Engineering docsity.com Software ? “Computer software, or just software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system”. Cockburn, Iain M. & MacGarvie, Megan (2007): "Patents, Thickets, and the Financing of Early-Stage Firms: Evidence from the Software Industry," NBER Working Papers 13644. docsity.com Software Life Cycle
>» Concept
>» Concept Exploration
Software
Concept
L
Requirements
> System Exploration
A > Requirements Analysis
> Architectural Design
A > Detailed Design
le
> Implementation
> Development
Coding and
Debugging
Deployment &
Maintenance
> Production
> Operations
docsity.com
Software Life Cycle Activities
Possibte Deliverables by Phase
Concept Document
Statement of Work (SOW)
Project Charter
RFP & Proposal
Software
Concept > Requirements Document (Software Requirements Specification)
> Work Breakdown Structure (BS)
Ly Requirernents > Functional Specification (Top Level Design Specification)
» Entity Relationship Diagram
> Data Flow Diagram
lysis > Detailed Design Specification
> Object Diagrams
> Detailed Data Model
Software Development Plan
(Software Project Management Pian)
Baseline Project Plan > Coding Standards
Quality Assurance Plan >» Working Code
Configuration Management Plan > Unit Tests
Risk Management Plan L,| Coding and
Debugging
> Integrated Modules
» Tested Application
> Acceptance Test Sign-off
Integration Plan
Detailed SQA Test Plan > Maintenance Specification
SQA Test Cases > Deployed Application
Acceptance Test Procedures > Post-Performance Analysis
Deployment &
User Documentation
Maintenance
>
> Training Plan
>
>
Support Plan
Release Checklist
docsity.com
Software Market Growth World software industry was estimated as ; $208.6 billion in 1994, $229 billion in 1995, $233 billion in 1997, $300 billion in 2000. Annual Growth Rate: 17% during 1993 to 1997 Job opportunity: European software industry employs 1 million software people during 1996, Indian software market worth $10 million in 1987, which was $2.2 billion during 1997, and employed 55,000 software professionals per year. Israel software industry employed 40,000 software people during 1996, Turkey 10,000 software professionals were engaged. Software Export during 1998 from Pakistan was $20 million, which was estimated to be $60 million in 2000. “there were over 800 software houses in Pakistan, employing around 13,000 persons. PSEB fixed a software export target of US$1 billion for the year ended 2003 previously it was US$ 24 million” Pakistan Software Export Board (PSEB, March 2004). United Kingdom (2002- 2003): total of 2.3 billion pounds spent on ICT projects vs 1.4 billion on roads docsity.com
Trade-off Triangle
Fast, cheap, good. Choose two.
Schedule
docsity.com
Trade-off Triangle Know which of these are fixed & variable for every project docsity.com Problems-Type 1: Development Issues Customer pressure of early development, Requirement creeps, Nature of software, Short time for development Tough competition in the global software market, Quick development with capability of competing the rivals Meet the quality standards according to the requirements specified. docsity.com Problems-Type 1: Development Issues: Treating Symptoms Doesn’t Solve the Problem Symptoms needs not met requirements churn modules don’t fit hard to maintain late discovery poor quality poor performance colliding developers build-and-release Root Causes insufficient requirements ambiguous communications brittle architectures overwhelming complexity undetected inconsistencies poor testing subjective assessment waterfall development uncontrolled change insufficient automation Diagnose docsity.com Problems-Type 1: Development Issues: Addressing Root Causes Eliminates the Problems Best Practices Develop Iteratively Manage Requirements Use Component Architectures Common notation Verify Quality Control Changes Best Practices Root Causes insufficient requirements ambiguous communications brittle architectures overwhelming complexity undetected inconsistencies poor testing subjective assessment waterfall development uncontrolled change insufficient automation Symptoms needs not met requirements churn modules don’t fit hard to maintain late discovery poor quality poor performance colliding developers build-and-release docsity.com Problems-Type 2: People Issues: Software is a job for Teams Project Manager/ Physicist Release EngineerAnalyst/Physicist Developer/ Physicist Tester/ Physicist Challenges • Large teams and time sharing • Need for Specialization • Distribution • Rapid technology change Process Manager/ Physicist docsity.com Software Project Failure? Terminated because of cost or schedule overruns. Cost or schedule overruns in excess of 50% of the original estimate Project results: Client lawsuit for contractual noncompliance docsity.com Case Study: The Ugly Side of the Software Industry The Grounding of the Advanced Automation System In 1981, the U.S. Federal Aviation Administration (FAA) announced the Advanced Automation System (AAS) which was to modernize air-traffic control using sophisticated computer systems. 15 years and billions of dollars later, the AAS is an example of everything that can go wrong in the world of software development. IBM Federal Systems was awarded the contract in 1989 after a 4 year bid process. Initial estimate for code to be developed was 1.5 million lines of code (LOC). Initial cost estimate for the AAS was estimated at 2.5 billion dollars in 1983. Deployment of the system was targeted for 1990-91. In 1987, the new estimate increased to 4.3 billion and deployment slipped to 1994-95. In June, 1994, it was decided that the AAS in its current incarnation would never see the light of day at a loss of 1.3 billion dollars. In May, 1995, a new scaled down version of the AAS was awarded to Lorel at a estimated cost of 1.5 billion with a deployment date of 1997. docsity.com The FAA wanted a 99.99999 percent reliability, system downtime of no more than 3 seconds a year. This was a unprecedented level of reliability at the time. The FAA wanted console features that the air controllers did not want. Some of these features the FAA wanted were not possible to achieve. The AAS contract required that the 210 consoles in the same facility be able to operate simultaneously at peak load. Only 56 consoles were ever able to operate in this mode. Because of time constraints, system testing was deferred to later dates in order to build key software. Unfortunately, the progress reports did not reflect this reality. When testing was done, it was performed by many diverse organizations with IBM. This created confusion and inefficiency Things That Doomed the AAS docsity.com Solution for the Problem Success Criteria: Follow some discipline approach i.e. timely production of the quality software with in allocated budget in accord with the specified requirements. docsity.com Home Readings “No Silver Bullet-Essence and Accidents of Software Engineering”, By F. P. Brooks, Jr, University of North Carolina at Chapel Hill “PEOPLE, PROCESS, AND PRODUCT” by Dwayne Phillips docsity.com