1 / 41

Software Engineering

Introduction. The increasing popularity and importance of software, e.g.,? Automatic bank tellers? Airline reservation systems? Air traffic control systems? Financial investment systems. Introduction. Early Stage of Software Development? Programs were fairly small. ? A Program was written by

geranium
Download Presentation

Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Software Engineering ECE473/573 Class notes

    2. Introduction The increasing popularity and importance of software, e.g., – Automatic bank tellers – Airline reservation systems – Air traffic control systems – Financial investment systems

    3. Introduction Early Stage of Software Development – Programs were fairly small. – A Program was written by a single programmer. – The programmer was the user of the program. – Software development was considered an art.

    4. Introduction Current Stage of Software Development – Programs are fairly large, e.g. Programs are fairly large, e.g. • The UNIX Operating System comprises 3.7 million lines of code. • The NASA Space shuttle software comprises 40 million lines of object code. – Programs are being developed by teams that collaborate over periods spanning several years.

    5. Introduction – Programmers are not the users of the system they develop, and they have no expert knowledge of the application system they develop. • Software development has become an Engineering discipline.

    6. Software Engineering Software engineering is the systematic approach to the development, operation, maintenance, and retirement of software (IEEE standard glossary).

    7. The SEI Levels of Maturity

    8. Towards a Disciplined Realistic Software Development Process <Common Programming Practice> conceptualize: think about the problem write code: express your ideas directly in programming form debug: execute and modify the code until it does what you want

    9. Idealized Software Development Process

    10. More Realistic Process

    11. Concepts to be developed

    12. Software Life Cycle From initial development to release, running and maintenance, the software life span is divided into different phases. Each phase has a milestone product.

    13. Software Life Cycle

    14. The Waterfall Life Cycle Model

    15. The Waterfall Life Cycle Model

    16. The Waterfall Life Cycle Model

    17. Prototyping Life Cycle Model

    18. Incremental Life Cycle Model

    19. Incremental Life Cycle Model

    21. The Spiral Model

    22. Full Spiral Model

    23. Full Spiral Model (contd)

    24. Analysis of the Spiral Model

    25. Criteria for deciding on a model

    26. Coordination in Team-based Software Development: Role of the “Blueprint”

    27. Team Work: The Need for Coordination

    28. Two Forms of Organization Democratic, Hierarchical

    29. Software Blueprint: A Mediating Element For Team Coordination.

    30. Software Blueprint as a contract between designer, implementer and tester

    32. Gantt Chart

    33. PERT Chart

    34. Software Cost Estimation

    35. Source Lines of Code

    36. The Scale Drivers

    37. COCOMO II Effort Equation

More Related