PROJECT MILESTONES - PowerPoint PPT Presentation

About This Presentation
Title:

PROJECT MILESTONES

Description:

Introduction to Software Engineering What ... SE is a discipline whose aim is the production of fault-free software, ... design, programming, & testing had great ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 19
Provided by: Mohs7
Learn more at: http://cms.dt.uh.edu
Category:

less

Transcript and Presenter's Notes

Title: PROJECT MILESTONES


1
PROJECT MILESTONES
Group Presentations 5 mins presentations
2
Introduction to Software Engineering
3
What is Software Engineering?
  • Software?
  • Websters Dictionary the entire set of
    programs, procedures, and related documents
    associated with a system
  • Engineering?
  • Websters 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 users 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, itd 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 (gt50,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
  • gt conceptual independence
  • gt independence of effects
  • Information hiding implementation details are
    hidden from outside the object
  • gt reduce the level of complexity
  • gt Maintenance less costly
  • gt 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
Write a Comment
User Comments (0)
About PowerShow.com