systems analysis and design. sa&d outline 9 weeks of lectures supported by tutorials self study...
TRANSCRIPT
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– Data Flow Modelling– Data Modelling– Relational Data Analysis– The Effect of Time
• Further Topics
Introduction to theSystems Development Life Cycle
Why a Development Lifecycle?
“How to build an Information System”A means of controlling activities over time
Plan that stops us forgetting somethingMore likely to be delivered on time
A straightjacket into which ALL development must fit?
RememberWe want to build this system and get it right!
Waterfall Model
FeasibilityStudy
System Analysisand Design
Program andUnit Test
System andAcceptance Test
Operations
RequirementsAnalysis
LogicalDesign
TechnicalDesign
(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
Waterfall Model
FeasibilityStudy
System Analysisand Design
Program andUnit Test
System andAcceptance Test
Operations
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 2 – Business System Options
Stage 3 – Requirements Definition
Stage 4 – Technical System Options Stage 5 – Logical Design
Stage 6 – Physical Design
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)
Systems Analyst Skills• 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.
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
Existing System ERD
Repository
Existing Physical
System DFD
New System ERD
Repository
New Logical System DFD
Convert to Logical View
User Requirements
Technical Options +
Constraints
New Physical System
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?”
(Yeates and Wakefield, 2004)
(Lejk and Deeks, 2002)
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.