- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 软件工程.ppt
什么是软件
软件的分类
软件的发展
软件生存期
软件工程
软件工程的目的和要求;软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
程序是按事先设计的功能和性能要求执行的指令序列
数据是使程序能正常操纵信息的数据结构
文档是与程序开发,维护和使用有关的图文材料;软件的特点;软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性
软件的开发至今尚未完全摆脱手工艺的开发方式
软件本身是复杂的
实际问题的复杂性
程序逻辑结构的复杂性
软件成本相当昂贵
相当多的软件工作涉及到社会因素;;软件的分类; 支撑软件
文本编辑程序
文件格式化程序
磁盘向磁带向数据传输的程序
程序库系统
支持需求分析、设计、实现、测试和支持管理的软件
; 应用软件
商业数据处理软件
工程与科学计算软件
计算机辅助设计/制造软件
系统仿真软件
智能产品嵌入软件
医疗、制药软件
事务管理、办公自动化软件
计算机辅助教学软件;按软件规模进行划分:
类别 参加人员数 研制期限 源程序行数
微型 1 1~4周 0.5k
小型 1 1~6月 1k~2k
中型 2~5 1~2年 5k~50k
大型 5~20 2~3年 50k~100k
甚大型 100~1000 4~5年 1M(=1000k)
极大型 2000~5000 5~10年 1M~10M ;按软件工作方式划分:
实时处理软件
分时软件
交互式软件
批处理软件
按软件服务对象的范围划分:
项目软件
产品软件;按使用的频度进行划分:
一次使用
频繁使用
按软件失效的影响进行划分:
高可靠性软件
一般可靠性软件;软件发展阶段;软件工程;软件危机;具体表现在:
对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。;软件工程的定义; 1968年在第一届NATO会议上曾经给出了软件工程的一个早期定义:“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”
1993年IEEE进一步给出了一个更全面更具体的定义:“软件工程是: ①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。;软件生存期 life cycle;1. 问题定义
问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”如果不知道问题是什么就试图解决这个问题,显然是盲目的,只会白白浪费时间和金钱,最终得出的结果很可能是毫无意义的。
通过对客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。
;2. 可行性研究
这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”为了回答这个问题,系统分析员需要进行一次大大压缩和简化了的系统分析和设计过程,也就是在较抽象的高层次上进行的分析和设计过程。可行性研究应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法。
;3. 需求分析
这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。
系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。
需求规格说明书(specification);4. 设计
总体设计
这个阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”总体设计又称为概要设计,以比较抽象概括的方式提出了解决问题的办法。
详细设计
把解法具体化,设计出程序的详细规格说明。也就是回答关键问题:“应该怎样具体地实现这个系统呢?”
详细设计也称为模块设计,在这个阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。;5. 程序编码
这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。
程序员应该根据目标系统
文档评论(0)