COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis Moving to Design
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Learning Objectives v Examine the issues that have to be addressed during design v Distinguish between System and Object Design v Consider the impact of implementation technology
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Analysis vs Design Why separate analysis and design Project Management, Staff Skills and Experience, Client Decisions Choice of Development Environment.
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved What makes a good analysis v To provide a sound foundation for design, analysis should meet the following four criteria: –correct scope, –completeness, –correct content, –consistency.
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved What makes a good design Functional Buildable ManageableMaintainable UsableReusable EfficientEconomical ReliableSecure FlexibleGeneral
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Measurable Objectives v Information systems are built to satisfy an organisational need such as –provide better response to customers –but this is difficult to measure and thus determine success v Measurable objectives might include –reduce invoice errors by a third –process 50% more orders v However not all objectives are quantifiable
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Logical vs Physical Design v One way of separating design by splitting it into –Logical design - implementation independent –Physical design - implementation dependent
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Logical vs Physical Design v Physical design is affected by –Hardware and its location e.g. u Large central computer u Network of PCs –Operating System –Development Language and Environment –Database Management System used
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Logical vs Physical Design v Logical design is concerned –how objects interact determining u message signatures u attribute type u attribute and operation visibility u operation design
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Logical vs Physical Design v The distinction permitted in theory one logical design leading various physical designs and thus implementations. v However the distinction is made much less these days v The choice of system architecture is used to enable different styles of implementation
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved System and Object Design v System Design is concerned with system wide issues that affect the whole system including the software architecture v Object Design is detailed design of the system and is performed within the context of the systems design decisions.
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved System Design v Sub-systems and major components are identified. v Any inherent concurrency is identified. v Sub-systems are allocated to processors.
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved System Design v A data management strategy is selected. v A strategy and standards for human- computer interaction are chosen. v Code development standards are specified.
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved System Design v The control aspects of the application are planned. v Test plans are produced. v Priorities are set for design trade-offs. v Implementation requirements are identified (for example, data conversion). v Architectural patterns may be used.
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved System Design A typical software architecture Bennett, McRobb, Farmer, 1999
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved UML packages representing layers in the three-tier architecture Bennett, McRobb, Farmer, 1999
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Detailed or Object Design v This involves making decisions regarding –attribute data type –operation signatures –attribute and operation visibility –association design –use of design patterns
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Object Design Bennett,McRobb,Farmer, 1999
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved RUP Phases v Inception –business case –plan v Elaboration –use cases –baseline architecture v Construction –product is built v Transition –beta release/testing/training Rational Unified Process
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Design Activities v Centred around the software architecture –early iterations focus on its production/validation –represented by a number of architectural views v Production of the Design Model –classes structured into design packages with well defined interfaces –how objects collaborate to perform the use cases –check completeness and consistency of the design
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Implementation & UP v The purpose of implementation is: –to define the organization of the code, in terms of implementation subsystems organized in layers, –to implement classes and objects in terms of components (source files, binaries, executables, and others), –to test the developed components as units, and –to integrate the results produced by individual implementers (or teams), into an executable system.
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved Summary v Examine the issues that have to be addressed during design v Distinguish between System and Object Design v Consider the impact of implementation technology
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved References v Bennett, S. et. al. “Object-Oriented Systems Analysis & Design using UML” McGraw-Hill 1999 v Jacobson, I., Booch, G. & Rumbaugh, J. (1999) “The Unified Software Development Process” Addison- Wesley v Rational Unified Process Best Practices for Software Development Teams White Paper, v Rational Unified Process 2000