Top: 1 Software and Software Engineering - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Top: 1 Software and Software Engineering

Description:

Produces, manages, acquires, modifies, displays, or transmits information ... Controls other programs (e.g., an operating system) ... Postmortem ... – PowerPoint PPT presentation

Number of Views:110
Avg rating:3.0/5.0
Slides: 19
Provided by: roger278
Category:

less

Transcript and Presenter's Notes

Title: Top: 1 Software and Software Engineering


1
Top 1Software and Software Engineering
2
Softwares Dual Role
  • Software is a product
  • Produces, manages, acquires, modifies, displays,
    or transmits information
  • Software is a vehicle for delivering a product
  • Supports or directly provides system
    functionality
  • Controls other programs (e.g., an operating
    system)
  • Effects communications (e.g., networking
    software)
  • Helps build other software (e.g., software tools)

3
What is Software?
Software is a set of items or objects that form
a configuration that includes
programs documents data ...




4
What is Software?
  • software is engineered
  • software doesnt wear out
  • software is complex

5
Software Applications
  • system software
  • application software
  • engineering/scientific software
  • product-line software
  • WebApps (Web applications)
  • AI software

6
Legacy Software
Why must it change?
  • software must be adapted to meet the needs of new
    computing environments or technology.
  • software must be enhanced to implement new
    business requirements.
  • software must be extended to make it
    interoperable with other more modern systems or
    databases.
  • software must be re-architected to make it viable
    within a network environment.

7
Software Evolution
  • The Law of Continuing Change (1974) E-type
    systems must be continually adapted else they
    become progressively less satisfactory.
  • The Law of Increasing Complexity (1974) As an
    E-type system evolves its complexity increases
    unless work is done to maintain or reduce it.
  • The Law of Self Regulation (1974) The E-type
    system evolution process is self-regulating with
    distribution of product and process measures
    close to normal.
  • The Law of Conservation of Organizational
    Stability (1980) The average effective global
    activity rate in an evolving E-type system is
    invariant over product lifetime.
  • The Law of Conservation of Familiarity (1980) As
    an E-type system evolves all associated with it,
    developers, sales personnel, users, for example,
    must maintain mastery of its content and behavior
    to achieve satisfactory evolution.
  • The Law of Continuing Growth (1980) The
    functional content of E-type systems must be
    continually increased to maintain user
    satisfaction over their lifetime.
  • The Law of Declining Quality (1996) The quality
    of E-type systems will appear to be declining
    unless they are rigorously maintained and adapted
    to operational environment changes.
  • The Feedback System Law (1996) E-type evolution
    processes constitute multi-level, multi-loop,
    multi-agent feedback systems and must be treated
    as such to achieve significant improvement over
    any reasonable base.

8
Software Engineering A Layered Technology
Software Engineering
tools
methods
process model
a quality focus
9
A Process Framework
Process framework Framework activities work
tasks work products milestones deliverables QA
checkpoints Umbrella Activities
10
Framework Activities
  • Communication
  • Planning
  • Modeling
  • Analysis of requirements
  • Design
  • Construction
  • Code generation
  • Testing
  • Deployment

11
Umbrella Activities
  • Formal technical reviews
  • Software quality assurance
  • Software configuration management
  • Work product preparation and production
  • Reusability management
  • Measurement

12
The Process ModelAdaptability
  • the framework activities will always be applied
    on every project ... BUT
  • the tasks (and degree of rigor) for each activity
    will vary based on
  • the type of project
  • common sense judgment concurrence of the project
    team

13
Process Patterns
  • Process patterns define a set of activities,
    actions, work tasks, work products and/or related
    behaviors
  • A template is used to define a pattern
  • Typical examples
  • Analysis (an action)
  • Requirements gathering (a process task)
  • Reviewing a work product (a process task)
  • Design model (a work product)

14
Process Assessment
  • The process should be assessed to ensure that it
    meets a set of basic process criteria that have
    been shown to be essential for a successful
    software engineering.
  • The CMMI defines each process area in terms of
    specific goals and the specific practices
    required to achieve these goals.
  • Specific goals establish the characteristics
    that must exist if the activities implied by a
    process area are to be effective.
  • Specific practices refine a goal into a set of
    process-related activities.

15
Assessment and Improvement
16
Personal Software Process (PSP)
  • Recommends five framework activities
  • Planning
  • High-level design
  • High-level design review
  • Development
  • Postmortem
  • stresses the need for each software engineer to
    identify errors early and as important, to
    understand the types of errors

17
Team Software Process (TSP)
  • Each project is launched using a script that
    defines the tasks to be accomplished
  • Teams are self-directed
  • Measurement is encouraged
  • Measures are analyzed with the intent of
    improving the team process

18
The Primary Goal of Any Software Process High
Quality
Remember High quality project
timeliness Why? Less rework!
Write a Comment
User Comments (0)
About PowerShow.com