lecture’5: so,ware’development’lifecycle’ (sdlc)’
TRANSCRIPT
![Page 1: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/1.jpg)
lecture 5: so,ware development lifecycle
(sdlc)
csc302h winter 2014
![Page 2: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/2.jpg)
recap from last 9me
• software design with uml sequence & use case diagrams – recommend one of these books:
![Page 3: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/3.jpg)
recap from last 9me (2)
• modeling system behavior with sequence diagrams – uml collabora3on diagram captures control flow, sequence is a different rendering
– emphasis is on 3me and ordering of “messages” – objects on top, arrows are messages, 3me is ver3cal
– interac3on frames (alt, opt, loop, par, …)
![Page 4: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/4.jpg)
recap from last 9me (3)
• when to use sequence diagrams? – discussing design op3ons – explaining design paDerns (academic exercise)
• ex. observer:
– elabora3ng on use cases (prac3cal exercise)
![Page 5: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/5.jpg)
recap from last 9me (4)
• use case diagrams – capture system requirements – show how users interact with a system – short phrase to sum up a dis3nct piece of func3onality
– “actors” (s3ck ppl) show a role that a user takes on during an interac3on
– each use case has one or more actors – rela3onships between use cases like <<extends>>, <<uses>>, <<includes>>
– reverse engineering use cases
![Page 6: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/6.jpg)
real-‐world examples
Some real examples of modeling with uml
![Page 7: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/7.jpg)
real-‐word example #1 EligibilityWizardPresenter/View
EligibilityQuestionNavigator
EligibilityQuestionPresenter/
View
performEligibilityCheck()
new EligibilityQuestionNavigator()
Term/Life EligibilityQuesti
onUtil
appendQuestionsForEligibiityCheck()
Number of Questions Added
Get Number of Questions
[Number of Questions not 0]resumeAtNextUnansweredQuestion()
[Number of questions = 0]Error: Please select Plan
MessageDialog
nextQuestion:EligibilityQuestion
[nextQuestion == null]display message: You have completed wizard before, press previous to change answers
[nextQuestion!=null]displayQuestion (dispatch ChangeEligibilityQuestionEvent)
clickedNext()
[if answer == null]display: Please answer question before proceeding
[if answer not null]save answer, getNextQuestion
getQuestionView().getValue()
[nextQuestion == null]display message: You have completed wizard!
[nextQuestion!=null]displayQuestion (dispatch ChangeEligibilityQuestionEvent)
EligibilityWizardPresenter/View
EligibilityQuestionNavigator
EligibilityQuestionPresenter/
View
previous()
[if answer == null]display: Please answer question before proceeding
[if answer not null]save answer, getPreviousQuestion
[previousQuestion!=null]displayQuestion (dispatch ChangeEligibilityQuestionEvent)
return nextQuestion
return previousQuestion
Cancel/Close
Dispatch EligibilityChangedEvent
![Page 8: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/8.jpg)
real-‐word example #2
![Page 9: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/9.jpg)
real-‐word example #3
![Page 10: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/10.jpg)
real-‐word example #4
![Page 11: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/11.jpg)
so,ware development lifecycle (sdlc)
![Page 12: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/12.jpg)
sdlc
• tend to talk about sdlc in terms of a dichotomy – “agile” vs. well…um…“not agile” – or, “planned” vs. “con3nuous” – others tend to (incorrectly) think that the deployment method implies the process
• saas agile • installed tradi3onal
• think more in terms applying the process on an individual feature, or an aggregate
![Page 13: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/13.jpg)
example feature workflow
![Page 14: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/14.jpg)
![Page 15: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/15.jpg)
![Page 16: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/16.jpg)
![Page 17: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/17.jpg)
![Page 18: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/18.jpg)
![Page 19: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/19.jpg)
![Page 20: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/20.jpg)
GanD Charts & Waterfall
![Page 21: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/21.jpg)
![Page 22: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/22.jpg)
![Page 23: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/23.jpg)
![Page 24: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/24.jpg)
![Page 25: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/25.jpg)
goal of sdlc
• what’s the goal of a good sdlc? – passes all the tests (external quality aDributes) – good design/architecture (internal) – good user experience (quality in use) – process quality (can process help ensure product quality)
![Page 26: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/26.jpg)
![Page 27: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/27.jpg)
![Page 28: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/28.jpg)
![Page 29: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/29.jpg)
![Page 30: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/30.jpg)
![Page 31: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/31.jpg)
![Page 32: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/32.jpg)
![Page 33: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/33.jpg)
![Page 34: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/34.jpg)
![Page 35: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/35.jpg)
which process is the best?
• all processes have their pros and cons, but only in the context of a given project. – does con3nuous deployment make sense for the next version of microsoK office?
– what process is best for an x-‐ray machine? – Space ShuDle avionics – hal/s developed specifically for shuDle
• completely independently developed primary and backup systems!
– curiosity rover soKware, installed in flight! and then upgraded on mars!
• again, depends on the nature of the project
![Page 36: lecture’5: so,ware’development’lifecycle’ (sdlc)’](https://reader034.vdocuments.us/reader034/viewer/2022051102/627713701ac5163daa2301d6/html5/thumbnails/36.jpg)
break, then short tutorial