Download presentation
Presentation is loading. Please wait.
Published byHarvey Craig Modified over 9 years ago
1
BIT-8 Software Engineering (2+1)
2
2 Some Basic Definitions Software -- Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system. Engineering -- Application of systematic, disciplined, quantifiable approach to some process.
3
3 Resulting Definition Of Software Engineering Definition -- The application of systematic, disciplined, quantifiable approaches to software development, operation and maintenance.* * - IEEE Standard 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology, IEEE Standards Collection Software Engineering, IEEE (1997).
4
4 The Software Life Cycle Development Operation Maintenance Corrective Enhancement
5
Nature of Software Software is intangible. Software is developed or engineered, it is not manufactured in the classical sense. Software does not “wear out” but deteriorate. Although the industry is moving toward component-based assembly, most software continues to be custom built.
6
Software Success and Failure Satisfies user needs. Performs flawlessly. Easier to use. Easier to modify. Dissatisfies user needs. Error prone. Harder to use. Harder to modify.
7
7 Why do we need Software Eng. ? The “Software Crisis” First identified at NATO Conference, Garmisch, Germany, 1968 Characterized by software which is of poor quality over budget late
8
8 Where Is Software Engineering Today ? Although significant improvements have been made in specific areas, the rapidly evolving nature of the software industry has resulted in little overall improvement in the overall situation -- in fact …..
9
9 The Crisis Persists More than 30 years later, the software “crisis” is still with us Major problems are still the same: poor quality (correctness, bugs, usability, maintainability, etc) over budget delivered late, or not at all
10
10 Software Quality Problems Correctness, bugs, usability, etc Examples -- U.S. Strategic Air Command alert (Nov 9, 1979) -- alert scramble in response to report that Soviet Union had launched missile attack Therac 25 medical linear accelerator treatment device -- two patients died of severe overdoses of radiation (1985-1987) Gulf War (1991) -- U.S. Patriot missile defense failed to detect Scud missile due to time error -- 28 Americans died as a result. Assignment 1: Software Crisis/Failure in History
11
11 Schedule/Cost Problems An example -- U.S. Internal Revenue Service Hired Sperry Corporation to build automated income tax form processing system (1980-1985) --the resulting system couldn’t handle the work load, cost almost twice what was expected, and had to be replaced soon after initial installation. By 1996, the situation had not improved.
12
12 Not A Crisis -- But A Chronic Condition Software “Crisis” has lasted too long to be a crisis -- rather, it’s a persistent, chronic condition of the software business Software Engineering is the proposed solution to the problem. Its aims are: production of fault-free software, delivered on time and within budget, that satisfies the users’ needs, and is easy to maintain.
13
What is software? ????????
14
What is software? Computer programs and associated documentation Software products may be developed for a particular customer or may be developed for a general market Software products may be Generic - developed to be sold to a range of different customers Bespoke (custom) - developed for a single customer according to their specification
15
Software: In a Nutshell Software is set of items or objects that form a “configuration” that includes: Computer programs that produce information. System documentation that describe the manipulation of information. User documentation that describe the operation and use of the programs.
16
What are the attributes of good software? Maintainability Software must evolve to meet changing needs Dependability (reliability, security, safety) Software must be trustworthy Should not cause physical or economical damage. Efficiency Software should not make wasteful use of system resources Usability Software must be usable by the users for which it was designed The software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable
17
Importance of Product Characteristics The relative importance of these characteristics depends on the product and the environment in which it is to be used. In some cases, some attributes may dominate In safety-critical real-time systems, key attributes may be dependability and efficiency. Costs tend to rise exponentially if very high levels of any one attribute are required.
18
Software costs often dominate system costs. The costs of software on a PC are often greater than the hardware cost. Software costs more to maintain than it does to develop. Software engineering is concerned with cost-effective software development. Software: Costs
19
Efficiency Costs
20
Software Applications Generic categorization: System software, real-time software business software, engineering and scientific software embedded software, personal computer software, web-based software, and artificial intelligence software etc. How is the nature of software application determined? Information content and determinacy.
21
Software Poses Challenges
22
Why Software Engineering? Software development is not an easy Job ! Important to distinguish: “easy” systems (one developer, one user, experimental use only) “hard” systems (multiple developers, multiple users, products) ________________________________________________________ The problem is complexity Many sources, but size is key: UNIX contains 4 million lines of code Windows 2000 contains 10 8 lines of code Software engineering is about managing this complexity.
23
Software engineering and computer science? Computer ScienceSoftware Engineering is concerned with Computer science theories are currently insufficient to act as a complete foundation for software engineering, BUT it is a base for practical aspects of software engineering theory fundamentals Algorithms, date structures, complexity theory, numerical methods the practicalities of developing delivering useful software SE deals with practical problems in complex software products
24
Key challenges faced by software engineering Software engineering in the 21 st century faces three key challenges: Legacy systems Old, valuable systems must be maintained and updated Heterogeneity Systems are distributed and include a mix of hardware and software Delivery There is increasing pressure for faster delivery of software
25
Trends — Software Demand several hundred billion dollars/year spent worldwide and growing essential part of almost all organizations key part of many products embedded systems Software Demand 195 0 196 0 197 0 198 0 199 0 200 0 Personal computing, information, education Commercial Scientific & Technical
26
Trends — Software Effort (Cost) sample code sizes: hand-held bar code scanner: 10-50KLOC [Symbol Technologies Inc.] cellular telephone: 30KLOC [Motorola] automated teller network: 600KLOC [IBM] B-2 Stealth bomber: 3.5MLOC [Leonard Lee] telephone switch; Windows 95: 15MLOC [Nokia; Ted Lewis] Man-months 100200300400500600 2000 4000 6000 8000 1000’s of language statements
27
Software Engineering: In a Nutshell Software engineering (SE) is framework for building software with higher quality. Software engineering is an engineering discipline which is concerned with all aspect of software production form early stage of system specification to maintaining the system after it has gone into use (Sommerivlle, 2000).
28
http://www.mydropbox.com/ Click New User link 3vr64278z8sz
30
Course outline up gradation SNOTopicsDuration 1Introduction to Software Engineering1 2Software Process and Its Models2 3Agility Concepts and Models1 4PSP, TSP, Extreme Programming Model (XP)1 5 OHT – 1 5Object Oriented SE Concepts and Principles 6Modeling with UML 7Object Oriented Software Requirement Engineering OHT-2 8Object Oriented Analysis 9 System Design: Decomposing the system, Addressing design goal Total Weeks
31
Thank You!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.