




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chapter2ModelingtheProcessandLifeCycleShariL.PfleegerJoanneM.Atlee4thEditionContents2.1TheMeaningofProcess2.2SoftwareProcessModels2.3ToolsandTechniquesforProcessModeling2.4PracticalProcessModeling2.5InformationSystemExample2.6RealTimeExample2.7WhatthisChapterMeansforYouChapter2ObjectivesWhatwemeanbya“process”Softwaredevelopmentproducts,processes,andresourcesSeveralmodelsofthesoftwaredevelopmentprocessToolsandtechniquesforprocessmodeling2.1TheMeaningofProcessAprocess:aseriesofstepsinvolvingactivities,constrains,andresourcesthatproduceanintendedouputofsomekindAprocessinvolvesasetoftoolsandtechniques2.1TheMeaningofProcess
ProcessCharacteristicsPrescribesallmajorprocessactivitiesUsesresources,subjecttosetofconstraints(suchasschedule)ProducesintermediateandfinalproductsMaybecomposedofsubprocesseswithhierarchyorlinksEachprocessactivityhasentryandexitcriteriaActivitiesareorganizedinsequence,sotimingisclearEachprocesshasguidingprinciples,includinggoalsofeachactivityConstraintsmayapplytoanactivity,resourceorproduct2.1TheMeaningofProcess
TheImportanceofProcessesImposeconsistencyandstructureonasetofactivitiesGuideustounderstand,control,examine,andimprovetheactivitiesEnableustocaptureourexperiencesandpassthemalong2.2SoftwareProcessModels
ReasonsforModelingaProcessToformacommonunderstandingTofindinconsistencies,redundancies,omissionsTofindandevaluateappropriateactivitiesforreachingprocessgoalsTotailorageneralprocessforaparticularsituationinwhichitwillbeused2.2SoftwareProcessModels
SoftwareLifeCycleWhenaprocessinvolvesbuildingasoftware,theprocessmaybereferredtoassoftwarelifecycleRequirementsanalysisanddefinitionSystem(architecture)designProgram(detailed/procedural)designWritingprograms(coding/implementation)Testing:unit,integration,systemSystemdelivery(deployment)Maintenance2.2SoftwareProcessModels
SoftwareDevelopmentProcessModelsWaterfallmodelVmodelPrototypingmodelOperationalspecificationTransformationalmodelPhaseddevelopment:incrementsanditerationsSpiralmodelAgilemethods2.2SoftwareProcessModels
WaterfallModelOneofthefirstprocessdevelopmentmodelsproposedWorksforwellunderstoodproblemswithminimalornochangesintherequirementsSimpleandeasytoexplaintocustomersItpresentsaveryhigh-levelviewofthedevelopmentprocesssequenceofprocessactivitiesEachmajorphaseismarkedbymilestonesanddeliverables(artifacts)2.2SoftwareProcessModels
WaterfallModel(continued)2.2SoftwareProcessModels
WaterfallModel(continued)ThereisnoiterationinwaterfallmodelMostsoftwaredevelopmentsapplyagreatmanyiterations2.2SoftwareProcessModels
Sidebar2.1DrawbacksofTheWaterfallModelProvidesnoguidancehowtohandlechangestoproductsandactivitiesduringdevelopment(assumesrequirementscanbefrozen)ViewssoftwaredevelopmentasmanufacturingprocessratherthanascreativeprocessThereisnoiterativeactivitiesthatleadtocreatingafinalproductLongwaitbeforeafinalproduct2.2SoftwareProcessModels
WaterfallModelwithPrototypeAprototypeisapartiallydevelopedproductPrototypinghelpsdevelopersassessalternativedesignstrategies(designprototype)usersunderstandwhatthesystemwillbelike(userinterfaceprototype)Protopypingisusefulforverificationandvalidation2.2SoftwareProcessModels
WaterfallModelwithPrototype(continued)Waterfallmodelwithprototyping2.2SoftwareProcessModels
VModelAvariationofthewaterfallmodelUsesunittestingtoverifyproceduraldesignUsesintegrationtestingtoverifyarchitectural(system)designUsesacceptancetestingtovalidatetherequirementsIfproblemsarefoundduringverificationandvalidation,theleftsideoftheVcanbere-executedbeforetestingontherightsideisre-enacted2.2SoftwareProcessModels
VModel(continued)2.2SoftwareProcessModels
PrototypingModelAllowsrepeatedinvestigationoftherequirementsordesignReducesriskanduncertaintyinthedevelopment2.2SoftwareProcessModels
OperationalSpecificiationModelRequirementsareexecuted(examined)andtheirimplicationevaluatedearlyinthedevelopmentprocessFunctionalityandthedesignareallowedtobemerged2.2SoftwareProcessModels
TransformationalModelFewermajordevelopmentstepsAppliesaseriesoftransformationstochangeaspecificationintoadeliverablesystemChangedatarepresentationSelectalgorithmsOptimizeCompileReliesonformalismRequiresformalspecification(toallowtransformations)2.2SoftwareProcessModels
TransformationalModel(continued)2.2SoftwareProcessModels
PhasedDevelopment:IncrementsandIterationsShortercycletimeSystemdeliveredinpiecesenablescustomerstohavesomefunctionalitywhiletherestisbeingdevelopedAllowstwosystemsfunctioninginparalleltheproductionsystem(releasen):currentlybeingusedthedevelopmentsystem(releasen+1):thenextversion2.2SoftwareProcessModels
PhasedDevelopment:IncrementsandIterations
(continued)2.2SoftwareProcessModels
PhasedDevelopment:IncrementsandIterations
(continued)Incrementaldevelopment:startswithsmallfunctionalsubsystemandaddsfunctionalitywitheachnewreleaseIterativedevelopment:startswithfullsystem,thenchangesfunctionalityofeachsubsystemwitheachnewrelease2.2SoftwareProcessModels
PhasedDevelopment:IncrementsandIterations
(continued)PhaseddevelopmentisdesirableforseveralreasonsTrainingcanbeginearly,eventhoughsomefunctionsaremissingMarketscanbecreatedearlyforfunctionalitythathasneverbeforebeenofferedFrequentreleasesallowdeveloperstofixunanticipatedproblemsglobalyandquicklyThedevelopmentteamcanfocusondifferentareasofexpertisewithdifferentreleases2.2SoftwareProcessModels
SpiralModelSuggestedbyBoehm(1988)CombinesdevelopmentactivitieswithriskmanagementtominimizeandcontrolrisksThemodelispresentedasaspiralinwhicheachiterationisrepresentedbyacircuitaroundfourmajoractivitiesPlanDeterminegoals,alternatives,andconstraintsEvaluatealternativesandrisksDevelopandtest2.2SoftwareProcessModels
SpiralModel(continued)2.2SoftwareProcessModels
AgileMethodsEmphasisonflexibilityinproducingsoftwarequicklyandcapablyAgilemanifesto(宣言)ValueindividualsandinteractionsoverprocessandtoolsPrefertoinvesttimeinproducingworkingsoftwareratherthaninproducingcomprehensivedocumentationFocusoncustomercollaborationratherthancontractnegotiationConcentrateonrespondingtochangeratherthanoncreatingaplanandthenfollowingit2.2SoftwareProcessModels
AgileMethods:ExamplesofAgileProcessExtremeprogramming(XP)Crystal:acollectionofapproachesbasedonthenotionthateveryprojectneedsauniquesetofpoliciesandconventionsScrum:30-dayiterations;multipleself-organizingteams;daily“scrum”coordinationAdaptivesoftwaredevelopment(ASD)2.2SoftwareProcessModels
AgileMethods:ExtremeProgrammingEmphasisonfourcharacteristicsofagilityCommunication:continualinterchangebetweencustomersanddevelopersSimplicity:selectthesimplestdesignorimplementationCourage:commitmenttodeliveringfunctionalityearlyandoftenFeedback:loopsbuiltintothevariousactivititesduringthedevelopmentprocess2.2SoftwareProcessModels
AgileMethods:TwelveFacetsofXPTheplanninggame(customerdefinesvalue)SmallreleasesMetaphor(commonvision,commonnames)SimpledesignWritingtestsfirstRefactoringPairprogrammingCollectiveownershipContinuousintegration(smallincrements)Sustainablepace(40hours/week)On-sitecustomerCodingstandards2.2SoftwareProcessModels
Sidebar2.2WhenisExtremeTooExtreme?Extremeprogramming'spracticesareinterdependentAvulnerabilityifoneofthemismodifiedRequirementsexpressedasasetoftestcasesmustbepassedbythesoftwareSystempassesthetestsbutisnotwhatthecustomerispayingforRefactoringissueDifficulttoreworkasystemwithoutdegradingitsarchitecture2.2SoftwareProcessModels
Sidebar2.3CollectionsofProcessModelsDevelopmentprocessisaproblem-solvingactivityCurtis,Krasner,andIscoe(1988)performedafieldstudytodeterminewhichproblem-solvingfactorstocapturedinprocessmodelTheresultssuggestalayeredbehavioralmodelassupplementtothetraditionalmodelProcessmodelshouldnotonlydescribeseriesoftasks,butalsoshoulddetailfactorsthatcontributetoaproject'sinherentuncertaintyandriskDiscussion:SelectingModels-1Foreachofthefollowing,whatlifecyclesmightcontributeusefulelements,andwhy?ProjectAisaddingthreeneweditfunctionsand5newprinteroptionstoanewreleaseofawordprocessingproduct.ProjectBisbuildingafoot-pedaloperatedmouse.Discussion:SelectingModels-2ProjectChastoincorporate3newdivisionsofthecompanythatwererecentlyacquiredintothecorporatenetworkstrategy.Eachofthedivisionshasitsownhomegrownhardwareandsoftware,andallaretobeconvertedtoacommontypeofserverandoperatingsystem.ProjectDneedstoupgradesoftwaretohelpindividualsfiletheirfederaltaxforms.Thenationallegislaturewillbemeetinguntilamonthbeforetheproducthastoship,decidingonlastminutechangestotaxrulesuntilthen.NotationdependsonwhatwewanttocaptureinthemodelThetwomajornotationcategoriesStaticmodel:depictstheprocessDynamicmodel:enactstheprocess2.3ToolsandTechniquesforProcessModelingElementsofaprocessareviewedintermsofseventypesActivitySequenceProcessmodelResourceControlPolicyOrganizationSeveraltemplates,suchasanArtifactDefinitionTemplate2.3ToolsandTechniquesforProcessModeling
StaticModeling:LaiNotation2.3ToolsandTechniquesforProcessModeling
StaticModeling:LaiNotation2.3ToolsandTechniquesforProcessModeling
StaticModeling:LaiNotation(continued)Theprocessofstartingacar2.3ToolsandTechniquesforProcessModeling
StaticModeling:LaiNotation(continued)TransitiondiagramillustratesthetransitionforacarEnablesenactionofprocesstoseewhathappenstoresourcesandartifactsasactivitiesoccurSimulatealternativesandmakechangestoimprovetheprocessExample:systemsdynamicsmodel2.3ToolsandTechniquesforProcessModeling
Dynamic
ModelingIntroducedbyForresterinthe1950'sAbdel-HamidandMadnickappliedittosoftwaredevelopmentOnewaytounderstandsystemdynamicsisbyexploringhowsoftwaredevelopmentprocessaffectsproductivity2.3ToolsandTechniquesforProcessModeling
Dynamic
Modeling:SystemDynamics2.3ToolsandTechniquesforProcessModeling
Dynamic
Modeling:SystemDynamics(continued)PictorialpresentationoffactorsaffectingproductivityArrowsindicatehowchangesinonefactorchangeanother2.3ToolsandTechniquesforProcessModeling
Dynamic
Modeling:SystemDynamics(continued)Asystemdynamicmodelcontainingfourmajorareasaffectingproductivity
2.3ToolsandTechniquesforProcessModeling
Sidebar2.4ProcessProgrammingAprogramtodescribeandenacttheprocessEliminateuncertaintyBasisofanautomatedenvironmenttoproducesoftwareDoesnotcaptureinherentvariabilityofunderlyingdevelopmentprocessImplementationenvironment,skill,experience,understandingthecustomerneedsProvidesonlysequenceoftasksGivesnowarningofimpendingproblems2.4PracticalProcessModeling
MarvelCaseStudiesUsesMarvelprocesslanguage(MPL)Threeconstructs:classes,rules,toolenvelopesThree-partprocessdescriptionrule-basedspecificationofprocessbehaviorobject-orienteddefinitionofmodel’sinformationprocesssetofenvelopestointerfacebetweenMarvelandexternalsoftwaretools2.4PracticalProcessModeling
MarvelCaseStudies(continued)InvolvedtwoAT&TnetworksnetworkcarriedphonecallssignalingnetworkresponsibleforroutingcallsandbalancingthenetworkloadMarvelwasusedtodescribethesignalingfaultresolution2.4PracticalProcessModeling
MarvelCaseStudies(continued)SignalingFaultResolutionProcess2.4PracticalProcessModeling
ExampleofMarvelCommands2.4PracticalProcessModeling
DesirablePropertiesofProcessModelingToolsandTechniquesFacilitateshumanunderstandingandcommunicationSupportsprocessimprovementSupportsprocessmanagementProvidesautomatedguidanceinperformingtheprocessSupportsautomatedprocessexecution2.5InformationSystemExample
PiccadillyTelevisionAdvertisingSystemNeedsasystemthatiseasilymaintainedandchangedRe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川塔吊考试试题及答案
- 妊娠期高血压疾病护理
- 元宝创意美术课件
- 子痫抢救护理流程
- 神经内科不良事件管理规范
- 航空航天复合材料 课件 第4章 陶瓷基复合材料
- 不可撤销担保函在跨境融资租赁中的法律效力合同
- 拆迁公司责任保险合同范本
- 小儿鞘膜积液的护理查房
- 高新技术企业财务代理与研发资金支持协议
- 简单装饰装修施工方案范本
- 小学生三好学生竞选演讲稿PPT幻灯片
- 自动理料机和包装机安全操作规定
- 检验MSA-Kappa测试报告
- Oracle-ERP-EBS-应付模块AP培训
- 古诗词九宫格题目课件
- 玄隐遗密全文及译文
- 2023年浙江杭州西湖区专职社区工作者招考聘用55人笔试题库含答案详解
- IBNR准备金计提规定
- 2023年药学分子生物学题库
- 仁爱初中英语九上教案设计u3t1sa
评论
0/150
提交评论