- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)