1 / 36

Systems Analysis and Design

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

fifi
Download Presentation

Systems Analysis and Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systems Analysis and Design

  2. SA&D Outline • 9 Weeks of Lectures • Supported by Tutorials • Self Study Examples • Bushmouth • Lejk and Deeks

  3. Expectations • Minimum • Develop Accurate Data Flow Models • Develop Accurate Data Models • Apply Rules of Normalisation

  4. Plan • Introduction • Structured Methods • Data Flow Modelling • Data Modelling • Relational Data Analysis • The Effect of Time • Further Topics

  5. Introduction to theSystems Development Life Cycle

  6. 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!

  7. 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)

  8. 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

  9. 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

  10. Feasibility • A quick study of • Requirements • and possibilities • Other constraints? • Can it be done • For how much? • Deliverable – Yes/No decision

  11. Feasibility • It is possible that we will bin the idea! • What are the consequences of insufficient detail?

  12. 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

  13. 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

  14. 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?

  15. 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

  16. Implementation • Coding the designs • Involves low level debugging and unit testing

  17. 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?

  18. 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

  19. Feasibility Study System Analysis and Design Program and Unit Test System and Acceptance Test Operations Waterfall Model

  20. Timescales • According to Mason and Willcocks (1994) • Feasibility Study 5-10% • Analysis 20-25% • Design 20-25% • Code 20-30% • Testing 20-30%

  21. Alternative 1 • Analysis • Design • Code • Test (Gane and Sarson, 1979)

  22. Alternative 2 • Project initiation • Feasibility • Investigation • Requirements Definition • Proposals and Selection • Design • Development • Test • Implementation • Audit and Review • Maintain (Yeates and Wakefield, 2004)

  23. Alternative 3 – SSADM Stage 0 - Feasibility Stage 1 – Investigate Current System (Yeates and Wakefield, 2004)

  24. 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

  25. 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

  26. 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

  27. The Systems Analyst • “…a skilled worker whose principle function is to design and implement computer based solutions to business problems…” (Mason and Wilcocks, 1994)

  28. 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

  29. 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)

  30. Structured Methods

  31. Structured Methods • Usually encompass the following techniques • Data Flow Model + Process Descriptions • Entity Relationship Model/Logical Data Structure • Entity Life Histories/State Transition Diagrams

  32. 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)

  33. Plan • Introduction • Structured Methods • Data Flow Modelling • Data Modelling • Relational Data Analysis • The Effect of Time • Further Topics

  34. 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.

  35. 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

  36. 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.

More Related