Introduction And Issues-Basic Software Engineering-Lecture Slides, Slides of Software Engineering

This lecture was delivered by Sahat Adrut for Software Engineering course at B R Ambedkar National Institute of Technology. It includes: Computer, Software, Program, Procedure, Documentation, Engineering, Technical, Scientific, Knowledge

Typology: Slides

2011/2012

Uploaded on 07/17/2012

baisakhi
baisakhi 🇮🇳

4

(25)

94 documents

1 / 26

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software
Engineering
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Partial preview of the text

Download Introduction And Issues-Basic Software Engineering-Lecture Slides and more Slides Software Engineering in PDF only on Docsity!

SoftwareEngineering

Software? ^ “Computer software,

or just^ software

is a

general term used to describe a collection ofcomputer programs, procedures anddocumentation that perform some tasks on acomputer 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.

Software Engineering? ^ Software engineering

is the application of a systematic,

disciplined, quantifiable approach to the development, operation,and maintenance of software.[1] It encompasses techniques andprocedures, often regulated by a software development process,with the purpose of improving the reliability and maintainability ofsoftware systems [2]  “A discipline that encompasses the process associated withsoftware development, the methods used to analyze, design andtest computer software, the management techniques associatedwith the control and monitoring of software projects and the toolsused to support process, methods, and techniques”.  Software:^ programs, documents and data [1] “IEEE Standard Glossary of Software Engineering Terminology,” IEEE std 610.12-1990, 1990, quoted at the beginning of Chapter 1: Introduction tothe guide "Guide to the Software Engineering Body of Knowledge" (February 6, 2004). Retrieved on 2008-02-21[2]^ Pecht, Michael (1995).^

Product Reliability, Maintainability, and Supportability Handbook

. CRC Press. ISBN 0-8493-9457-

[3] R.S. Pressman &Associates, Ins http://www.rspa.com/spi/glossary.html

Software Life Cycle

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, andemployed 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 millionin 2000.^ ^ “there were over 800 software houses in Pakistan, employing around 13,000 persons. PSEB fixeda 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 onroads

Crisis:

“The nightmare” ^ Industry Experts Declare a Software Crisis^ ^ Wall Street Journal - November 1964. ^ The problem still persists... ^ Software’s Chronic Crisis-^ Scientific American, September 1994 ^ Danger: Software At Work-^ Report on Business Magazine, March 1995 ^ How Software Doesn’t Work-^ Byte, December 1995 ^ Trust Me, I’m Your Software-^ Discover Magazine, May 1996 ^ Cancelled Contracts Cost Ottawa Millions-^ Globe and Mail, September 1996

Trade-off Triangle ^ Fast, cheap, good. Choose two.

Trade-off Triangle ^ Know which of these are fixed & variablefor every project

Problems-Type 1: Development Issues:Symptoms of Software Problems ^ Misinterpreted needs ^ Hard to maintain and extend ^ Unable to deal with changing constraints ^ Modules don’t fit together ^ Poor design and software quality ^ Unacceptable performance ^ Discover design flaws too late ^ Can’t reconstruct who changed what, when, why ^ Unreliable build-and-release process

Problems-Type 1: Development Issues:Root Causes of Software Problems ^ Insufficient requirements management ^ Ambiguous and imprecise communications ^ Brittle architectures ^ Overwhelming complexity ^ Undetected inconsistencies among requirements, designs,and code ^ Inadequate testing ^ Inadequate training ^ Subjective project status assessment ^ Delayed risk reduction due to waterfall development ^ Uncontrolled change propagation ^ Insufficient automation

Problems-Type 1: Development Issues:Addressing Root Causes Eliminates the Problems

Best Practices^ DevelopIterativelyManageRequirementsUse Component Best ArchitecturesCommonnotationVerify QualityControl Changes BestPracticesPractices Root Causesinsufficientrequirementsambiguouscommunicationsbrittle architecturesoverwhelmingcomplexityundetectedinconsistenciespoor testingsubjective assessmentwaterfall developmentuncontrolled changeinsufficientautomation Symptomsneeds not metrequirements churnmodules don’t fithard to maintainlate discoverypoor qualitypoor performancecolliding developersbuild-and-release

Problems-Type 2: People Issues:Software is a job for Teams

Project Manager/Physicist

ReleaseEngineer Analyst/Physicist

Developer/PhysicistTester/Physicist

Challenges• Large teams and timesharing• Need for Specialization• Distribution• Rapid technologychange

Process Manager/Physicist

Worst Practices " There are two kinds of failures: those who thought but never did, ^ In Software industry;^ ^ Worst failures fall under the second category.^ ^ We have a tendency to ignore the pitfalls,^ ^ Repeat our mistakes^ ^ Never learn from our disasters

and those who did and never thought."

An old saying.

Software Project Failure? ^ Terminated because of cost or schedule overruns. ^ Cost or schedule overruns in excess of 50% of theoriginal estimate ^ Project results: Client lawsuit for contractualnoncompliance