武汉理工大学软件程复习资料.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 概述 1.软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它是包括程序(program),相关数据(data)及其说明文档(document) (1)程序是按事先设计的功能和性能要求执行的指令序列 (2)数据是使程序能正常操纵信息的数据结构 (3)文档是与程序开发,维护和使用有关的图文材料 2.软件的特点: (1)软件是一种逻辑实体,而不是具体的物理实体,具有抽象性 (2)软件的生产与硬件不同,在它的开发过程中没有明显的制造过程 (3)在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题 (4)依赖于计算机硬件系统 (5)软件的开发至今尚未完全摆脱手工艺的开发方式 (6)软件本身是复杂的(实际问题的复杂性,程序逻辑结构的复杂性) (7)软件成本相当昂贵 (8)相当多的软件工作涉及到社会因素 3.软件危机(software crisis)是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 4.软件危机包含两方面的问题:其一是如何开发软件,以满足不断增长、日趋复杂的需求;其二是如何维护数量不断膨胀的软件产品。 5.软件危机的主要表现: 质量:1. 软件产品的质量往往靠不住;2.软件常常是不可维护的;3.软件通常没有适当的文档资料;4.用户对“已完成的”软件系统不满意的现象 时间:5.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势;6.经常发生对软件开发成本和进度的估计常常很不准确 预算:7.软件成本在计算机系统总成本中所占的比例逐年上升 6.出现软件危机的主要原因一方面是与软件本身的特点有关,另一方面是与软件开发和维护的方法不正确有关。解决的办法:软件工程 7.(1)软件工程(software engineering)是将工程化的思想用于软件的开发和维护 (2)软件工程(software engineering)就是为了经济地获得可靠的且能在实际机器上有效运行的软件,而建立和使用完善的工程原理。 (3)软件工程(software engineering)是:(1)将系统化的、严格约束的、可度量的方法应用于软件的开发、运行和维护,即将工程化应用于软件。(2)在(1)中所述方法的研究 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科。 8. 软件工程包括两方面内容:软件开发技术和软件项目管理。 其中,软件开发技术包括软件开发方法学、软件工具和软件工程环境。软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划等。 9.软件工程包含四个关键元素:方法(methodologies)、语言(languages)、工具(tools)和过程(procedures) (1)软件的方法提供如何构造软件的技术。内容:明确的工作步骤与技术、具体的文档格式、明确的评价标准 (2)软件语言用于支持软件的分析、设计和实现 (3)软件工具为方法和语言提供自动和半自动的支持 (4)软件过程规定了完成各项任务的步骤 从内容上说软件工程包括:软件开发理论和结构、软件开发技术、以及软件工程管理和规范 10.软件工程的原理: (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采纳现代程序设计技术 (5)结果应能清楚地审查 (6)开发小组的人员应少而精 (7)承认不断改进软件工程实践的必要性 11.软件的生存期:一个软件从计划开发到废弃不用的这段时期被称为软件的生命周期 12.软件生存周期阶段: 定义阶段:主要确定待开发软件系统要做什么 (1)系统分析(问题定义):要解决的问题是什么。同用户协商,达成共识。 (2)制定软件项目计划(含可行性研究):问题是否值得去解决。若可行,则须指定软件项目计划包括确定工作域、风险分析、资源规定、成本核算、以及工作任务和进度安排等。 (3)需求分析:系统必须完成哪些功能。开发人员与用户共同讨论决定哪些需求是可以满足的,并对其加以确切的描述。 开发阶段:确定待开发的软件怎么做 (1)软件设计:总体上如何实现系统,将系统功能分割给几个子系统,子系统间的接口如何。如何具体地实现系统,如何描述数据结构和算法。 (2)编码:选择编程语言并编写代码。(投入最多,持续时间不长) (3)测试:包括不同的测试阶段,如测试功能的单元测试、测试性能的综合测试。 维护阶段(持续时间最长):进行各种修改,使系统能持久的满足用户的需要。改正性维护、适应性维护、完善性维护和预防性维护 13.常见的软件工程模型有:瀑布模型、原型法模型、演化模型、螺旋模型、喷泉模型、第四代技术过程模型 (1)瀑布模型:具有顺序性和依赖性,便于分工合作,文档便于修改,并有复审质量保证,但与用户见面晚,纠错慢,工

文档评论(0)

155****8706 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档