您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 综合/其它 > 天津理工大学-软件工程总结考试
-1-大学啊不错啊,好好学习,不要耽误了青春,但是是这个专业坑爹啊,,找好自己的方向,不要被这个专业误导了啊,,理工的学妹,学弟们,你说呢,,哈哈哈哈,嘿嘿联系软件过程的步骤或基本活动:1.软件描述2.软件设计和实现3.软件有效性验证4.软件进化软件生命周期或软件需求过程1.需求分析和定义2.系统和软件设计3.实现和单元测试4.集成和系统测试5.运行和维护增量式开发过程的好处是:1客户无需等到整个系统的实现。第一个增量会满足他们大多数关键的需求,因此,软件马上就能使用。2.客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。3.项目总体性失败的风险比较低。虽然可能在一些增量中遇到问题,但是其他一些增量将会成功的交付给客户4.因为具有最高优先权的服务被首先交付,而后面的增量也不断被集成进来,这就使得最重要的系统服务肯定接受了最多的测试。这就意味着在系统的最重要的部分,客户不太可能遇到软件失败。第一章软件工程和计算机科学的区别:计算机科学侧重理论和基础,而软件工程则侧重于软件开发和交付的实际活动软件工程和系统工程的区别:系统工程侧重基于计算机系统开发的所有方面,包括硬件,软件,和处理工程。软件工程只是它的一部分1.软件是计算机程序和所有使程序正确运行所需要的相关文档和配置信息软件产品分为:Generic通用、Bespoke(custom)定制2、软件工程是一门工程学科,涉及软件生产的各个方面。软件工程人员运用的是系统的、有组织的工作方法。6、软件过程模型从特定角度提出的软件过程的简化表示形式Examplesofprocessperspectivesare工作流模型数据流或活动模型角色/动作模型软件开发模型Waterfall瀑布型开发方法Iterativedevelopment迭代式开发方法Component-basedsoftwareengineering(CBSE)基于组件的软件工程7、thecostsofsoftwareengineering软件工程的成本软件开发成本约占60%,测试成本占40%。对于定制软件而言,进化成本常常高于开发成本。8、softwareengineeringmethods软件工程方法:.软件开发的结构化研究方法,包括:系统模型、标记法、规划、设计忠告和过程指南9、CASE(Computer-AidedSoftwareEngineering)计算机辅助软件工程:旨在使软件过程活动自动化的软件系统。CASE常用作方法支持10、theattributesofgoodsoftware优良软件的特点:软件应具有用户所需的功能与性能,而且应该可维护、可靠、可用11、keychallengesfacingsoftwareengineering软件工程面临的主要挑战:Legacy遗留Heterogeneity多样性挑战delivery交付上的挑战trust信任的挑战2.Softwareengineeringcostanalysis软件工程成本分析定制软件:对于瀑布模型,系统描述、设计、实现和集成的成本独立测算,其中系统集成和测试活动所需的费用最高,约占40%。对于迭代式开发,系统描述、设计和开发之间没有严格的划分界限,但系统描述的成本降低。在软件开发活动中,系统描述、实际、实现、集成和测试是并行的。-2-基于组件的软件开发,描述部分约20%,开发成本约30%,集成和测试约50%除系统开发成本之外,在软件投入使用后软件的变更也需要成本。进化成本对许多使用期限长的软件系统而言,有可能超过开发成本的3~4倍。相对于小的业务系统就降低许多了。为个人计算机配置的软件产品这类产品通常基于一个概要描述,用进化式开发方法开发。描述成本相对较低,但由于要用在不同的配置中,所以测试成本比较多。通用软件产品进化成本很难估算。多数情况下,产品的进化过程并不大。通用软件的进化成本不能像定制软件一样独立评估,而是作为该系统的下一个版本的开发成本。第二章1.Systemengineeringprocess系统工程过程2.Systemmodeling系统建模在系统需求和设计活动中,系统被建模成一系列组件和组件间的关系。通常是以图的形式描述在系统体系结构模型中。系统体系结构模型通常以方块图来描述,展现一些主要的子系统以及这些子系统之间的关联。3.Systemevolution系统进化大型和复杂的系统都会有一个非常长的生存期。在整个生存期内,必须改进原有的系统需求中的错误进而满足出现的新需求。使用系统的机构可能重新改组并且因此一种不同的方式使用系统4.Systemprocurementprocess系统采购过程系统的采购过程主要是对机构以最佳方式获得系统做出决策并决定系统的最佳提供商第四章进化式开发有两个基本类型;探索式开发其目标是与用户一起工作,共同探索系统需求,系统退役系统进化系统安装系统集成子系统开发系统设计需求定义签订开发合同合同谈判选择投标人发出招标请求选择供应商发出招标请求选择系统调整需求对现有系统做市场调查-3-知道最后交付系统。这类开发是从需求较清楚的部分开始,根据用户的建议逐渐向系统中添加功能。抛弃式原型这种开发方法的目标是理解用户需求,然后在给系统需求有更深刻理解时,能够很快在软件过程的好处是描述可以不断地补充完整。基于进化式方法的软件过程的好处是描述可以不断地补充完善存在两个问题1.过程不可见管理者需要经常性得交付来把握进度,如果系统开发速度很快,要产生每个版本的文档来反应变更就很不划算了一、软件工程模型softwareprocessmodel二、(1)waterfallmodel瀑布模型:直到上一阶段完成,下一阶段才能启动(2)Evolutionarydevelopment进化式开发:优势:描述可以不断补充完善劣势:过程不可见;系统结构通常较差进化式开发的两种基本类型:Exploratorydevelopment探索式开发、Throw-awayprototyping抛弃式原型(3)Component-basedsoftwareengineering基于组件的软件工程(Reuse-orienteddevelopment面向复用的软件开发方法)其过程模型如下图:三、Spiraldevelopment螺旋式开发它不是将软件过程用一系列活动和活动间的回溯来表示,而是将过程用螺旋线表示。每个回路表示软件过程的一个阶段。2、四部分:目标设置风险评估和规避、开发和有效性验证、规划.四、Softwarevalidation软件有效性验证:是要看系统是否符合它的描述以及系统是否符合客观的预测目标。5、测试过程的阶段:组件测试、系统、接收测试五、ActivitiesinCASE(Computer-aidedsoftwareengineering)六、CASEclassification分类:从功能角度看;从过程角度看;从集成角度看-4-Fuggetta提出的分类:工具,工作平台,环境第五章一、Managementactivities管理活动.提出书面建议.项目规划和调度.项目成本项目监督和审评.人员选择和评价.写作并称述工作报告二、Typesofplanning计划的类型质量计划、有效性验证计划、配置管理计划、维护计划、人员开发计划三、Milestonesintherequirementsprocess需求过程里程碑:四、Projectschedulingprocess项目调度五、threemainprojectmanagement:项目风险产品风险业务风险typesofriskinprojectmanagement:技术风险、人员风险、机构风险、需求、估算.第六章1.Functionalrequirementandexamples功能需求和举例功能需求描述系统所预期提供的功能或服务。取决于开发的软件类型,软件未来的用户以及开发的系统类型。LIBSYS-大学图书馆系统几种功能需求:①用户能从总的数据库中查询或者是选择其中的一个子集②系统能提供适当的浏览器供用户阅读馆藏文献③每次借阅能对应一个独特的识别符(order_id),可拷贝到用户账户的常备储存区内2.Non-functionalrequirementandexamples非功能需求和举例对系统提供的服务或功能给出的约束,与系统的总体特性相关。图书馆系统的LIBSYS的产品需求,机构需求和外部需求的实例:产品需求:它应该能将所有APSE和用户之间的必须的通信用标准的Ada字符集表达机构需求:系统开发过程和可交付的文档将遵照XYZCo-SP-STAN-95中的相关定义外部需求:系统不应该对系统的操作人员公开客户出名字和索引代码之外的任何个人的信息三、typesofNon-functionalrequirement-5-PerformancerequirementsSpacerequirementsUsabilityrequirementsEfficiencyrequirementsReliabilityrequirementsPortabilityrequirementsInteroperabilityrequirementsEthicalrequirementsLegislativerequirementsImplementationrequirementsStandardsrequirementsDeliveryrequirementsSafetyrequirementsPrivacyrequirementsProductrequirementsOrganisationalrequirementsExternalrequirementsNon-functionalrequirements四、metricsinNon-functionalrequirementRequirementsmeasures非功能需求度量性质度量方法速度每秒处理的事务用户/事件响应时间屏幕刷新时间规模K字节RAM芯片数易用性培训时间帮助画面数可靠性失败平均时间无效的概率失败发生率有效性鲁棒性失败之后的重启次数事件引起失败的百分比失败中数据崩溃的可能性可移植性依赖于目标的语句百分比目标系统数5.Documentsusedinsoftwarerequirements软件需求文档软件需求文档是对系统开发者应当实现的内容的正式陈述。包括系统的用户需求和一个详细的系统需求描述。需求文档中内容的详细程度,取决于所要开发的系统的类型,以及所使用的开发过程。第七章1.Theprocessofrequirementengineering需求工程的过程系统可行性研究;需求导出和分析;需求描述;需求有效性验证-6-2.Themaincontentoffeasibilitystudies可行性研究的主要内容进行一项可行性研究包括信息评估,信息汇总和报告生成3.Processactivitiesinrequirementelicitationandanalysis需求导出和分析的过程活动需求发现;需求分类和组织;优先排序和冲突解决;需求文档编制4.Requirementvalidationtechniques(three)需求有效性验证技术需求评审;原型建立;测试用例生成5.Requirementchangemanagement需求变更管理三个基本阶段:问题分析和变更描述过程:始于一个被识别的需求问题或是一份明确的变更提议变更分析和成本计算:使用可追溯性信息和系统需求的一般知识对被提议的变更产生的影响进行评估变更实现:必要的话,需求文档,系统设计和实现都要做修改第八章*1.Principlesystemmodel上下文模型contextmodel行为模型Behaviouralmodels数据模型datamodel对象模型objectmodel结构化方法structuredmethods2.Examplesofsystemmodels(5)系统模型实例数据流
本文标题:天津理工大学-软件工程总结考试
链接地址:https://www.777doc.com/doc-5611016 .html