- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程实践
* 上面我们谈论了什么是软件,并对软件质量的度量指标进行了讨论,知道了如何来衡量一个软件产品的好坏。但是根本的问题没有解决,就是如何才能得到一个在上述标准下,可以称之为“好”的软件?下面来开始讨论这个问题。 软件危机之后,人们通过研究并总结了其它工业领域的成功经验,总结出了两种可能的方法。为什么说可能?因为采用了该方法,可以有效的降低复杂度和进行有效的过程管理,有可能得到好的软件,但并不是一定得到。 两种方法是:1、系统方法;2、工程化方法。 * 系统方法: 项目在开发过程并不是处于一个真空当中,项目需要涉及到很多其它的内容,包括: 硬件、别的软件任务、已经存在的数据库、另外的计算机系统。自动取款机的例子(后台的银行帐务系统) 指导自己开发的软件的边界是很重要的。主要是: 项目包含的内容是什么?什么是系统不包含的内容?需要很明确的确定下来。 * 一般情况下,系统中的元素有以下三种: 1、活动和对象。活动是在系统中发生的事情;而活动中包含的元素是对象和实体,一般情况下,这些对象之间有一些关联。系统中登记雇员记录是一个活动,而雇员记录则包含很多的对象或实体,例如邮编、名字、ID、地址等等。 2、在系统中需要确定对象和活动之间的关联,例如雇员记录和登记活动之间的关系,雇员记录中各种对象之间的关系等。而系统边界,则是确定我们需要考虑的问题具体是什么。下面我们用一个例子来说明。 3、相关的系统,则是指系统边界之外的系统。例如ATM的例子。 * 一般的过程就是: 1、确定活动(主要是从用户需求中来,例如电视的功能是播放、选台、调声音、色彩等等); 2、根据活动的定义,从活动中确定各种对象或者实体,例如电视中播放的时候,山东台、陕西台、中央台(对应的频率、默认的色彩、声音等等);并确定对象之间的关系,例如电视台和频道、频率的对应等等; 3、系统,确定系统的边界。设计电视时和外部的天线、电视台、有线电视电缆等没有关系; * 人体呼吸系统的例子: 呼吸系统中的活动有:吸气、过滤、将空气和血液进行交换;呼气; 呼吸系统中的实体有:颗粒物质、氧气、二氧化碳、水、氮气、鼻子、嘴、气管、支气管等。 * 相关系统:在确定边界后,然后需要确定与之相关联的外部系统。一般情况下,没有系统是单独存在的。例如呼吸系统和血管之间的关系,往往与相关系统之间总是存在一定的关联关系和接口。 * 这里在举一个系统方法的例子:工资发放系统。 计算机系统进行计算来确认每个人的工资;会计人员在时间确认的情况下,对每个人的工资进行计算核实,然后打印,并通过邮寄系统发送出去; * 这里是一个互相关联系统的例子:从里到外一次类推: 1、远程数据收集系统; 2、针对远程数据的计算系统; 3、从远程节点到中心节点的通信系统; 4、数据管理系统; 5、数据报表系统; * 工程化方法,实际是在软件开发过程中碰到了各种问题之后,出现了软件危机后,人们开始考虑将工业界中成功经验和过程管理标准引入到软件开发过程来。因此工程化的方法和工业界的生产方法是很类似的。所以在下面的介绍中,我们采用类比的方式来进行讲解。用建造房子和开发软件进行类比。 * 首先看建筑房子的过程:注意这里举例是指的国外的木头房子 决定和分析房子的各种需求;产生并记录形成各种设计文档,例如平面图、三维模型等;细节描述,比如卫生间、卧室、厅的详细设计等;确定和设计单独房间的各种构件;建造各种构件;测试构件;集成构件;做最后的修改(是否指装修等);持续的维护,比如下水道堵塞、房屋掉墙皮等等; 下面再看看软件开发过程: 需求分析和定义,形成需求文档;系统设计;程序设计;编写代码;单元测试;集成测试;系统测试;系统提交;维护; 讲解时应在最后说明两者之间的相似性。 * 软件工程是涉及软件产品的系统化生产和维护的技术性和管理性规则,软件产品应该在成本估计的范围内,准时的被开发和修改。 软件工程是:(1)将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。(2)在(1)中所述方法的研究。 IEEE给出的一个更全面的定义。 * 总结后我们可以说:软件工程是涉及到软件产品所有方面的工程化规则;软件工程师应该采用系统化和有组织的方法,使用合适的工具和技术来解决具体的问题,并考虑到开发的限制和可用的资源。 * 在软件工程中存在两个概念:问题的分析与合成。分析如图所示,将大问题分解成小的问题来解决,从而有效的降低问题的复杂性。 * 而合成则是与问题的分析相对应。在分析之后,利用合成技术最后形成一个完整的解决方案。 * 我们要解决问题,需要: 1、方法或者技术:主要是产生结果的过程; 2、工具:完成工作的工具和自动化系统,类似流水线的东西,降低生产的难度; 3、过程:如何解决工具和技术组合的方法? 4、范例:做事情
您可能关注的文档
- 贷款业务培训财务报表阅读与分析学员版.ppt
- 购物中心动线平面适应性专题研究.ppt
- 贸易贸易能使每个人状况更好.ppt
- 费用报销流程.ppt
- 资产评估准则体系讲解.ppt
- 资本成本问题研究TheCostofCapital.ppt
- 资本成本的概述.ppt
- 资本成本的计算.ppt
- 资本结构的优化.ppt
- 费效分析.ppt
- 2025年中山市沙溪镇人民政府所属事业单位招聘11人笔试备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库及参考答案详解一套.docx
- 2025年中山市横栏镇人民政府所属事业单位第二期招聘笔试高频难、易错点备考题库含答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库及完整答案详解1套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库参考答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试高频难、易错点备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库附答案详解.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及答案详解一套.docx
- 2025年中山市阜沙镇人民政府所属事业单位招聘笔试备考题库及完整答案详解1套.docx
文档评论(0)