Presentation is loading. Please wait.

Presentation is loading. Please wait.

Large Scale Systems Design G52LSS

Similar presentations


Presentation on theme: "Large Scale Systems Design G52LSS"— Presentation transcript:

1 Large Scale Systems Design G52LSS
Lecture 2 – Large Systems Development Phases of the SDLC Methodologies for SDLC Selecting Methodologies Learning outcomes: describe phases, steps and deliverables of the SDLC; understand the different structured and non-structured SDLC methodologies; appreciate advantages and disadvantages of the different SDLC methodologies. Large Scale Systems Design Dr Colin Higgins

2 Large Scale Systems Design
Phases of the SDLC The Systems Development Life Cycle is a gradual refinement process traditionally consisting of 4 phases: Planning Analysis Design Implementation Each phase is composed of steps that rely on techniques Each step is meant to produce a specific deliverable Why? What? When? Where? Who? How? Delivery Large Scale Systems Design Dr Colin Higgins

3 Planning Phase Opportunity Identification System Request
Feasibility Analysis (technical, economic, organisational) Project Management Planning Phase. Why to build the System? Opportunity Identification. Solve a problem, improve, innovate. System Request. Describe business need and how the system will create value. Feasibility Analysis. Can the system be built? What is the value? Will the system be used? Project Management. Scheduled times, staff committed, management techniques. Project Workplan. Describes how the development team will approach the project. Project Workplan Large Scale Systems Design Dr Colin Higgins

4 Analysis Phase Develop Analysis Strategy Define Requirements
Use Cases, Process Model, Data Model Analysis Phase. What system will do? who/when/where will use the system? Develop Analysis Strategy. Towards comparing new system with the old one. Define Requirements. Gather information with interviews, questionnaires, document analysis, JAD, etc. Define functional and non-functional requirements. Systems Proposal. Describes analysis but also an initial high level design. Identifies clear business requirements. Systems Proposal Large Scale Systems Design Dr Colin Higgins

5 Large Scale Systems Design
Design Phase Design Selection Architecture Design Interface Design Data Storage Design Program Design Design Phase. Determine exactly how the system will work. Design selection. Outsourcing? Buy design software? Commercial of the shelf software (COTS)? Architecture design. General infrastructure. Interface design. User oriented. Data storage design. Information oriented. Program design. Coding components. System specification. Describes in a technical manner how the system should be implemented. System Specification Large Scale Systems Design Dr Colin Higgins

6 Large Scale Systems Design
Implementation System Construction Installation Process Support Plan Implementation. Deliver the system to users. System Construction. Building and testing, adequate testing is critical. Installation Process. Replace current system, training users, training plan is required Support Plan. Changes and maintenance, maintenance estimated to account for 48-60% of the time. Functional, efficient and robust system. The system delivered should be fit for purpose. Functional, Efficient and Robust System Large Scale Systems Design Dr Colin Higgins

7 Methodologies for SDLC
Structured Design Waterfall development Parallel Development Rapid Application Development Phased Development Prototyping Throwaway Prototyping Agile Development Extreme programming Other agile methodologies include: Crystal, Scrum, Adaptive Software Development, Dynamic Systems Development, Feature Driven Development. Formal step-by-step approach Focuses on quick development Eliminates modelling and documentation overhead These methodologies have Advantages and Disadvantages with respect to: Development time Resources needed Documentation required Adaptability/evolution Large Scale Systems Design Dr Colin Higgins

8 Large Scale Systems Design
Waterfall Development Diagram from (Dennis et al. 2006) Sequential process Pros System requirements are identified well in advance to programming Minimises changes to requirements as project progresses Cons Design must be specified on paper before programming begins Long time between system proposal and delivery of new system Significant rework if changes needed Large Scale Systems Design Dr Colin Higgins

9 Large Scale Systems Design
Parallel Development Diagram from (Dennis et al. 2006) Division into subprojects Pros Tries to reduce schedule time Less chance of rework High level design More specific designs Cons Uses paper documents It is difficult to integrate subprojects Large Scale Systems Design Dr Colin Higgins

10 Large Scale Systems Design
Phased Development Diagram from (Dennis et al. 2006) Versions-based process Pros First system delivered quickly User can identify additional needs for later versions Cons The user works with an intentionally incomplete system Large Scale Systems Design Dr Colin Higgins

11 Large Scale Systems Design
Prototyping Diagram from (Dennis et al. 2006) Performs phases concurrently and repeatedly Pros Prototype delivered quickly User can identify changes in needs and requirements can be refined Prototype (not a 1st version) Concurrently Cons Risk of superficial analysis Poor initial design decisions User tries a finished system Large Scale Systems Design Dr Colin Higgins

12 Large Scale Systems Design
Throwaway prototyping Diagram from (Dennis et al. 2006) Uses disposable design prototypes Pros Helps to minimise risks Understand important issues before proper design Cons Needs more time than prototyping High level design Concurrently Not fully working system Large Scale Systems Design Dr Colin Higgins

13 Large Scale Systems Design
Extreme Programming Diagram from (Dennis et al. 2006) System grows iteratively Pros Results delivered fast Good for projects with undefined and changing requirements Cons Requires considerable input from users Requires great discipline Large Scale Systems Design Dr Colin Higgins

14 Large Scale Systems Design
Exercise 2.1 Suppose you are a project manager using the waterfall development methodology on a large and complex project. Your manager has just read a recent article in a magazine that advocates replacing the waterfall methodology with prototyping and comes to your office requesting you to switch approaches. What would you say? Exercise taken from (Dennis et al. 2006) Justify the use of waterfall methodology for current project considering the strengths of that approach. Consider if prototyping would really be better for this scenario, so questions like the following need to be asked: users are available? risk of poor analysis and design? time available for development? Large Scale Systems Design Dr Colin Higgins

15 Selecting Methodologies
Difficult because no methodology is always the best Standards and practices vary between organisations Important criteria are the following Ability to develop systems that… WF PA PH PR TP XP Unclear requirements Unfamiliar technology Complex Reliable Short schedule Schedule visibility P P G E E E P P G P E P G G G P E P Unclear requirements. Then the user should interact with the system to understand what it can do. Unfamiliar technology. Then users should have time to get used to the system being developed. Complex. Then careful and detailed analysis is required to consider all details. Reliable. If crucial then good analysis and design is required in addition to test under different conditions. Short schedule. Then development should be speedup and should accommodate adjustments. Schedule visibility. Important to know if the project is on track and on time. G G G P E G P G E E G E P P E E G G Large Scale Systems Design Dr Colin Higgins

16 Large Scale Systems Design
The above methodologies can also be combined to produce hybrid SDLC methodologies that would be more adequate for certain project development scenarios. Exercise 2.2 Suppose you were to combine throwaway prototyping with parallel development. What diagram would illustrate the hybrid methodology? What would be the pros and cons of the hybrid methodology? Exercise taken from (Dennis et al. 2006) Large Scale Systems Design Dr Colin Higgins

17 Large Scale Systems Design
Exercise 2.2 (cont.) Ability to Develop Systems… Hybrid Methodology With Unclear User Requirements Good With Unfamiliar Technology Good That are Complex Excellent That are Reliable Excellent With a Short Time Schedule Good With Schedule Visibility Good Large Scale Systems Design Dr Colin Higgins

18 Large Scale Systems Design
Additional Reading Chapter 1 of (Dennis, Wixom and Roth, 2006) Chapter 1 of (Kendall and Kendall, 2005) Large Scale Systems Design Dr Colin Higgins


Download ppt "Large Scale Systems Design G52LSS"

Similar presentations


Ads by Google