Introduction system Life cycle System Life cycle A Student Guide Object-Oriented Development Carol Britton & Jill Doake Course Aim To look at how a software system is developed using an object orientated approach System Life Cycle – Why? • Need an agreed framework for the development – Identify milestones – Structure activities – Monitoring deliverables System Life Cycle – Why? • Advantages of agreed framework – – – – An overall picture of the development process A basis for development Consistency in approach Ensures quality • Structure for planning, monitoring and controlling the development process Traditional High Level System Life Cycle Stage of life cycle Issues addressed Deliverables Requirements What are the problems, needs and wishes of clients and users? What are the objectives and scope of the proposed system? What are the major risks involved? List of requirements that can be used as a starting point for development. List of problem areas that fall within the scope of the proposed system. Assessment of risk factors. Analysis What does the system look like from the clients’ and users’ perspective? A set of models, each taking a different view of the system, which together give a complete picture. The models may be text, diagrams or early prototypes. Design How can the system be constructed, so as to satisfy the requirements? Models from the analysis stage, refined to illustrate the underlying architecture of the system. These models take account of technological considerations and constraints arising from the implementation environment. Implementation How can the models produced be translated into code? A fully tested suite of programs. Installation What is needed to support clients and users and ensure that they can use the new system effectively? User manual, technical documentation, user training. Note - Stage names reflect activities carried out at each stage Traditional Life Cycle Models • • • • • • Waterfall V-model Spiral Prototyping Iterative Development Incremental Development Problems with Traditional Approach • Functional Decomposition – Functions and data separated – Data accessible by several processes Major problem - data not protected • Poor modularity • Data versus function Problems with Traditional Approach • Functional Decomposition • Poor modularity – Ideally modules should be self-contained – Have well defined purpose – Be independent Major problem – interdependency between modules • Data versus function Problems with Traditional Approach • Functional Decomposition • Poor modularity • Data versus function – System functionality is more likely to change than the data – Over time the functionality is more unstable than the data The Object-Orientated Approach Phases (stages) of Development • • • • Inception Elaboration Construction Transition These indicate the state of the system at each phase NOT the activities involved at that point in development The Object-Orientated Approach Phases (stages) of Development • Inception – the initial work required to set up and agree terms for the project. Includes establishing the business case – Feasibility – Basic risk assessment – Scope of the system to be delivered The Object-Orientated Approach Phases (stages) of Development • Inception • Elaboration – deals with putting the basic architecture of the system in place – All main project risks are identified • Construction • Transition The Object-Orientated Approach Phases (stages) of Development • Inception • Elaboration • Construction – involves bulk of work on building the system – Ends with beta-release of system • Transition The Object-Orientated Approach Phases (stages) of Development • Inception • Elaboration • Construction • Transition – process involved in transferring the system to the clients and users Workflows • The activities implied by the stages in a traditional structured modelling approach are referred to as Workflows in the objectorientated approach • Workflows – – – – – Requirements Analysis Design Implementation Testing Workflows - activities PHASES WORKFLOWS Inception Requirement s Elaboration Analysis Construction Design Transition Implementation The Object-Orientated Approach Iterative Process • Workflows may be carried out during any phase of development • In each phase a range of workflows (activities) may be carried out several times before moving on to the next phase The Object-Orientated Approach A range of workflows (activities) take place during the development of a system Requirements Analysis Design Implementatio n Testing The Object-Orientated Approach Inception Elaboration Construction Transition An iterative process. The ellipses represent iterations of workflows (requirements, analysis, design, implementation, testing) The Object-Orientated Approach A seamless Development Process • Phases less distinct than in a structured approach • Difficult to say when one phase ends and another begins • Driven by a single unifying idea – the object The Object • Basic building block • Objects in the real world translate into objects in the software system – – – – Physical (customers, products) Conceptual (orders, reservations Organisation (companies, departments) Implementation (GUI Windows) The Object-Orientated Approach • The foundation of all development work is the object • No new system models introduced at different stages • Early models developed and refined through the development process • An iterative design process Modelling • To capture the whole of a system we need to view it from different aspects • Each diagram provides some but not all of the information – abstraction • Each model is an abstraction of the complete system • System is broken down into small workable chunks decomposition Unified Modelling Language - UML • • • • • A notation or language for development Not a development method Set of diagrammatic techniques Industry standard for modelling OO systems UML Creators – Ivar Jacobson, Grady Booch, James Rumbaugh Principal UML Models Model View of the system Use case How the system interacts with its users. Class The data elements in the system and the relationships between them. Interaction (sequence and collaboration) How a use case affects all the objects that are involved in it. State How the different objects of a single class behave through all the use cases in which the class in involved. Activity The sequence of activities that make up a process. Component The different components of the system and the dependencies between them. Deployment The software and hardware elements of the system and the physical relationships between them. Summary • Problems of a traditional life cycle • Phases of the object-orientated approach, Inception, Elaboration, Construction, Transition • Object-orientated design is an iterative process • Unified Modelling Language Further reading • Bennett, S., McRobb, S. and Farmer, R. Object-Oriented Systems Analysis and Design Using UML, 2nd Ed, London: McGraw-Hill, 2002. • Brown, D. Object-Oriented Analysis: objects in plain English, New York: John Wiley, 1997. • Fowler, M. UML Distilled: a brief guide to the standard object modeling language, 2nd Ed, Reading Massachusetts: Addison-Wesley, 2000. • Jacobson, I. Object-Oriented Software Engineering: A Use Case Driven Approach, Wokingham, England: Addison-Wesley, 1992. • Larman, C. Applying UML and patterns: an introduction to objectoriented analysis and design, New Jersey: Prentice Hall, 1998. • Stevens, P., with Pooley, R. Using UML. Software Engineering with Objects and Components Updated edition, Harlow: Addison-Wesley, 2000.
© Copyright 2026 Paperzz