310 likes | 451 Views
An Introduction to Object-Oriented Analysis Objects and UML in plain English. Chapter 6: The Object-Oriented Development Life Cycle. Based on the book by David William Brown. John Wiley & Sons, ISBN 0471371378. Chapter 6: The Object-Oriented Development Life Cycle (OODLC).
E N D
An Introduction toObject-Oriented AnalysisObjects and UML in plain English.Chapter 6: The Object-Oriented Development Life Cycle Based on the book by David William Brown John Wiley & Sons, ISBN 0471371378
Chapter 6: The Object-Oriented Development Life Cycle(OODLC) 6.1. The Life Cycle 6.2. The Object-Oriented Analysis Phase 6.3. The Object-Oriented Design Phase 6.4. The Construction Phase 6.5. The Object-Oriented Testing Phase 6.6. The Maintenance Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.1. The Life Cycle • The OODLC is an update of the older SDLC • In this chapter we will overview the OODLC • Beginning in Chapter 7 we will look at detailed step-by-step methods for doing the Analysis Phase. • The aim in this chapter is to see how all the pieces fit together. • We examine the Analysis Phase in detail since it is the focus of this course.
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.1. The Life Cycle
Chapter 6: The Object-Oriented Development Life Cycle(OODLC) 6.1. The Life Cycle 6.2. The Object-Oriented Analysis Phase 6.3. The Object-Oriented Design Phase 6.4. The Construction Phase 6.5. The Object-Oriented Testing Phase 6.6. The Maintenance Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis Phase • In Analysis we model the users’ requirements • For what the eventual system mustDO. • Output of this process is aconceptual model • The conceptual model consists of 3deliverables: • Requirements Model • Object Model • Statechart model
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis Phase Requirements Model Now let’s look at these in detail. . . The Requirements model has 5 components: • Project Scope • Context Diagram • Use Case Model • Interface Descriptions • Feasibility study
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis Phase Requirements Model • TheProject Scopeis a statement ofwhat our project is to produce. • States in general terms what the system will do for the users. • What functions will be part of it. • Which user it will service. • May be a paragraph or two, Or many pages, depending on the size of the project. • There is much variation in size and format among companies and methodologies.
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis Phase Requirements Model • It is also important that the Scope say what the systemwill notdo, • Otherwise the users will try to“push the scope” • Which causes“Scope Creep.”
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis Phase Requirements Model The Context Diagram: • Shows our system as a large box, • Surrounded by smaller boxes, • RepresentingExternal Entities: • ie., People, organizations, systems and other thingsoutside our system that either provide data to it or draw data from it.
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis Phase Requirements ModelContext Diagram Requests Financial Reports Radio CHQT Advertisers Database System Revenue Canada Advertisers Billing Quarterly Reports Regulatory Authorities Shareholders Program Info Statistics & Reports Credit Ratings Better Business Bureau Listeners
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis PhaseUse Case Model • Proposed by Jacobson et al. 92. • A Use Caseis a script, • A step-by-step description of how a user might make use of the system • To do a task. • It is a“case of the usage of the system.” • See Ch 7 for details.
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis PhaseInterface Descriptions • GUI: interface to users • Interface to other I.S. Systems: • Real-World systems that we control communications interfaces: • System (hardware/software network protocols) interfaces • Person-machine interfaces
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis PhaseFeasibility Analysis • Can we do this project? • Should we? • Can we make it work? (e.g. need technical resources) • Is the cost worth it? (is it worth spending the money) • Do we have enough time to finish it?
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis PhaseFeasibility Analysis • In other words: • Operational feasibility • Technical feasibility • Schedule feasibility • Economic feasibility
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis PhaseFeasibility Analysis • Operational feasibility • Will the proposed system do the job being asked for? • response time, throughput, … • Will it work in this company? • political acceptability, management of changes • It is worth the effort to find a solution? • Will it has positive impact on the working lives of the users? • Will it increase company revenue and/or cut costs?
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis PhaseFeasibility Analysis • Technical feasibility • Hardware and software • Capacity (PDAs for e-map) • Availability (Can we get what we don’t have?) • Technical knowledge • Training • Consultants
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis PhaseFeasibility Analysis • Schedule feasibility • Can it be done in the time allowed? • Which deadlines are mandatory and which are desired? • Late panalties
Chapter 6: The Object-Oriented Development Life Cycle (OODLC)6.2. The Object-Oriented Analysis PhaseFeasibility Analysis • Economic feasibility • Cost-benefit analysis • Costs: • Development cost (wages, computers hardware/software resources, training, office support costs, …) • Benefits: • Tangible benefits (save time for users, improve response times, reduces expenses,..) • Intangible benefits (customer goodwill, better data, better decision-making, …)
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) 6.1. The Life Cycle 6.2. The Object-Oriented Analysis Phase 6.3. The Object-Oriented Design Phase 6.4. The Construction Phase 6.5. The Object-Oriented Testing Phase 6.6. The Maintenance Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) • Modify Analysis model to reflect design decisions, • Mostly by adding information to the existing model. • Conceptual model Logical Model Physical Model • Add some new classes that do not directly model things in the real world. • Result is aplan(a physical model) of howthe system will do what the Requirements Analysis asks for 6.3. The Object-Oriented Design Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) Analysisis whatthe system must do, Designis howthe system will do it.
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) 6.1. The Life Cycle 6.2. The Object-Oriented Analysis Phase 6.3. The Object-Oriented Design Phase 6.4. The Construction Phase 6.5. The Object-Oriented Testing Phase 6.6. The Maintenance Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) • Coding and testing Should be done with an O-O language or database. • Deployment and user training. 6.4. The Construction Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) 6.1. The Life Cycle 6.2. The Object-Oriented Analysis Phase 6.3. The Object-Oriented Design Phase 6.4. The Construction Phase 6.5. The Object-Oriented Testing Phase 6.6. The Maintenance Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) • Complete the unit testing of individual classes and programs • Then system testing. • Testing must be thorough and complete, • And automated. • For Testing and Quality Assurance see chap 15. 6.5 The Object-Oriented Testing Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) 6.1. The Life Cycle 6.2. The Object-Oriented Analysis Phase 6.3. The Object-Oriented Design Phase 6.4. The Construction Phase 6.5. The Object-Oriented Testing Phase 6.6. The Maintenance Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) • Maintenance starts when a system is built and signed off. • Maintenance activities: • Bug fixes • Enhancements • Viruses (bugs caused by viruses) • End-user computing (report generator, spreadsheets …) • Backups and restores • 3 levels + offsite. • Disaster preparedness and recovery • The World Trade Center bombing. • Murphy’s Law 6.6. The Maintenance Phase
Chapter 6: The Object-Oriented Development Life Cycle (OODLC) • Requirement model • Project scope • Feasibility analysis • Context diagram • User case model • Interface descriptions • Object model: • Class diagrams • Class definitions • Attribute lists and definitions • Notes and business rules • Statechart diagram Deliverables