430 likes | 581 Views
Systems Analysis and Design. SA&D Outline. 9 Weeks of Lectures Supported by Tutorials Self Study Examples Bushmouth Lejk and Deeks. Expectations. Minimum Develop Accurate Data Flow Models Develop Accurate Data Models Apply Rules of Normalisation. Plan. Introduction Structured Methods
E N D
SA&D Outline • 9 Weeks of Lectures • Supported by Tutorials • Self Study Examples • Bushmouth • Lejk and Deeks
Expectations • Minimum • Develop Accurate Data Flow Models • Develop Accurate Data Models • Apply Rules of Normalisation
Plan • Introduction • Structured Methods • Data Flow Modelling • Data Modelling • Relational Data Analysis • The Effect of Time • Further Topics
Why a Development Lifecycle? “How to build an Information System” A means of controlling activities over time Plan that stops us forgetting something More likely to be delivered on time A straightjacket into which ALL development must fit? Remember We want to build this system and get it right!
Feasibility Study Requirements Analysis Logical Design System Analysis and Design Technical Design Program and Unit Test System and Acceptance Test Operations Waterfall Model (Whiteley, 2004)
Waterfall Model • Proposed by Bennington (1956) • How to build large software systems • Needed highly structured approach • Computers in 1956 • Modified by Royce (1970) • New Requirement for Documentation • Large programs required Teams • Computers in 1970
Lifecycle stages • Feasibility – Is it possible • Analysis – More detailed study • Requirements Specification - deliverable • Design – match with target architecture • Implementation – Code / Installation • Testing – For what? • Maintenance - Operation
Feasibility • A quick study of • Requirements • and possibilities • Other constraints? • Can it be done • For how much? • Deliverable – Yes/No decision
Feasibility • It is possible that we will bin the idea! • What are the consequences of insufficient detail?
Analysis • Two major parts: • Study of the existing system • A more detailed look at the requirements • Gap analysis between existing and required system • Deliverable – Requirements Specification • What we are going to do
Requirements Specification • A Major deliverable • Describes what the new system will need to do • Will incorporate quality criteria • Will probably not deal with how it is to be done • unless that is part of the quality criteria
Design • In more detail • Process Design – Structured approach • Data Design – maintain integrity of data • Interface Design • We know what data the user needs to see/enter • How do we present it most effectively?
Design • How do we fit what we need into our system architecture • 3 tier client server architecture? • Web service oriented architecture? • Stand-alone database with VB front end? • Algorithm design • GUI design
Implementation • Coding the designs • Involves low level debugging and unit testing
Testing • Some testing has already been carried out! • What are we now testing for? • How do we know it has passed the test? • Can the system be sufficiently tested in the development environment? • Do we need to run final tests during operation?
Maintenance • Different types of maintenance • Corrective maintenance • Probably part of the original contract • Operating environment is significantly more complex that the development environment • Updates and Improvements • Not necessary but adds value • Modification (due to changing requirements) • Additional costs for user
Feasibility Study System Analysis and Design Program and Unit Test System and Acceptance Test Operations Waterfall Model
Timescales • According to Mason and Willcocks (1994) • Feasibility Study 5-10% • Analysis 20-25% • Design 20-25% • Code 20-30% • Testing 20-30%
Alternative 1 • Analysis • Design • Code • Test (Gane and Sarson, 1979)
Alternative 2 • Project initiation • Feasibility • Investigation • Requirements Definition • Proposals and Selection • Design • Development • Test • Implementation • Audit and Review • Maintain (Yeates and Wakefield, 2004)
Alternative 3 – SSADM Stage 0 - Feasibility Stage 1 – Investigate Current System (Yeates and Wakefield, 2004)
Some Observations • The number of stages will vary • Issues for large systems projects • Long time for development/delivery • When are problems detected? • Good Documentation and audit trail • Small Projects • Logical sequence of events • Doesn’t always reflect reality (who’s fault is this) • Large paper trail
SDLC • So we should be able to agree that: • There are certain tasks that are required for all software/systems development projects • Systems Analysts should be familiar with all of them
Alternatives • Why do we need alternatives • Project size • Exploratory programming/development • To make use of existing components (re-use) • Because requirements don’t freeze • Need to match SDLC with business requirements and circumstances • E.g. McFarlan Strategic Grid
The Systems Analyst • “…a skilled worker whose principle function is to design and implement computer based solutions to business problems…” (Mason and Wilcocks, 1994)
A problem discoverer A planner Focused A Listener Flexible Has a broad outlook Has sufficient understanding of the technology, and can talk sensibly with experts about it Orderly Methodical A good communicator with all sorts of people Has an eye for detail Has very good interpersonal skills A solution provider A team leader (often) Understands business and organisations Can use appropriate modelling techniques and development methodologies. Systems Analyst Skills
Some Modern Thinkers • Our brain works iteratively not in a linear sequential manner (DeMarco, 1979) • Top down development involves iterative refinements of a problem until a solution is found (Gane & Sarson, 1979) • Design iterations are never confined to successive steps (Royce, 1970)
Structured Methods • Usually encompass the following techniques • Data Flow Model + Process Descriptions • Entity Relationship Model/Logical Data Structure • Entity Life Histories/State Transition Diagrams
Structured Methods • Physical to Logical Transition • Considered an important stage • But…according to Yourdon • “Why waste time modelling the current system when what we want is a new one?” (Lejk and Deeks, 2002) (Yeates and Wakefield, 2004)
Plan • Introduction • Structured Methods • Data Flow Modelling • Data Modelling • Relational Data Analysis • The Effect of Time • Further Topics
References • Whiteley, D. (2004) Introduction to Information Systems, Palgrave, 2004. • Lejk, M. and D. Deeks (2002) Systems Analysis Techniques, Addison Wesley 2002 • Mason, D. and L. Willcocks (1994), Systems Analysis, Systems Design, Alfred Waller, 1994.
References • Yeates, D. and T. Wakefield (2004) Systems Analysis and Design, FT/Prentice Hall 2004 • Gane, C. and T. Sarson (1979) Structured Systems Analysis, Prentice Hall, 1979 • Eva, M (1994) SSADM Version 4: A users guide, McGraw hill, 1994 • Yourdon, E. (1989) Modern Structured Analysis, Prentice Hall
References • DeMarco, T. (1979) Structured Analysis and System Specification, Yourdon, 1979 • Royce, W. (1970) Managing the development of large software systems, In: Proceedings of IEEE WESCON, 1970 pp1-9. • Bennington, H. (1956) Production of Large Computer Programs In: Annals of the History of Computing, Vol. 5, No. 4, Oct 1983.