Download presentation
Presentation is loading. Please wait.
Published byBruce Sharp Modified over 8 years ago
1
IMAT1906 Systems Development Lecture week 16: system concepts (2) methodologies
2
Today’s Agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-112 Systems development activities Systems development methodologies Traditional life cycle Rapid methodologies Agile methodologies Prototyping Systems development strategies Summary
3
Purpose IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-113 There are many ways to develop systems Methodologies set out stages in development Strategies set out where the development will happen
4
System development activities IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-114 Developing a system involves several kinds of activity Feasibility study Requirements definition Analysis Logical system design Process design, specification, development (coding) Data model, database design, implementation Interface design, confirm with users, screen building Testing and deployment How many of these activities have you seen or done?
5
Project planning IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-115 In order to manage all this activity, developers do what is called project planning and control Plan is a list of development steps or activities, with start and end dates Also called project schedule Start and end dates based on estimates of How much effort needed for each activity How many developers doing each activity Hence how long it might take overall Can be expressed in a gantt chart Tasks and dependencies Start and end dates
6
Example Gantt chart IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-116
7
System development terminology IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-117 Plan also includes milestones and deliverables Milestone A key point in development activity Sometimes a decision point - do we continue or stop? Examples: end of feasibility study; end of data analysis Deliverable Something that is supposed to be handed over (delivered) during development Usually at a milestone Examples: feasibility report; data model; design diagrams and models; coded programs; test plans; test logs
8
Project control IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-118 Plan allows progress to be monitored Usual to have regular progress reports From developers to team leader From team leaders to project leader or project manager Progress monitored against project plan May need to re-plan if progress not as fast as planned May have encountered unexpected problems May have under-estimated development effort needed at different stages May have over-estimated how many developers involved
9
Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-119 Systems development activities Systems development methodologies Traditional life cycle Rapid methodologies Agile methodologies Prototyping Systems development strategies Summary
10
System development methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1110 What is a methodology? Standard order of activities So a development methodology sets out a standard order of carrying out development activities Why follow any methodology? Ensures that all relevant steps are carried out Following standard plan means everyone knows what to expect - developers, project team, users, management making decisions
11
System development characteristics IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1111 Some characteristics of development projects Size of development team Amount of time available before system needed How well-understood the requirements are Whether entire system needed at once or parts could be used on their own When are different methods suitable? Balance between size of development team and time available Some methods deal with uncertain requirements better than others Some methods better for piece-by-piece development
12
Methodologies - overview IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1112 Common methodologies include…. Traditional life cycle methodologies Rapid development methodologies Agile methodologies Prototyping Look at each in turn….
13
Traditional life cycle methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1113 Also known by other names System Development Life Cycle (SDLC) Waterfall development V model - links testing to development stages Each stage is completed and signed off before next one starts Teams of experts only needed during ‘their’ stage For example, programmers only needed during build phase Working system is final deliverable, no interim system available Easy to plan but not very flexible
14
Waterfall diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1114 feasibility inception requirements design build testing implementation
15
V diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1115 requirements specification design build unit testing system testing user testing - Shows testing relevant to development stages - Not really a development methodology by itself
16
Traditional life cycle - stages IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1116 Typical pattern of activity Feasibility study Project inception Requirements analysis and definition System design - logical design Construction - coding, unit testing System testing including user testing and end-to-end testing Implementation Some variation but not much
17
Traditional life cycle - feasibility stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1117 As we have seen, feasibility studies the overall concept of a proposed system Develops an overview-level understanding of requirements Examines proposed system in several contexts: Operational alongside other existing systems Business within existing business processes Financial in terms of costs of system balanced by benefits Technical performance predictions and constraints Deliverable is feasibility report Milestone is decision to go ahead with project
18
Traditional life cycle - inception stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1118 Means starting the development project going Includes for example Identifying the project team Identifying and estimating development activities Making the project plan Setting out risks and issues typically these are things that are not yet well-understood or decided but might have a big impact on the project For example new untried technology Setting out project budget Agreeing how progress will be monitored Deliverable is set of project plans, risk and issue logs
19
Traditional life cycle - requirement stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1119 As we have seen, requirements stage finds out the detailed requirements Fact-finding techniques Analysis of findings Documented in summary level and detailed level Test strategy and test cases also defined Deliverables Requirements specification document Test strategy and test plans Milestone is requirements sign-off User management agrees that requirements are complete
20
Traditional life cycle - design stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1120 Design stage covers the logical design of the new system Processes Interface - input and output Data Perhaps outline business procedures around the system Deliverable: set of logical models Milestone: design sign-off User management agrees that designed system will meet their needs
21
Traditional life cycle - build stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1121 Construction stage also called build stage Specification of processing details Coding of processes into programs or routines Implementation of database Turns interface design into screens and reports Includes unit testing of programs, screens, reports Includes quality reviews of programs, screens, reports Deliverable: components of physical system Milestone: construction sign-off Project management agrees that all components are built and fit for purpose System testing can begin
22
Traditional life cycle - system test stage IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1122 Test strategy designed at end of requirements stage System testing ensures that components link together End-to-end testing ensures that input is correctly transformed into outputs and is delivered to right places User acceptance testing ensures that realistic test cases are correctly processed and give required results Tests processes, interface, reports, configuration Deliverable: test logs at relevant levels Milestone: testing sign-off System performs as expected and required Users accept developed system
23
Traditional life cycle - implementation IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1123 Several activities to implement system Install system as appropriate Populate relevant databases - migrate or input User guide and other documentation User training Include new system functions in business procedures Deliverable: working system now operational Milestone: system development completed System up and running Users trained System functions integrated into business processes
24
Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1124 Systems development activities Systems development methodologies Traditional life cycle Rapid methodologies Agile methodologies Prototyping Systems development strategies Summary
25
Rapid development methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1125 Also known by other names Iterative development Incremental development Dynamic systems development Development proceeds in phases according to priorities
26
Rapid development principles IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1126 It is possible to streamline system development Some things can be done in parallel Development and implementation can be done bit by bit Must still maintain quality product Must get and confirm user requirements Must get design right Must build and test each bit Often time-boxed ie limited amount of time allowed
27
Rapid development stages IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1127 First stage is high level requirements definition With user agreement, divide requirements into development phases Business managers set priorities for delivering the phases Often done in workshops to allow discussion and debate Discussion can get heated; diplomacy needed Agreement easier if project sponsor takes part System development then becomes series of iterations
28
Rapid development - iteration tasks IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1128 Within each iteration, the usual development tasks are carried out Design Build Test Integration testing alongside previously-delivered phases Implement Next phase is next iteration
29
Rapid development diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1129 prioritised requirements detailed requirements design build and test implement each phase
30
Rapid development - example IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1130 When would rapid development be needed? When there is a strong business need to have the system up and running quickly For example, to support a new product being launched quickly to beat the competition Cannot develop in time using traditional methods Business priorities are marketing then production then sales System functionality developed in that order Marketing functions developed and implemented Production and distribution functions Sales and order processing functions
31
Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1131 Systems development activities Systems development methodologies Traditional life cycle Rapid methodologies Agile methodologies Prototyping Systems development strategies Summary
32
Agile methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1132 Also known by other names Adaptive development Extreme programming - pair programming Joint development - joint with users Principle is to be able to move very quickly and be very flexible
33
Agile development principles IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1133 Iterative, incremental development as with rapid methods Constant feedback on how development progressing Team knowledge base maintained and shared Each phase incorporates what was learned in earlier phases Intense teamwork involved to achieve each phase
34
Agile development stages IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1134 Development team includes business people and system developers System phases identified and prioritised by business users Each phase is a self-contained iteration Delivers a set of functions Builds on previous iterations Designed by users and developed by developers in tandem Time-boxing often critical Follows spiral model
35
Agile development diagram - spiral IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1135 Ref: Boehm, B (1986) A Spiral Model of Software Development and Enhancement Can also be found in Shelly & Rosenblatt p 23
36
Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1136 Systems development activities Systems development methodologies Traditional life cycle Rapid methodologies Agile methodologies Prototyping Systems development strategies Summary
37
Prototyping methodologies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1137 Two main types Throw-away prototyping Evolutionary prototyping Principle is to develop cut-down versions of system but working system at all stages
38
Throw-away prototyping IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1138 Used to aid users in understanding their requirements Similar to a film set Screens may look real Little or no processing behind screens Can be developed very quickly Can be amended very quickly to allow users to work out what they need Useful when users unfamiliar with concept of new system
39
Throw-away prototyping diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1139 Implement Analysis Design Build Test
40
Evolutionary prototyping IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1140 Used to build up system incrementally Initial prototype eventually becomes final system Particularly useful when using CASE tools that generate working prototypes As each iteration adds more functions, previous functions should be tested again Tests that integration has been successful at each phase System evolves through iterations Changes in requirements can be accommodated Can be combined with throw-away prototypes used for requirements gathering
41
Evolutionary prototyping diagram IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1141 Implement Analysis Design Build Test Release 1 Release 2 Release 3
42
When are different methods suitable? IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1142 Methods suitable under different circumstances Traditional Requirements can be well-defined and stable Rapid Insufficient time for traditional approach Requirements not fully known at outset Agile Business users available for development team Partial system functionality acceptable and/or necessary Prototyping When robust CASE tools available
43
Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1143 Systems development activities Systems development methodologies Traditional life cycle Rapid methodologies Agile methodologies Prototyping Systems development strategies Summary
44
Systems development strategies IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1144 Systems development can take place in several ways Inside the organisation: in-house development Outside the organisation Software supplier - off-the-shelf package Software supplier - one-off development
45
In-house development IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1145 Organisation’s own development team or department Advantages Enables close interaction between user teams and development team Developers can get to really understand business needs Easier to control project budget Disadvantages Expensive to run development department Business owners may not want to run a computer department as it is not core business
46
Package procurement IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1146 Select and purchase a package already developed Advantages No need to wait for development to happen Costs are (thought to be) well-known at the outset Can be a quick solution if package fits the requirement Might be possible to tailor package to fit better Disadvantages Still need to identify and prioritise requirements There may not be a suitable package available Costs can escalate if there are implementation problems
47
One-off development IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1147 Get a consultancy to develop bespoke system Advantages Can get system specific to requirements No need to maintain a development team or department Can use a consultancy if in-house teams too busy Disadvantages Can be very expensive Development team needs time to learn about business and requirements Need to guard against misunderstandings Need for extra vigilance on progress and problem reporting
48
Where are we on agenda IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1148 Systems development activities Systems development methodologies Traditional life cycle Rapid methodologies Agile methodologies Prototyping Systems development strategies Summary
49
Summary IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1149 There are several system development methodologies Traditional Rapid Agile Prototype There are several system development strategies Develop in-house Buy a package Develop by a consultancy
50
Further information IMAT 1906 Lecture Week 16 (c) De Montfort University 2010-1150 Further information can be found in many textbooks on systems development or systems analysis, for example: Skidmore & Eva (2004) Chapter 10 Rapid Development and Prototyping Chapter 13.4 testing in the context of system development Chapter 14 Software Packages Shelly & Rosenblatt (2010) pp 18-25 Bocji P, A Greasley and S Hickie (2008) chapter 7
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.