安徽工业大学《软件工程》(全)课件_第1页
安徽工业大学《软件工程》(全)课件_第2页
安徽工业大学《软件工程》(全)课件_第3页
安徽工业大学《软件工程》(全)课件_第4页
安徽工业大学《软件工程》(全)课件_第5页
已阅读5页,还剩903页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SoftwareEngineering

Bornin1968,BecauseofSoftwareCrisis

(highcosts,slowdelivery,lowquality)SoftwareEngineeringB概况一点击此处输入相关文本内容点击此处输入相关文本内容整体概述概况三点击此处输入相关文本内容点击此处输入相关文本内容概况二点击此处输入相关文本内容点击此处输入相关文本内容概况一点击此处输入相关文本内容点击此处输入相关文本内容整体概Bilinguallanguageteaching双语教学(中英,中俄,中韩)板书、讲授、作业、考试采用两种语言的混杂,比例是外语不低于20%是基础英语、科技英语、专业英语的延续,体现英语教学的不断线。是英语的应用,不是为了学习英语,经过近20年的英语学习,现在是大家应用英语的时候了。双语软件工程是为了学习软件工程的知识,是为了达到国际水平而开设的。Bilinguallanguageteaching双语教StateinvestigateProgramlanguage:1.会C语言2.除C语言外,会C++3.还会Java,C#Practices:1.生成过exe文件2.制作过setup文件3.做过网站StateinvestigateProgramlangStateinvestigate听说过:1.软件工程2.瀑布型模型3.构件4.OCX,DLL,COM,J2EE5.SOA6.云计算Stateinvestigate听说过:Purpose教我们如何做软件,按照工程化的方法开发软件PurposeWhatissoftware?(什么是软件)ComputerprogramsandassociateddocumentationandConfigurationData程序、相关文档和数据Softwareproductsmaybedevelopedforaparticularcustomerormaybedevelopedforageneralmarket订制和通用Whatissoftware?(什么是软件)ComputWhatissoftwareengineering?

(什么是软件工程)Softwareengineeringisanengineeringdisciplinewhichisconcernedwithallaspectsofsoftwareproduction(涉及软件所有方面的工程原则)Softwareengineersshouldadoptasystematicandorganisedapproachtotheirworkanduseappropriatetoolsandtechniquesdependingontheproblemtobesolved,thedevelopmentconstraintsandtheresourcesavailable(采用系统方法、工具和管理技术)Whatissoftwareengineering?

Whatisthedifferencebetweensoftwareengineeringandcomputerscience?Computerscienceisconcernedwiththeoryandfundamentals;softwareengineeringisconcernedwiththepracticalitiesofdevelopinganddeliveringusefulsoftwareComputersciencetheoriesarecurrentlyinsufficienttoactasacompleteunderpinningforsoftwareengineering计算机科学是基础理论,支撑软件工程WhatisthedifferencebetweenWhatisthedifferencebetweensoftwareengineeringandsystemengineering?Systemengineeringisconcernedwithallaspectsofcomputer-basedsystemsdevelopmentincludinghardware,softwareandprocessengineering.SoftwareengineeringispartofthisprocessSystemengineersareinvolvedinsystemspecification,architecturaldesign,integrationanddeployment软件工程是系统工程的分支WhatisthedifferencebetweenWhatisasoftwareprocess?

(什么是软件过程)AsetofactivitieswhosegoalisthedevelopmentorevolutionofsoftwareGenericactivitiesinallsoftwareprocessesare:Specification、Development、Validation、Evolution软件开发和升级的一系列活动:描述、开发、测试和升级Whatisasoftwareprocess?

(什Whatisasoftwareprocessmodel?

(什么是软件过程模型)Asimplifiedrepresentationofasoftwareprocess,presentedfromaspecificperspective(简单概括)ExamplesofprocessperspectivesareWorkflowperspective(工作流)Data-flowperspective(信息流)Role/actionperspective(角色/行为)Genericprocessmodels Waterfall(瀑布型)Evolutionarydevelopment(进化型)Formaltransformation(形式化型)Integrationfromreusablecomponents(面向复用型)WhatisasoftwareprocessmodWhatarethecostsofsoftwareengineering?

(什么是软件工程成本)Roughly60%ofcostsaredevelopmentcosts,40%aretestingcosts.Forcustomsoftware,evolutioncostsoftenexceeddevelopmentcostsCostsvarydependingonthetypeofsystembeingdevelopedandtherequirementsofsystemattributessuchasperformanceandsystemreliabilityDistributionofcostsdependsonthedevelopmentmodelthatisusedWhatarethecostsofsoftwareWhataresoftwareengineeringmethods?

(什么是软件工程方法)Structuredapproachestosoftwaredevelopmentwhichincludesystemmodels,notations,rules,designadviceandprocessguidanceModeldescriptions(模型描述)

DescriptionsofgraphicalmodelswhichshouldbeproducedRules(规则)ConstraintsappliedtosystemmodelsRecommendations(建议)AdviceongooddesignpracticeProcessguidance(过程指南)WhatactivitiestofollowWhataresoftwareengineeringWhatisCASE(Computer-AidedSoftwareEngineering)(辅助工具)Softwaresystemswhichareintendedtoprovideautomatedsupportforsoftwareprocessactivities.CASEsystemsareoftenusedformethodsupportUpper-CASE(高端工具)ToolstosupporttheearlyprocessactivitiesofrequirementsanddesignLower-CASE(低端工具)Toolstosupportlateractivitiessuchasprogramming,debuggingandtestingWhatisCASE(Computer-AidedSWhataretheattributesofgoodsoftware?

(优良软件的特性是什么?)Thesoftwareshoulddelivertherequiredfunctionalityandperformancetotheuserandshouldbemaintainable,dependableandusableMaintainability(可维护)Dependability(可信赖)Efficiency(有效)Usability(可用)WhataretheattributesofgooWhatarethekeychallengesfacingsoftwareengineering?(面临的挑战)Copingwithlegacysystems,copingwithincreasingdiversityandcopingwithdemandsforreduceddeliverytimesLegacysystems(遗留系统)Old,valuablesystemsmustbemaintainedandupdatedHeterogeneity(多样性)SystemsaredistributedandincludeamixofhardwareandsoftwareDelivery(交付)ThereisincreasingpressureforfasterdeliveryofsoftwareWhatarethekeychallengesfaIssuesofprofessionalresponsibility

(职业道德)Confidentiality

(机密)Engineersshouldnormallyrespecttheconfidentialityoftheiremployersorclientsirrespectiveofwhetherornotaformalconfidentialityagreementhasbeensigned.Competence

(工作竞争力)Engineersshouldnotmisrepresenttheirlevelofcompetence.Theyshouldnotknowinglyacceptworkwhichisoutwiththeircompetence.IssuesofprofessionalresponsIssuesofprofessionalresponsibility

(职业道德)Intellectualpropertyrights

(知识产权)Engineersshouldbeawareoflocallawsgoverningtheuseofintellectualpropertysuchaspatents,copyright,etc.Theyshouldbecarefultoensurethattheintellectualpropertyofemployersandclientsisprotected.Computermisuse

(计算机滥用)Softwareengineersshouldnotusetheirtechnicalskillstomisuseotherpeople’scomputers.Computermisuserangesfromrelativelytrivial(gameplayingonanemployer’smachine,say)toextremelyserious(disseminationofviruses).IssuesofprofessionalresponsCodeofethics–principles

(代码道德)1.PUBLIC(公众感)

Softwareengineersshallactconsistentlywiththepublicinterest.2.CLIENTANDEMPLOYER

(客户和顾主)Softwareengineersshallactinamannerthatisinthebestinterestsoftheirclientandemployerconsistentwiththepublicinterest.3.PRODUCT

(产品)Softwareengineersshallensurethattheirproductsandrelatedmodificationsmeetthehighestprofessionalstandardspossible.Codeofethics–principles

(Codeofethics–principles

(代码道德)JUDGMENT(判断力)Softwareengineersshallmaintainintegrityandindependenceintheirprofessionaljudgment.5. MANAGEMENT(管理能力)Softwareengineeringmanagersandleadersshallsubscribetoandpromoteanethicalapproachtothemanagementofsoftwaredevelopmentandmaintenance.6.PROFESSION(职业感)Softwareengineersshalladvancetheintegrityandreputationoftheprofessionconsistentwiththepublicinterest.Codeofethics–principles

(Codeofethics–principles

(代码道德)7. COLLEAGUES(对待同事)Softwareengineersshallbefairtoandsupportiveoftheircolleagues.8.SELF(自我要求)Softwareengineersshallparticipateinlifelonglearningregardingthepracticeoftheirprofessionandshallpromoteanethicalapproachtothepracticeoftheprofession.Codeofethics–principles

(Keypoints(主要知识点)Softwareengineeringisanengineeringdisciplinewhichisconcernedwithallaspectsofsoftwareproduction.Softwareproductsconsistofdevelopedprogramsandassociateddocumentation.Essentialproductattributesaremaintainability,dependability,efficiencyandusability.Thesoftwareprocessconsistsofactivitieswhichareinvolvedindevelopingsoftwareproducts.Basicactivitiesaresoftwarespecification,development,validationandevolution.Keypoints(主要知识点)SoftwareengiKeypointsCASEtoolsaresoftwaresystemswhicharedesignedtosupportroutineactivitiesinthesoftwareprocesssuchaseditingdesigndiagrams,checkingdiagramconsistencyandkeepingtrackofprogramtestswhichhavebeenrun.Softwareengineershaveresponsibilitiestotheengineeringprofessionandsociety.Theyshouldnotsimplybeconcernedwithtechnicalissues.Professionalsocietiespublishcodesofconductwhichsetoutthestandardsofbehaviourexpectedoftheirmembers.KeypointsCASEtoolsaresoftwHomeworkwhatissoftware?whatisSoftwareEngineering?whatissoftwareprocess?whatarethecostsofSoftwareEngineering?whatisCASE?whatissoftwareengineeringcodeofethicsandprofessionalpractice?Homeworkwhatissoftware?SoftwareProcesses(软件过程)Coherentsetsofactivitiesforspecifying,designing,implementingandtestingsoftwaresystems(定义、设计、实现和测试等一系列活动)SoftwareProcesses(软件过程)CoherGenericsoftwareprocessmodels

(一般软件过程模型)Thewaterfallmodel(瀑布模型)Evolutionarydevelopment(进化式模型)Formalsystemsdevelopment(形式化模型)Reuse-baseddevelopment(面向复用模型)GenericsoftwareprocessmodelWaterfallmodel(瀑布模型)需求定义系统和软件设计编码和单元测试集成和系统测试运行和维护Waterfallmodel(瀑布模型)需求定义系统和软件Waterfallmodelproblems

(瀑布模型的问题)Inflexiblepartitioningoftheprojectintodistinctstages(僵化的阶段划分)Thismakesitdifficulttorespondtochangingcustomerrequirements(不适应需求变化)Therefore,thismodelisonlyappropriatewhentherequirementsarewell-understood(适用于需求明确的系统)Waterfallmodelproblems

(瀑布模型Evolutionarydevelopment

(进化开发)Exploratorydevelopment(演化开发)Objectiveistoworkwithcustomersandtoevolveafinalsystemfromaninitialoutlinespecification.Shouldstartwithwell-understoodrequirementsThrow-awayprototyping(抛弃开发)Objectiveistounderstandthesystemrequirements.ShouldstartwithpoorlyunderstoodrequirementsEvolutionarydevelopment

(进化开发Evolutionarydevelopment

(进化开发)Evolutionarydevelopment

(进化开Evolutionarydevelopment

(进化开发)Problems(问题)Lackofprocessvisibility(过程不可见)Systemsareoftenpoorlystructured(系统结构不好)Specialskills(e.g.inlanguagesforrapidprototyping)mayberequired(需要一些技巧)Applicability(适用于)Forsmallormedium-sizeinteractivesystems中等规模的交互系统Forpartsoflargesystems(e.g.theuserinterface)大系统的一部分Forshort-lifetimesystems生命周期短的系统Evolutionarydevelopment

(进化开Formalsystemsdevelopment

(形式化系统开发)Basedonthetransformationofamathematicalspecificationthroughdifferentrepresentationstoanexecutableprogram(基于数学模型)Transformationsare‘correctness-preserving’soitisstraightforwardtoshowthattheprogramconformstoitsspecification(正确转换)Embodiedinthe‘Cleanroom’approachtosoftwaredevelopment(净室方法)Formalsystemsdevelopment

(形式Formalsystemsdevelopment

(形式化系统开发)需求定义形式化描述形式化转换集成和系统测试Formalsystemsdevelopment

(形Formaltransformations

(形式化转换)形式描述可执行系统Formaltransformations

(形式化转换Formalsystemsdevelopment

(形式化系统开发)Problems(问题)NeedforspecialisedskillsandtrainingtoapplythetechniqueDifficulttoformallyspecifysomeaspectsofthesystemsuchastheuserinterfaceApplicability(适用于)CriticalsystemsespeciallythosewhereasafetyorsecuritycasemustbemadebeforethesystemisputintooperationFormalsystemsdevelopment

(形Reuse-orienteddevelopment

(面向复用的开发)BasedonsystematicreusewheresystemsareintegratedfromexistingcomponentsorCOTS(Commercial-off-the-shelf)systems(现成商业系统)ProcessstagesComponentanalysis(构件分析)Requirementsmodification(需求修改)Systemdesignwithreuse(系统设计)Developmentandintegration(开发和集成)ThisapproachisbecomingmoreimportantbutstilllimitedexperiencewithitReuse-orienteddevelopment

(面向Reuse-orienteddevelopment

(面向复用的开发)需求定义构件分析需求调整系统设计设计和集成系统测试Reuse-orienteddevelopment

(面Processiteration(过程反复)SystemrequirementsALWAYSevolveinthecourseofaprojectsoprocessiterationwhereearlierstagesarereworkedisalwayspartoftheprocessforlargesystemsIterationcanbeappliedtoanyofthegenericprocessmodelsTwo(related)approachesIncrementaldevelopmentSpiraldevelopmentProcessiteration(过程反复)SystemIncrementaldevelopment

(增量开发)Ratherthandeliverthesystemasasingledelivery,thedevelopmentanddeliveryisbrokendownintoincrementswitheachincrementdeliveringpartoftherequiredfunctionalityUserrequirementsareprioritisedandthehighestpriorityrequirementsareincludedinearlyincrementsOncethedevelopmentofanincrementisstarted,therequirementsarefrozenthoughrequirementsforlaterincrementscancontinuetoevolveIncrementaldevelopment

(增量开发)Spiraldevelopment

(螺旋开发)ProcessisrepresentedasaspiralratherthanasasequenceofactivitieswithbacktrackingEachloopinthespiralrepresentsaphaseintheprocess.Nofixedphasessuchasspecificationordesign-loopsinthespiralarechosendependingonwhatisrequiredRisksareexplicitlyassessedandresolvedthroughouttheprocessSpiraldevelopment

(螺旋开发)ProceSpiralmodelofthesoftwareprocess

(螺旋开发)Spiralmodelofthesoftwarep总结进化式模型是新手和新的不熟悉项目的首选瀑布模型有经验的人对熟悉的系统形式化转换往往针对协议一类便于形式化的系统面向复用是成功的商业系统现在软件开发面临:1.平台的不同2.工具的不同总结进化式模型是新手和新的不熟悉项目的首选Automatedprocesssupport(CASE)(计算机辅助工具)Computer-aidedsoftwareengineering(CASE)issoftwaretosupportsoftwaredevelopmentandevolutionprocessesActivityautomation(自动化)GraphicaleditorsforsystemmodeldevelopmentDatadictionarytomanagedesignentitiesGraphicalUIbuilderforuserinterfaceconstructionDebuggerstosupportprogramfaultfindingAutomatedtranslatorstogeneratenewversionsofaprogramAutomatedprocesssupport(CASCasetechnology

(计算机辅助工具技术)Casetechnologyhasledtosignificantimprovementsinthesoftwareprocessthoughnottheorderofmagnitudeimprovementsthatwereoncepredicted(工具作用尚未达到预期)Softwareengineeringrequirescreativethought-thisisnotreadilyautomatable(创造性行为)Softwareengineeringisateamactivityand,forlargeprojects,muchtimeisspentinteaminteractions.CASEtechnologydoesnotreallysupportthese(人之间交互太多)Casetechnology

(计算机辅助工具技术)CaCASEclassification

(计算机辅助工具分类)ClassificationhelpsusunderstandthedifferenttypesofCASEtoolsandtheirsupportforprocessactivitiesFunctionalperspective(功能观点)ToolsareclassifiedaccordingtotheirspecificfunctionProcessperspective(过程观点)ToolsareclassifiedaccordingtoprocessactivitiesthataresupportedIntegrationperspective(集成观点)Toolsareclassifiedaccordingtotheirorganisationintointegratedunits CASEclassification

(计算机辅助工具分CASEintegration

(计算机辅助工具集成)Tools(工具)Supportindividualprocesstaskssuchasdesignconsistencychecking,textediting,etc.Workbenches(工作平台)Supportaprocessphasesuchasspecificationordesign,NormallyincludeanumberofintegratedtoolsEnvironments(环境)Supportallorasubstantialpartofanentiresoftwareprocess.NormallyincludeseveralintegratedworkbenchesCASEintegration

(计算机辅助工具集成)TKeypoints(主要知识点)Softwareprocessesaretheactivitiesinvolvedinproducingandevolvingasoftwaresystem.TheyarerepresentedinasoftwareprocessmodelGeneralactivitiesarespecification,designandimplementation,validationandevolutionGenericprocessmodelsdescribetheorganisationofsoftwareprocessesIterativeprocessmodelsdescribethesoftwareprocessasacycleofactivitiesKeypoints(主要知识点)SoftwareprocKeypoints(主要知识点)RequirementsengineeringistheprocessofdevelopingasoftwarespecificationDesignandimplementationprocessestransformthespecificationtoanexecutableprogramValidationinvolvescheckingthatthesystemmeetstoitsspecificationanduserneedsEvolutionisconcernedwithmodifyingthesystemafteritisinuseCASEtechnologysupportssoftwareprocessactivitiesKeypoints(主要知识点)Requirements

1.

whatarethefoursoftwareprocessmodels?2.

whatisthewaterfallmodel?Advantagesanddisadvantages?3.

whatarethetwokindmodelsofevolutionarymodel?Advantagesanddisadvantages?4.

whatisthereuse-basedmodel?Advantagesanddisadvantages?5.

whatisformalsystemdevelopmentmodel?Advantagesanddisadvantages?Homework

HomeworkProjectmanagement

项目管理Organising,planningandschedulingsoftwareprojects软件项目的组织、计划和进度安排Projectmanagement

项目管理Organis角色模拟假设马鞍山股份钢铁公司投资1亿元人民币,开发全公司的ERP(EnterpriseResourcePlanning)管理系统,你作为项目负责人,请问你如何开展工作,写出提纲。角色模拟假设马鞍山股份钢铁公司投资1亿元人民币,开发全公司的给出参考

项目规划和计划人员组成

进度安排成本预算(经费分配)风险管理给出参考Topicscovered

包含主要内容Managementactivities管理行为Projectplanning计划管理Projectscheduling进度管理Riskmanagement风险管理Topicscovered

包含主要内容ManagemenTheproductisintangible不可见性Theproductisuniquelyflexible弹性Softwareengineeringisnotrecognizedasan

engineeringdisciplinewiththesamestatusas

mechanical,electricalengineering,etc.Thesoftwaredevelopmentprocessisnot

standardised无标准Manysoftwareprojectsare'one-off'projects一次性Softwaremanagementdistinctions

软件管理特点Theproductisintangible不可见Projectstaffing

人员管理MaynotbepossibletoappointtheidealpeopletoworkonaprojectProjectbudgetmaynotallowfortheuseofhighly-paidstaffStaffwiththeappropriateexperiencemaynotbeavailableAnorganisationmaywishtodevelopemployeeskillsonasoftwareprojectManagershavetoworkwithintheseconstraintsespeciallywhen(asiscurrentlythecase)thereisaninternationalshortageofskilledITstaffProjectstaffing

人员管理MaynotbProjectplanstructure

项目计划结构IntroductionProjectorganisationRiskanalysisHardwareandsoftwareresourcerequirementsWorkbreakdownProjectscheduleMonitoringandreportingmechanismsProjectplanstructure

项目计划结构IMilestonesintheREprocess

软件工程中的里程碑MilestonesintheREprocess

软Projectscheduling

项目进度SplitprojectintotasksandestimatetimeandresourcesrequiredtocompleteeachtaskOrganizetasksconcurrentlytomakeoptimal

useofworkforceMinimizetaskdependenciestoavoiddelays

causedbyonetaskwaitingforanothertocompleteDependentonprojectmanagersintuitionandexperienceProjectscheduling

项目进度SplitpSchedulingproblems

进度问题EstimatingthedifficultyofproblemsandhencethecostofdevelopingasolutionishardProductivityisnotproportionaltothenumberofpeopleworkingonataskAddingpeopletoalateprojectmakesitlaterbecauseofcommunicationoverheadsTheunexpectedalwayshappens.AlwaysallowcontingencyinplanningSchedulingproblems

进度问题EstimaBarchartsandactivitynetworks

横道图和活动网络GraphicalnotationsusedtoillustratetheprojectscheduleShowprojectbreakdownintotasks.Tasksshouldnotbetoosmall.TheyshouldtakeaboutaweekortwoActivitychartsshowtaskdependenciesandthethecriticalpathBarchartsshowscheduleagainstcalendartimeBarchartsandactivitynetworTaskdurationsanddependenciesTaskdurationsanddependencieActivitynetwork

活动网络Activitynetwork

活动网络Activitytimeline

横道图Activitytimeline

横道图Staffallocation

人员分配Staffallocation

人员分配Riskmanagement

风险管理Riskmanagementisconcernedwithidentifyingrisksanddrawingupplanstominimisetheireffectonaproject.Ariskisaprobabilitythatsomeadversecircumstancewilloccur.ProjectrisksaffectscheduleorresourcesProductrisksaffectthequalityorperformanceofthesoftwarebeingdevelopedBusinessrisksaffecttheorganisationdevelopingorprocuringthesoftwareRiskmanagement

风险管理RiskmanagTheriskmanagementprocess

风险管理过程RiskidentificationIdentifyproject,productandbusinessrisksRiskanalysisAssessthelikelihoodandconsequencesoftheserisksRiskplanningDrawupplanstoavoidorminimisetheeffectsoftheriskRiskmonitoringMonitortherisksthroughouttheprojectTheriskmanagementprocess

风险Riskidentification

风险识别Technologyrisks技术风险Peoplerisks人员风险Organisationalrisks机构风险Requirementsrisks需求风险Estimationrisks估算风险Riskidentification

风险识别TechnoRiskanalysis

风险分析AssessprobabilityandseriousnessofeachriskProbabilitymaybeverylow,low,moderate,highorveryhigh风险的可能性大小Riskeffectsmightbecatastrophic,serious,tolerableorinsignificant风险影响大小Riskanalysis

风险分析AssessprobaRiskplanning

风险规划ConsidereachriskanddevelopastrategytomanagethatriskAvoidancestrategies避免风险TheprobabilitythattheriskwillariseisreducedMinimisationstrategies减小风险TheimpactoftheriskontheprojectorproductwillbereducedContingencyplans应急计划Iftheriskarises,contingencyplansareplanstodealwiththatriskRiskplanning

风险规划ConsidereacRiskmonitoring

风险监控Assesseachidentifiedrisksregularlytodecidewhetherornotitisbecominglessormoreprobable风险出现的可能性变大还是变小Alsoassesswhethertheeffectsoftheriskhavechanged风险影响的后果是否改变Eachkeyriskshouldbediscussedatmanagementprogressmeetings重大风险在会上讨论Riskmonitoring

风险监控AssesseacKeypoints主要知识点Goodprojectmanagementisessentialforprojectsuccess好的管理是项目成功的必要Theintangiblenatureofsoftwarecausesproblemsformanagement软件不可见性Managershavediverserolesbuttheirmostsignificantactivitiesareplanning,estimatingandscheduling计划、评估和进度安排Planningandestimatingareiterativeprocesses

whichcontinuethroughoutthecourseofa

project计划和评估是反复行为Keypoints主要知识点GoodprojectmAprojectmilestoneisapredictablestatewhere

someformalreportofprogressispresentedtomanagement.里程碑是可见的Risksmaybeprojectrisks,productrisksorbusinessrisks项目、产品、业务风险Riskmanagementisconcernedwithidentifyingriskswhichmayaffecttheprojectandplanningtoensurethattheserisksdonotdevelopintomajorthreats鉴别、分析和解决风险Keypoints主要知识点AprojectmilestoneisaprediHomework

1.

whatarethecontentsofprojectmanagement?2.

P62.T4.63.

whatarethecontentsofriskmanagement?4.

whatarethecharacteristicsofsoftwareprojectmanagement?Homework

SoftwareRequirements

软件需求Descriptionsandspecificationsofasystem系统的描述和规格:准确地回答系统作什么。SoftwareRequirements

软件需求Desc软件设计工作的起点

一、什么是软件需求分析?为了便于理解分为:用户需求系统需求软件设计描述

功能需求非功能需求领域需求。二、如何描述需求?自然语言结构化自然语言PDL软件设计工作的起点RoleImitation

角色模拟1假设需要开发一个篮球比赛的游戏软件,现在你作为一个系统分析员(SystemAnalyst),去国家队找教练(Coach)做需求分析,请花5分钟的时间作一个提问的提纲。以便采访得到更大的信息量。RoleImitation

角色模拟1假设需要开发一个篮球实体(唯物)人教练、球员、裁判、仲裁物篮球、场地、记分牌规则比赛规则、比赛时间抽象名词力度、角度、速度实体(唯物)人Reference

参考GuardGuardCenterForwardForwardReference

参考GuardGuardCenterFo相关名词:投球(Shot)

规定进攻时间(ShotClock)

三分线(Three-PointLine)罚球(FreeThree)犯规(Foul)

球场(Court)

比赛时钟(GameClock)

投篮(Shoot)

抢篮板(Rebound)

推进(Advance)运球(Dribble)

传球(Pass)

球(Ball)比赛时间(Duration)

选手(Player)相关名词:Balldiametervolumedribble()shoot()pass()advance()

球类CenterName…..shootball()passball()

中锋类staysnearbasket,shootsfromcloserangeBalldiameterdribble(RoleImitation

角色模拟2假设现在为马钢三钢厂开发一个工艺数据库管理系统。工艺过程是:1。转炉炼钢(4座)2。合金微调站(4座)3。LF炉(3座)4。连铸(4座)5。成品6。统计RoleImitation

角色模拟2假设现在为马钢三钢厂RoleImitation

角色模拟2请用快速原型法搭建一个界面,以便用于和用户交流,做更为详细的需求分析。RoleImitation

角色模拟2请用快速原型法搭建一安徽工业大学《软件工程》(全)课件安徽工业大学《软件工程》(全)课件Objectives

教学目的TointroducetheconceptsofuserandsystemrequirementsTodescribefunctionalandnon-functionalrequirementsToexplaintwotechniquesfordescribingsystemrequirementsToexplainhowsoftwarerequirementsmaybeorganisedinarequirementsdocumentObjectives

教学目的TointroducethTopicscovered

主要内容Functionalandnon-functionalrequirementsUserrequirementsSystemrequirementsThesoftwarerequirementsdocumentTopicscovered

主要内容FunctionalWhatisarequirement?

什么是需求分析Itmayrangefromahigh-levelabstractstatementofaserviceorofasystemconstrainttoadetailedmathematicalfunctionalspecificationThisisinevitableasrequirementsmayserveadualfunctionMaybethebasisforabidforacontract-thereforemustbeopentointerpretation用于投标Maybethebasisforthecontractitself-thereforemustbedefinedindetail用于后来的设计BoththesestatementsmaybecalledrequirementsWhatisarequirement?

什么是需求分析Typesofrequirement

需求类型Userrequirements用户需求Statementsinnaturallanguageplusdiagramsoftheservicesthesystemprovidesanditsoperationalconstraints.WrittenforcustomersSystemrequirements系统需求Astructureddocumentsettingoutdetaileddescriptionsofthesystemservices.WrittenasacontractbetweenclientandcontractorSoftwarespecification软件设计描述Adetailedsoftwaredescriptionwhichcanserveasabasisforadesignorimplementation.WrittenfordevelopersTypesofrequirement

需求类型UserRequirementsreaders

需求分析的读者Requirementsreaders

需求分析的读者Functionalandnon-functionalrequirements

功能需求和非功能需求Functionalrequirements功能需求Statementsofservicesthesystemshouldprovide,howthesystemshouldreacttoparticularinputsandhowthesystemshouldbehaveinparticularsituations.Non-functionalrequirements非功能需求constraintsontheservicesorfunctionsofferedbythesystemsuchastimingconstraints,constraintsonthedevelopmentprocess,standards,etc.Domainrequirements领域需求RequirementsthatcomefromtheapplicationdomainofthesystemandthatreflectcharacteristicsofthatdomainFunctionalandnon-functionalFunctionalrequirements

功能需求DescribefunctionalityorsystemservicesDependonthetypeofsoftware,expectedusersandthetypeofsystemwherethesoftwareisusedFunctionaluserrequirementsmaybehigh-levelstatementsofwhatthesystemshoulddobutfunctionalsystemrequirementsshoulddescribethesystemservicesindetailFunctionalrequirements

功能需求DeNon-functionalrequirements

非功能需求Definesystempropertiesandconstraintse.g.reliability,responsetimeandstoragerequirements.ConstraintsareI/Odevicecapability,systemrepresentations,etc.(输入、响应、存储)ProcessrequirementsmayalsobespecifiedmandatingaparticularCASEsystem,programminglanguageordevelopmentmethod(语言、代码和窗体名规范)Non-functionalrequirementsmaybemorecriticalthanfunctionalrequirements.Ifthesearenotmet,thesystemisuselessNon-functionalrequirements

非功Non-functionalclassifications

非功能需求分类Productrequirements产品需求Requirementswhichspecifythatthedeliveredproductmustbehaveinaparticularwaye.g.executionspeed,reliability,etc.Organisationalrequirements机构需求Rcessstandardsused,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论