Download presentation
Presentation is loading. Please wait.
Published byLeona Nicholson Modified over 9 years ago
1
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box 44330 Lafayette, LA 70504, USA arun@cacs.usl.edu
2
Jump to first page (c) 1999, A. Lakhotia 2 Overview n Why Software Engineering? n What is Software Engineering?
3
Jump to first page (c) 1999, A. Lakhotia 3 Why Software Engineering?
4
Jump to first page (c) 1999, A. Lakhotia 4 To Develop Products to Solve Bigger Problems ProblemCode sizePerson times Class assignments20-200 lines4-5 days Assembler2,000 lines3 months Basic Interpreter15,000 lines4 years C Compiler (simple)25,000 lines8 years Optimizing, retargateable C compiler 290,000 lines40 years ATM Machines1 Million lines??? Telephone systems3 million lines
5
Jump to first page (c) 1999, A. Lakhotia 5 To Develop Reliable Products Reliability of system n P = Probability a component will fail n N = Number of components n Reliability = P * P *.. * P = P N NP = 0.5P = 0.99 10.50.99 100.009760.9043 1007.88 E –310.36603 1,000*******0.0000431 10,000*******2.248 E –44 100,000*************
6
Jump to first page (c) 1999, A. Lakhotia 6 To Manage Chaos Due to Communication
7
Jump to first page (c) 1999, A. Lakhotia 7 To Reduce Cost of Fixing Errors Phase in which error is detectedRelative cost of repair Requirements0.1 – 0.2 Design0.5 Coding1 Unit test2 Acceptance test5 Maintenance20
8
Jump to first page (c) 1999, A. Lakhotia 8 To Decrease Risks
9
Jump to first page (c) 1999, A. Lakhotia 9 What is Software Engineering? Definitions n Establishment and use of sound engineering principles in order to obtain economically software that is reliable and works on real machines. [Bauer, 1972] n The practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate, and maintain them. [Boehm, 1976] n Application of tools, methods, and disciplines to produce and maintain an automated solution to a real-world problem. [Blum, 1993] n Management of people, processes, and products and use of scientific knowledge to design, construct, validate, and maintain software products that are reliable, economical, and useful. [Lakhotia, 1995].
10
Jump to first page (c) 1999, A. Lakhotia 10 What is Software Engineering? n Manage: u People u Processes u Products n and use scientific knowledge to u Design u Construct u Validate u Maintain software products n that are: u Reliable u Economical, and u Useful
11
Jump to first page (c) 1999, A. Lakhotia 11 Manage Software Development Processes n Software process models u Life-cycle models u Process maturity models u Statistical process control models Process models provide a template of tasks performed during development, ordering of these tasks, and relative effort needed for each task.
12
Jump to first page (c) 1999, A. Lakhotia 12 Software Development Process Models: Waterfall model n Life cycle models: Waterfall model System Engineering Code Design Analysis Test Maintain
13
Jump to first page (c) 1999, A. Lakhotia 13 Software Development Process Model: Spiral Model n Life cycle models: Spiral model Described in class
14
Jump to first page (c) 1999, A. Lakhotia 14 Software Development Process Model: Waterfall model with V&V n Life cycle models: Waterfall model with V&V Described in class
15
Jump to first page (c) 1999, A. Lakhotia 15 Management of Products n Build models u Object-oriented models u Data models u Function models n Techniques u Requirement acquisition u User interface design u Formal specification u Coding standards and styles
16
Jump to first page (c) 1999, A. Lakhotia 16 Management of Products, cond. n Evaluate products u Testing u Code walkthrough u Review u Formal verification u Measure static properties u Measure dynamic properties u Measure reliability u Estimate bugs
17
Jump to first page (c) 1999, A. Lakhotia 17 Management of Products, contd. n Maintain u Port to different hardware or software platform u Add new features u Apply bug fixes u Manage versions u Manage configurations n Retire u Move to new technology u Extract business rules from dying code u Replace product without disruption
18
Jump to first page (c) 1999, A. Lakhotia 18 Management of People n Organization of teams n Communication protocols u Meetings u Reviews u Demonstrations u Log books n Incentives for quality and quantity n Measure productivity
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.