keypoint.docx
《keypoint.docx》由会员分享,可在线阅读,更多相关《keypoint.docx(13页珍藏版)》请在冰豆网上搜索。
keypoint
PPT1
Whatissoftware?
Computerprogramsandassociateddocumentationsuchasrequirements,designmodelsandusermanuals.
Softwareproductsmaybedevelopedforaparticularcustomerormaybedevelopedforageneralmarket.
Newsoftwarecanbecreatedbydevelopingnewprograms,configuringgenericsoftwaresystemsorreusingexistingsoftware.
Whatissoftwareengineering?
Softwareengineeringisanengineeringdisciplinethatisconcernedwithallaspectsofsoftwareproduction.
WhatisthedifferencebetweenSEandCS?
Computerscienceisconcernedwiththeoryandfundamentals;softwareengineeringisconcernedwiththepracticalitiesofdevelopinganddeliveringusefulsoftware.
Whatissoftwareprocess?
Asetofactivitieswhosegoalisthedevelopmentorevolutionofsoftware.
Genericactivitiesinallsoftwareprocessesare:
–Specification-whatthesystemshoulddoanditsdevelopmentconstraints
–Development-productionofthesoftwaresystem
–Validation-checkingthatthesoftwareiswhatthecustomerwants
–Evolution-changingthesoftwareinresponsetochangingdemands.
Whatissoftwareprocessmodel?
²Asimplifiedrepresentationofasoftwareprocess,presentedfromaspecificperspective.
²Examplesofprocessperspectivesare
³Workflowperspective-sequenceofactivities;
³Data-flowperspective-informationflow;
³Role/actionperspective-whodoeswhat.
WhatistheCASE?
²CASEmeansComputerAidedSoftwareEngineering.
²Softwaresystemsthatareintendedtoprovideautomatedsupportforsoftwareprocessactivities.
²CASEsystemsareoftenusedformethodsupport.
Upper–lower
Whatisthedifferencebetweensoftwareengineeringandsystemengineering?
SEisconcernedwithallaspectsofthedevelopmentandevolutionofcomplexsystemwheresoftwareplaysamajorrole.
Systemengineeringisconcernedwithhardwaredevelopment,policyandprocessandprocessdesignandsystemdeploymentaswellassoftwareengineering
PPT2
1.
•Softwareprocessesaretheactivitiesinvolvedinproducingandevolvingasoftwaresystem.
•Softwareprocessmodelsareabstractrepresentationsoftheseprocesses.
•Generalactivitiesarespecification,designandimplementation,validationandevolution.
•Genericprocessmodelsdescribetheorganisationofsoftwareprocesses.Examplesincludethewaterfallmodel,evolutionarydevelopmentandcomponent-basedsoftwareengineering.
2.
•Iterativeprocessmodelsdescribethesoftwareprocessasacycleofactivities.
•Requirementsengineeringistheprocessofdevelopingasoftwarespecification.
•Designandimplementationprocessestransformthespecificationtoanexecutableprogram.
•Validationinvolvescheckingthatthesystemmeetstoitsspecificationanduserneeds.
3.
•Evolutionisconcernedwithmodifyingthesystemafteritisinuse.
+Exploratorydevelopment
–Objectiveistoworkwithcustomersandtoevolveafinalsystemfromaninitialoutlinespecification.Shouldstartwithwell-understoodrequirementsandaddnewfeaturesasproposedbythecustomer.
+Throw-awayprototyping
–Objectiveistounderstandthesystemrequirements.Shouldstartwithpoorlyunderstoodrequirementstoclarifywhatisreallyneeded.
•TheRationalUnifiedProcessisagenericprocessmodelthatseparatesactivitiesfromphases.
•CASEtechnologysupportssoftwareprocessactivities.
Waterfallmodel:
PPT3
WhatisSoftwareprojectmanagement?
Concernedwithactivitiesinvolvedinensuring
thatsoftwareisdeliveredontimeandon
scheduleandinaccordancewiththe
requirementsoftheorganisationsdeveloping
andprocuringthesoftware.
CriticalPath
•Longestofallpathsthroughtheproject
•Pathwithzerofloattime
◦Float(slack)>0meansthatextratimeisavailable.
◦Float(slack)=0meansthesituationiscritical.
◦Float(slack)<0meanstheprojectisbehindschedule,criticallylate.
•Minimumtimetocompletetheproject
WBS:
workbreakdownstructure
A treestructure,whichshowsasubdivisionofeffortrequiredtoachieveanobjective,atoolusedtodefineandgroupa project'sdiscreteworkelements(or tasks)inawaythathelpsorganizeanddefinethetotalworkscopeoftheproject.
Milestonesvs.Deliverables
Milestones:
Recognizableendpointofasoftwareactivity.(Shouldmakesomeoutput:
document,donothavetobelarge)
Deliverables:
Aprojectresultthatisdeliveredtothecustomer.(Usuallyattheendofsomemajorprojectphase)
Deliverablesareusuallymilestone,butmilestonesdonothavetobedeliverables.
•Thereisnotasimplerelationshipbetweenthepricechargedforasystemanditsdevelopmentcosts.开发成本和收费价格不是一个简单的关系
•Factorsaffectingproductivityincludeindividualaptitude,domainexperience,thedevelopmentproject,theprojectsize,toolsupportandtheworkingenvironment.
影响生产里的因素包括个人态度,领域经验,开发项目,项目规模,工具支持和工作环境
•Softwaremaybepricedtogainacontractandthefunctionalityadjustedtotheprice.
可以就软件价格来制定一份合同,用来调整其的价格
•Differenttechniquesofcostestimationshouldbeusedwhenestimatingcosts.
估算成本时应根据不同的技术来估算其的成本
•TheCOCOMOmodeltakesproject,product,personnelandhardwareattributesintoaccountwhenpredictingeffortrequired.
COCOMO(建设性成本模型)在预测所需工作量时考虑了项目,产品,人员和硬件的属性
•Algorithmiccostmodelssupportquantitativeoptionanalysisastheyallowthecostsofdifferentoptionstobecompared.
成本建模算法支持定量分析,因为他们允许选择不同方案的成本进行比较
•Thetimetocompleteaprojectisnotproportionaltothenumberofpeopleworkingontheproject.
完成项目的时间不与项目工作的人数成正比
PPT4
WhatisSoftwareRequirement?
•Itmayrangefromahigh-levelabstractstatementofaserviceorofasystemconstrainttoadetailedmathematicalfunctionalspecification.
Whodoesit?
REengineer?
?
?
Whyisitimportant?
TheHighCostofRequirementErrorscouldevenleadtothefailureofthewholeproject(product).
Whatarethesteps?
◦Feasibilitystudies
◦Requirementselicitation;
◦Requirementsanalysis;
◦Requirementsvalidation;
◦Requirementsmanagement.
Whatistheworkproduct(artifacts)?
HowdoIensurethatI’vedoneitright?
Usingrequirementvalidationtechnique,checkthe:
•Validity.Doesthesystemprovidethefunctionswhichbestsupportthecustomer’sneeds?
•Consistency.Arethereanyrequirementsconflicts?
•Completeness.Areallfunctionsrequiredbythecustomerincluded?
•Realism.Cantherequirementsbeimplementedgivenavailablebudgetandtechnology
•Verifiability.Cantherequirementsbechecked?
WhataretheCASEforourrequirementanalysis?
•Requirementsstorage
◦Requirementsshouldbemanagedinasecure,manageddatastore.
•Changemanagement
◦Theprocessofchangemanagementisaworkflowprocesswhosestagescanbedefinedandinformationflowbetweenthesestagespartiallyautomated.
变更管理的过程是在信息流之间部分自动化的可以被定义的工作流程的阶段
•Traceabilitymanagement
◦Automatedretrievalofthelinksbetweenrequirements.
Points:
•Userrequirements
◦Statementsinnaturallanguageplusdiagramsoftheservicesthesystemprovidesanditsoperationalconstraints.Writtenforcustomers.
•Systemrequirements
◦Astructureddocumentsettingoutdetaileddescriptionsofthesystem’sfunctions,servicesandoperationalconstraints.Defineswhatshouldbeimplementedsomaybepartofacontractbetweenclientandcontractor.
◦一个结构化文件,详细的列出了系统的功能与服务和运作上的限制,定义了客户和承包商之间的合同的一部分该怎样实施
•Functionalrequirements
◦Statementsofservicesthesystemshouldprovide,howthesystemshouldreacttoparticularinputsandhowthesystemshouldbehaveinparticularsituations.
•Non-functionalrequirements
◦Constraintsontheservicesorfunctionsofferedbythesystemsuchastimingconstraints,constraintsonthedevelopmentprocess,standards,etc.
Requirementsengineeringprocesses
•TheprocessesusedforREvarywidelydependingontheapplicationdomain,thepeopleinvolvedandtheorganisationdevelopingtherequirements.
•However,thereareanumberofgenericactivitiescommontoallprocesses
◦Requirementselicitation;
◦Requirementsanalysis;
◦Requirementsvalidation;
◦Requirementsmanagement.
需详细理解。
Feasibilitystudies
•Afeasibilitystudydecideswhetherornottheproposedsystemisworthwhile.
•Ashortfocusedstudythatchecks
◦Ifthesystemcontributestoorganisationalobjectives;
◦Ifthesystemcanbeengineeredusingcurrenttechnologyandwithinbudget;
◦Ifthesystemcanbeintegratedwithothersystemsthatareused.
Elicitationandanalysis
•Sometimescalledrequirementselicitationorrequirementsdiscovery.
•Involvestechnicalstaffworkingwithcustomerstofindoutabouttheapplicationdomain,theservicesthatthesystemshouldprovideandthesystem’soperationalconstraints.
•Mayinvolveend-users,managers,engineersinvolvedinmaintenance,domainexperts,tradeunions,etc.Thesearecalledstakeholders.
Requirementsvalidation
•Concernedwithdemonstratingthattherequirementsdefinethesystemthatthecustomerreallywants.
•Requirementserrorcostsarehighsovalidationisveryimportant
◦Fixingarequirementserrorafterdeliverymaycostupto100timesthecostoffixinganimplementationerror.
Requirementsmanagement
•Requirementsmanagementistheprocessofmanagingchangingrequirementsduringtherequirementsengineeringprocessandsystemdevelopment.
•Requirementsareinevitablyincompleteandinconsistent
◦Newrequirementsemergeduringtheprocessasbusinessneedschangeandabetterunderstandingofthesystemisdeveloped;
◦Differentviewpointshavedifferentrequirementsandtheseareoftencontradictory.
PPT5
●各种架构如:
Client-Server,data-centricetc.各自的优缺点;适应性等(如给定一个需求,给出架构设计设想)
●分布式体系架构
Points:
Softwarearchitecture
•Thedesignprocessforidentifyingthesub-system