Download presentation
Presentation is loading. Please wait.
Published byBeryl Scott Modified over 9 years ago
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. Don’t be afraid to cancel or revise scope. Divide and conquer. Design systems for growth and change.
7
Capability Maturity Model (CMM) Level 5 OPTIMIZED Level 4 MANAGED Level 3 DEFINED Level 2 REPEATABLE RISK COMPETITIVENESS Level 1 INITIAL
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)
19
Planning User storiesUser 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. Release planningsmall releasesProject Velocityiterations Iteration planning Move people aroundstand-up meeting Fix XP Designing SimplicitySimplicity. 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 possiblesystem metaphorCRC cardsspike solutionadded early Refactor 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.always availablestandardsunit test firstpair programmedintegrates code at a time Integrate oftencollective code ownershipoptimizationovertime 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 score is published.unit tests a bug is found Acceptance tests
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.