COMP1007 Introduction to Requirements Analysis Module Leader: Dr Pam Watt
COMP1007 Introduction to Requirements Analysis 1 lecture 1 lab (start week 3) 1 tutorial (start week 2) Assignment (50%) Exam (50%) Set Text: Requirements Analysis & System Design. Developing Information Systems with UML Leszek A Maciaszek Publ. Addison Wesley
COMP1007 Introduction to Requirements Analysis Software Process COMP1007 Lecture 1
COMP1007 Introduction to Requirements Analysis Objectives Software Development System Planning Lifecycle Software Development Approaches
COMP1007 Introduction to Requirements Analysis Software Development Stakeholders Process Modelling language & tools
COMP1007 Introduction to Requirements Analysis Software Development Commercial off-the-shelf packages Bespoke systems
COMP1007 Introduction to Requirements Analysis Stakeholders Customers -person paying -responsible for decisions -customer’s requirements Developers -developed by people, for people -social factors important
COMP1007 Introduction to Requirements Analysis Software Failure needs misunderstood or not captured requirements change too frequently insufficient resources for the project customers don’t co-operate with developers unrealistic expectations system no longer of benefit to customer
COMP1007 Introduction to Requirements Analysis hire the best developers provide on-going training & education encourage exchange of information & interaction motivate developers remove obstacles to development offer an exciting work environment align personal goals emphasise teamwork
COMP1007 Introduction to Requirements Analysis Process A process model: states order of activities specifies development artefacts assigns activities & artefacts to developers monitors project progress Quality standards
COMP1007 Introduction to Requirements Analysis Modelling Languages & Tools Modelling artefacts have to be communicated Developers need a language to build visual models - communicate WHAT needs done Need a tool for CASE
COMP1007 Introduction to Requirements Analysis CASE Tools co-ordinate access to models facilitate collaboration version control share components check consistency & integrity generate project reports generate data structures & code reverse engineer
COMP1007 Introduction to Requirements Analysis Unified Modelling Language general purpose visual modelling language independent of s/ware development process matches up with RUP independent of implementation technologies models static structures & dynamic behaviour
COMP1007 Introduction to Requirements Analysis UML cont. catagorised in to 3 groups: State Models - static data structures Behaviour Models - object collaborations State Change Models - describe permitted states
COMP1007 Introduction to Requirements Analysis System Planning SWOT –Strengths, Weaknesses, Opportunities, Threats VCM –Value Chain Model BPR –Business Process Re-engineering ISA –Information Systems Architecture
COMP1007 Introduction to Requirements Analysis Software Lifecycles Orderly set of activities Phases –analysis –design –implementation
COMP1007 Introduction to Requirements Analysis Analysis Phase Concentrates on system requirements - determined & specified Functional & non-functional requirements
COMP1007 Introduction to Requirements Analysis Design Phase Architectural design Detailed design
COMP1007 Introduction to Requirements Analysis Implementation Phase Coding & s/ware development Testing Changeover
COMP1007 Introduction to Requirements Analysis Lifecycle Phases Requirements determination Requirements Specification Architectural Design Detailed Design Implementation Integration Maintenance Planning & testing span the whole lifecycle
COMP1007 Introduction to Requirements Analysis Requirements Determination “A statement of system service or constraint” Kotonya & Sommerville Determine requirements Analyse requirements Negotiate requirements
COMP1007 Introduction to Requirements Analysis Requirements Specification Phase Model requirements Include non-functional requirements Independent from h/ware & s/ware platforms
COMP1007 Introduction to Requirements Analysis Architectural Design Phase Contract between developer & customer Description of system - in terms of its modules Platform specific Three-tier architecture
COMP1007 Introduction to Requirements Analysis Detailed Design Phase Describes each module in detail User interface design Database design etc.
COMP1007 Introduction to Requirements Analysis Implementation Phase Installation of purchased s/ware Coding of custom-written s/ware Loading of test databases Testing User training Hardware issues
COMP1007 Introduction to Requirements Analysis Maintenance Phase 3 distinct phases: Housekeeping Adaptive maintenance Perfective maintenance Phased out
COMP1007 Introduction to Requirements Analysis Software Development Approaches Structured - function centric Object Orientated - data centric
COMP1007 Introduction to Requirements Analysis References Maciaszek, Requirements Analysis & System Design, Chp 1 Bennett, McRobb & Farmer, OO Systems Analysis & Design Schah (1996) Classical and Object- Orientated Software Engineering, 3 rd ed, Irwin pp604