Presentation is loading. Please wait.

Presentation is loading. Please wait.

PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.

Similar presentations


Presentation on theme: "PROJECT MILESTONES Group Presentations: ~ 5 mins presentations."— Presentation transcript:

1 PROJECT MILESTONES Group Presentations: ~ 5 mins presentations

2 Introduction to Software Engineering

3 What is Software Engineering? Software? –Webster’s Dictionary: “the entire set of programs, procedures, and related documents associated with a system” Engineering? –Webster’s Dictionary: “The practical applications of scientific and mathematical principles”

4 What is Software Engineering? SE is a discipline whose aim is the production of fault-free software, on time, within budget, that satisfies the user’s needs.

5 Scope of Software Engineering Scope of SE is extremely broad –Historical aspects –Economic aspects –Maintenance aspects –Specification and Design aspects –Team Programming aspects

6 Historical Aspects The Term Software Engineering first used at the 1968 NATO conference Aim: to solve the “Software Crisis” Software Crisis: low quality, over budget, and late. Software Engineering Versus other Engineering fields.

7 Historical Aspects cont. building bridges vs operating systems? –Bridge collapse vs OS crash –perfect engineering vs fault tolerance –Complexity: bridges are analog. Described by continuous mathematics. software systems are discrete. The total number of all possible states can be vast. Some not considered by developer

8 Historical Aspects cont. –Maintenance software maintenance is much more complex Corrective maintenance Enhancement maintenance –SE is fairly new (~25 years)

9 Economic Aspects Software Engineering Versus Computer Science –Computer scientist: investigate all solution to a problem –Software engineer: interested only in those solutions that make sound economic sense. short term effects Versus long term effects –Phases of the Software Life Cycle

10 Maintenance Aspects Phases of Life Cycle –Requirements –Specifications –Design –Implementation –Integration –Maintenance –Retirement Cost of all phases must be taken into account

11 Maintenance Aspects Cont. Maintenance is a very costly phase Fig. 1.2: Maintenance constitutes 67% of total cost Good software is maintained--Bad software is discarded Different types of maintenance –corrective maintenance [20%] –enhancement adaptive maintenance [20%] perfective maintenance [60%]

12 Specification and Design Phase Errors exist Better to fix errors during earlier phases –cost increases very sharply (see Fig 1.4& 1.5) 60 to 70% of faults are specification and design faults –need new techniques to avoid errors during Spec. and Design phases.

13 Team Programming Aspects Hardware cheap -- can build products too large to be built by one person in available time. Team projects –Interface problems –Communication: Meetings/conferencing –Team Organization –Suppose a product takes 1 programmer 1 year –Generally, it’d take a group of 4 programmers more than 3 months

14 Structured Vs. Object-Oriented Paradigms Structured paradigm (1975-1985) –structured systems analysis, design, programming, & testing –had great success initially –Started to fail with larger products (>50,000 LOC). Did not SCALE UP. –Reason: either action oriented or data oriented but not both.

15 Object-Oriented Paradigm Both data and actions are of equal importance Object: Software component that incorporates both data and the actions performed on that data. Example: –Bank account data: account balance actions: deposit, withdraw, determine balance

16 OO Paradigm Cont. Object-Oriented paradigm(see Fig. 1.6) –Encapsulation: actions done on an object are implemented within that object ==> conceptual independence ==> independence of effects –Information hiding: implementation details are hidden from outside the object ==> reduce the level of complexity ==> Maintenance less costly ==> Object reuse

17 Transition from Analysis to Design Structured paradigm: –Analysis : determine what product is to do –Design: architectural design: project is broken into modules Detailed design: each module is designed (data structures and algorithm for each module) Transition is too sharp

18 Transition from Analysis to Design OO paradigm: –Object-Oriented Analysis: determine what the product is to do extract the objects –Object-Oriented design detailed design of the objects Objects enter the Life Cycle at early stage


Download ppt "PROJECT MILESTONES Group Presentations: ~ 5 mins presentations."

Similar presentations


Ads by Google