Software Development Lifecycle“You’ve got to be very careful if you don’t know where you’re going, because you might not get there.” Yogi Berra 1
SDLC Stages 1: Determine Scope 8: Review 2: Gather & Maintain Requirements 7: Write 3: WriteDocumentation Specification 6: Test the 4: Design program Solution 5: Code the design 2
1: Determine the ScopeAlso called the Problem DomainDescribe the boundaries of the problemIdentify what is and what is not coveredInclude those who are affected (stakeholders)and describe how they are affected. what functions is the product supposed to have i.e. how the interface should be, what should the product do, how will the user use the product. 3
2: Gathering RequirementsA common failure of IT projects worldwideThe Functional Requirements must beknown What is wanted by those who are affectedGathering techniques: Existing Documentation Observation Interview Questionnaires 5
3: Write SpecificationA categorised list of elements required tostart designing a solution, inc: Inputs Outputs Processing Storage User interface Constraints 6
4: Design SolutionUsing design tools, inc Forms design Flowcharts Structure diagrams DFDs and ERDs UML diagrams Class schemas 7
5: Code the designDesigns are converted into program codeLanguage will have been selecteddepending on program functionTeams of programmers may work ondifferent modules or classesTeams must adopt similar workingpractices and understand how their modulesfit into larger solution 8
6: Test the programTesting is a critical part of the qualityassurance process,2 common methods for module testing are: Black Box - doesn’t care about how the program was written, only if it does what it’s supposed to do. White Box – examines performance of code. Ensures code generates correct resultsWhite box starts after Black box and takeslonger. 9
6: Test the programA thorough test plan should include: All possible outcomes (check flowcharts logical pathways e.g. Loops & True/False) Sufficient test data which checks Normal, Extreme and Erroneous data. Trace table inc; Date, Test, Expected result, Actual Result, Corrective action and Screen capturesDebugging tools include: Breakpoint & Trace (run program line-by line), Watches (changes to variable contents) 10
7: Write DocumentationThree types of documentationInternal (inside code) Meaningful variable names, Tidy layout & good comments (why not how)Technical (for maintenance) Requirements specification, Design diagrams, Test strategy, fully commented code, Troubleshooting guide.User (step-by step instructions) Text files (e.g. Readme.txt), PDF files, Sceencasts and animations. 11
8: Review & MaintainReviewing Looking at the solution and comparing it with the original requirements Have they been met? and How well is the solution working?Maintenance Keeping the solution working Expanding the scope of the program to add extra features and functionality Over 80% of the lifecycle can be maintenance 12
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.