What is S.E? - PowerPoint PPT Presentation

About This Presentation
Title:

What is S.E?

Description:

What is S.E – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 20
Provided by: paulre2
Category:
Tags: projects

less

Transcript and Presenter's Notes

Title: What is S.E?


1
What is S.E?
  • Describe S.E in terms of its mistakes
  • Standish Group (www.standish.com)
  • US - 250 Billion on IT projects.
  • 31 projects are cancelled
  • 52.7 of projects will cost 189 of their
    original estimates
  • 81 billion (US) will be spent on cancelled
    projects
  • 59 billion (US) will be spent for software
    projects that will be completed but will exceed
    original estimates
  • SE defined - discipline whose aim is the
    production of fault free software delivered on
    time and within budget and satisfies user needs.
  • SE scope is broad - economics, psychology

2
Process of System Development
  • A system development process is a set of
    activities, methods, best practices,
    deliverables, and automated tools that
    stakeholders (Chapter 1) use to develop and
    maintain information systems and software.

3
Historical Aspects
  • Software Engineering was first coined in 1967 at
    a NATO SE conference - attempted to address
    software crisis
  • Problem - SE not really like normal engineering
  • Software not designed for all possible
    consequences
  • Hardware is getting faster - this means software
    is growing in size and complexity
  • Software maintenance can be a huge undertaking
    quite different from a bridge maintenance job.

4
Maintenance Aspects
  • Software development goes through a series of
    steps
  • requirements
  • design
  • implementation
  • integration
  • maintenance
  • Figure 1.2 page 11 - 67 is devoted to maintenance

5
Problems with Software Production
  • Software is complex - the hardest thing we humans
    do !!!!
  • Fred Brooks - No Silver Bullet
  • Complexity
  • Conformity
  • Changeability
  • Invisibility

6
Principles of System Development
  • Get the owners and users involved.
  • Use a problem-solving approach.
  • Establish phases and activities.
  • Establish standards.
  • Justify systems as capital investments.
  • Dont be afraid to cancel or revise scope.
  • Divide and conquer.
  • Design systems for growth and change.

7
Capability Maturity Model (CMM)
8
(No Transcript)
9

10
Alternative Routes through a Methodology
  • Model-Driven Development (MDD)
  • Rapid Application Development (RAD)
  • Commercial Off-the-Shelf Software (COTS)
  • Maintenance and Reengineering or hybrids of the
    above

11
Model-Driven Development Route
  • Modeling is the act of drawing one or more
    graphical representations (or pictures) of a
    system. Modeling is a communication technique
    based upon the old saying, a picture is worth a
    thousand words.
  • Model-driven development techniques emphasize the
    drawing of models to help visualize and analyze
    problems, define business requirements, and
    design information systems.
  • Structured systems analysis and design
    process-centered
  • Information engineering (IE) data-centered
  • Object-oriented analysis and design (OOAD)
    object-centered (integration of data and process
    concerns)

12
(No Transcript)
13

14
(No Transcript)
15

16

17

18
(No Transcript)
19
Planning User stories are written.Release
planning creates the schedule.Make frequent
small releases.The Project Velocity is
measured.The project is divided into
iterations.Iteration planning starts each
iteration.Move people around.A stand-up meeting
starts each day.Fix XP when it breaks.
Coding The customer is always available.Code
must be written to agreed standards.Code the
unit test first.All production code is pair
programmed.Only one pair integrates code at a
time.Integrate often.Use collective code
ownership.Leave optimization till last.No
overtime.
Designing Simplicity.Choose a system
metaphor.Use CRC cards for design
sessions.Create spike solutions to reduce
risk.No functionality is added early.Refactor
whenever and wherever possible
Testing All code must have unit tests.All code
must pass all unit tests before it can be
released.When a bug is found tests are
created.Acceptance tests are run often and the
scoreis published.
Write a Comment
User Comments (0)
About PowerShow.com