Download presentation
Presentation is loading. Please wait.
Published byWillis Hensley Modified over 8 years ago
1
Lesson Objectives Aims 1.Be able to understand the waterfall life cycle, agile methodologies, extreme programming, the spiral model and rapid application development Key Words
2
Software development Sometimes, there is a need to develop software! This is not a decision to be taken lightly It does NOT just involve a room of bearded people bashing out code. And this causes issues…
3
Software Development
6
References http://www.computerweekly.com/new s/4500249170/NHS-IT-system-for-GP- data-upload-slammed-for-delays-and- overspendhttp://www.computerweekly.com/new s/4500249170/NHS-IT-system-for-GP- data-upload-slammed-for-delays-and- overspend http://www.bbc.co.uk/news/uk-politics- 24130684http://www.bbc.co.uk/news/uk-politics- 24130684 http://www.theguardian.com/society/2 013/sep/18/nhs-records-system-10bnhttp://www.theguardian.com/society/2 013/sep/18/nhs-records-system-10bn
7
Reasons So why do we embark on large problems/ICT developments? –Replace manual systems (increasingly not any more) –Automate jobs (not popular) –Upgrade “legacy” systems –Expand business –Expand existing systems There should always be a solid “business” or cost saving case for development
8
There’s a lot of old stuff out there…
10
http://www.zdnet.com/article/a-23- year-old-windows-3-1-system-failure- crashed-paris-airport/http://www.zdnet.com/article/a-23- year-old-windows-3-1-system-failure- crashed-paris-airport/ http://www.ft.com/cms/s/0/7ed069ea- 882b-11e3-8afa- 00144feab7de.html#axzz3uEWk9oiBhttp://www.ft.com/cms/s/0/7ed069ea- 882b-11e3-8afa- 00144feab7de.html#axzz3uEWk9oiB
11
Systems Life Cycle Any system, be it a game, a business system, integrated hardware and software development… …Will follow a life cycle. Doesn’t mean it’s followed.
12
Life Cycle Stages
13
Life cycles The stages in our diagram may be: –Visited once only –Not visited at all –Visited cyclically/iteratively –Be visited as necessary Depending on what we do, or our needs, will depend on the development method chosen
14
Exams Generally you will need to know: –What lifecycles there are –What their advantages and disadvantages are –Where they should be used This means you can compare them, discuss them and suggest which to use for a given scenario
15
Waterfall
16
Linear Each stage is a milestone – regular deadlines – “things get done” No parallelism – one stage cannot begin before the completion of its predecessor Deliverables/documentation produced at each stage Each stage may be completed by totally different sets of people
17
Advantages Detailed documentation/Deliverables are produced at each stage –Can be shown to client –Can be compared to objectives/success criteria –Can ensure “completeness” –Could end the project (saves further waste) Should result in detailed designs (and therefore clear objectives) Easy to understand – everyone knows what should happen, when and by whom
18
Disadvantages Detail of documentation –Could be errors/omissions leading to failure later on Total lack of flexibility Cannot return to previous stage (can start again though!) Long time to completion – requirements may have changed! Not suitable for projects that may have “fluid” requirements or that use new technology that may develop or change during development
19
Spiral
20
Fewer stages than other life cycles Multiple iterations Iterative improvements Potentially limitless iterations Heavy client integration/involvement Fluid requirements Highly adaptive to change Evaluation informs design iterations
21
Advantages Suitable for small or large projects Good when requirements are likely to change Can learn from experience: –Budgets –Staffing –Timings –All become more accurate over time Prototyping –Easily introduce changes –No need to revisit whole lifecycle to implement new features
22
Disadvantages Large projects –Difficult for all parties to follow –No defined deliverable milestones –Managing teams becomes logistically difficult Management difficulties –Planning can be hard – no hard time scales –Must be experienced to bring project in on time/budget Can become out of control time wise Requirements are incomplete at the start of the project – can lead to issues later on (you can’t prototype out all problems!)
23
RAD
24
Ascertain requirements Prototype repeatedly Deliver project Very similar to spiral – requirements are defined, however Stages are small, confined and rapidly iterated through
25
Business modelling: The business model describes the flow of information around the system using data flow diagrams and flowcharts. Data modelling: The results of the business modelling are analysed and used to produce datasets or objects that are needed for the system to function. Process modelling: Descriptions are added to the data objects explaining whether data is to be added, deleted or edited. Application generation: The actual system is created by combining the process and data models to create a prototype. Turnover: The prototype is tested at the end of each cycle. Later on, more testing will be required as modules are linked together in order to ensure that they function properly in conjunction with each other.
26
Advantages Constant feedback from clients Constant communication with clients Clients can rapidly see development Easy to integrate changes Quick to integrate feedback/changes
27
Disadvantages As all requirements are not established at the start… …one may appear that kills the project late on Not suitable for projects that are not modular in nature Not suitable for projects that are too large to rapidly prototype May require more developers than other lifecycles
28
Agile Programming Not a specific life cycle “collaboration and people, not processes and tools” Developers are trusted to create a solution to a problem No reliance on huge documentation and tight control of waterfall models Regular meetings with clients/developers – collaborative approach throughout
29
Recognition that it isn’t possible to know all requirements before developing Responds to change quickly No lengthy documentation produced Arguably better quality outcomes than waterfall (no constraints)
30
Agile Development There is an “Agile Development” manifesto. Find it! What are the principles? You need to know about “Extreme Programming” an “Scrum” Find out about these – advantages and disadvantages
31
Review/Success Criteria You should know: Why software is developed Reasons why software is needed Software development lifecycles Advantages and disadvantages
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.