Cmpe 589 - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Cmpe 589

Description:

The art of producing systems involves the craft of ... Software Lifecycle Models. Fourth Generation ... Defect density - model for testing. Configuration ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 19
Provided by: ayseb2
Category:
Tags: art | cmpe | models

less

Transcript and Presenter's Notes

Title: Cmpe 589


1
Cmpe 589
  • Spring 2006
  • Lecture 2

2
Software Engineering
  • Definition
  • A strategy for producing high quality software.

3
Software Engineering
  • Definition Of High Quality Software
  • It must be useful (to the original customer).
  • It must be portable (work at all of the
    customers sites).
  • It must be maintainable.
  • It must be reliable.
  • It must have integrity (produces correct results,
    with a high degree of accuracy).
  • It must be efficient.
  • It must have consistency of function (it does
    what the user would, reasonably expect it to do).
  • It must be accessible (to the user).
  • It must have good human engineering (easy to
    learn and easy to use).

4
Software Development Models
  • Systems Approach
  • Definition of a system (a collection of
    things)
  • A set of entities.
  • A set of activities.
  • Descriptions of entity relationships.
  • System boundaries.
  • Distinguish between activities (processes,
    methods) and objects (data).
  • Determine the relationships between the objects.

5
Software Development Models
  • Advantages Of Bounded Systems
  • Makes problem identification easier.
  • (It is often useful to think of a system as a
    sub-system, for the purpose of extension).

6
Software Development Models
  • Software Engineering Approach
  • The art of producing systems involves the craft
    of programming.
  • Fabricating software using "off the shelf"
    components.
  • Why Doesnt This Work Well
  • Customers are not capable of describing their
    needs completely or precisely.
  • Customers change the specifications.

7
Software Lifecycle Models
  • Phases
  • Requirements, analysis, and design phase.
  • System design phase.
  • Program design phase.
  • Program implementation phase.
  • Unit testing phase.
  • Integration testing phase.
  • System testing phase.
  • System delivery phase.
  • System delivery.
  • Maintenance.

8
Software Lifecycle Models
  • Waterfall Model
  • Errors require at least one step back in the
    cycle.
  • Change Failure.

9
Software Lifecycle Models
  • Rapid Prototyping Model
  • Start with user interface (probably most
    important to customer).
  • When customer is happy with that, then work on
    the behind the scenes stuff.
  • Customer is involved throughout the entire
    process.

10
Software Lifecycle Models
  • Spiral Model
  • Prototyping is used to reduce risk.

11
Software Lifecycle Models
  • Fourth Generation Techniques
  • (Usually a tool that generates the code, through
    the use of a graphical interface).
  • Non-procedural data-base query languages.
  • Some type of report generator.
  • Often capable of high-level graphics.
  • Spreadsheets.

12
Capability Maturity Model
  • (A Strategy For Improving The Software Process).
  • Maturity Models
  • Level One Initial Process
  • Ad-hoc approach to software design.
  • Inputs are ill defined.
  • Outputs are expected (transitions not defined or
    controllable).

13
Capability Maturity Model
  • Level Two Repeatable Process
  • Requirements are input.
  • Code output.
  • Constraints - budget time.
  • Metrics - project related
  • Software size.
  • Personnel effort.
  • Requirement validity.
  • Employee turnover.

14
Capability Maturity Model
  • Level Three Defined Process
  • The activities of the process have clearly
    defined entry exit conditions.
  • Intermediate products - well defined and easily
    visible.
  • Metrics
  • Requirements complexity.
  • Code complexity.
  • Failures discovered.
  • Code defects discovered.
  • Product defect density.
  • Pages of documentation.

15
Capability Maturity Model
  • Level Four Managed Process
  • Information from early process activities can be
    used to schedule later process activities.
  • Metrics
  • Defined and analyzed to suit the development
    organization.
  • Data
  • Process type.
  • Producer reuse.
  • Consumer reuse.
  • Defect identification mechanism.
  • Defect density - model for testing.
  • Configuration management scheme.
  • Module completion rates over time.

16
Capability Maturity Model
  • Level Five Optimizing Processes
  • Measures from activities are used to improve
    processes.

17
Capability Maturity Model
  • How Are Metrics Used?
  • Assess the process level.
  • Determine metrics to use.
  • Recommend metrics, tools, techniques.
  • Estimate project costs and schedule.
  • Collect metrics at the appropriate level.
  • Construct a project database.
  • Evaluate cost and schedule.
  • Evaluate productivity and quality.
  • Form a basis for future estimates.

18
Capability Maturity Model
  • Benefits Of Process Maturity And Metrics
  • Enhanced understanding of the process.
  • Increased control over the process.
  • Clear migration path to a more mature process.
  • More accurate estimates of cost and scheduling of
    staff.
  • More objective evaluation of changes needed
    (techniques, tools, methods, ect.).
  • More accurate estimation of changes on project
    cost and schedule.
Write a Comment
User Comments (0)
About PowerShow.com