- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(软件需求分析重点2
什么是软件工程:
用来制造软件的工程 化的 方法
软件的特性:
软件是抽象的,而不是物理的—看不见摸不到
软件是极其复杂的
软件的手工开发方式、智力密集型
对计算机硬件依赖性
软件是被开发或设计的,而不是被制造的
软件不会磨损和老化,但维护困难
软件的高成本
软件危机的表现:
?对软件开发成本和进度的估算很不准确,甚至严重拖期和超出预算;
?无法满足用户需求,导致用户很不满意;
?质量很不可靠,经常失效;
?难以更改、调试和增强;
?没有适当的文档;
?软件成本比重上升;
?软件开发生产率跟不上计算机应用迅速深入的趋势。
什么是软件神话,它的危害:
软件神话(software myths):关于软件及其开发过程的一些说法被人盲目相信
? 影响到几乎所有的角色:管理者、顾客、其他非技术性的角色、具体的技术人员;
? 看起来是事实的合理描述(有时的确包含真实的成分)、符合直觉,并经常被拿来做宣传;
? 实际上误导了管理者和技术人员对软件开发的态度,从而引发了严重的问题;
软件工程面临的挑战有哪些:
? 遗留系统(Legacy system)
? 多年以前开发出来的软件,在长期使用过程中不断的被人修改;
? 日益增加的维护成本和修改困难已经成为令人头疼的问题;
? 例如:Y2K问题;
? 高可信软件开发
? 关注软件的正确性、可靠性、安全性、必威体育官网网址性;
? 以形式化方法为发展趋势,通过保证模型的可信度来保证系统的可信度;
? 异构系统的集成与互操作
? 采用不同技术开发出来的系统,运行在不同的硬件平台和操作系统上,它们之间需要进行自动的数据交换;
? 更快的交付时间
? 顾客要求快速响应需求,而软件开发的周期难以有效缩短;
On demand (随需应变)
? 软件开发方式的变化
? Web 2.0、open source
? 基于Internet的协同开发模式
软件工程的范围和目标:
? 范围:
? 软件开发过程(设计、开发、运行、维护)
? 软件开发中应遵循的原则和管理技术
? 软件开发中所采用的技术和工具
? 目标:
? 高质量
? 按时交付
? 控制成本
? 满足用户需求
软件工程的四大组成部分:
工具、方法、过程、质量
第二章 核心概念与思想
功能性需求和非功能性需求及其特性:
功能性需求(Functional Requirements):系统能够完成所期望的工作的能力
? 完备性:软件能够支持用户所需求的全部功能的能力;
? 正确性:软件按照需求正确执行任务的能力;
? 健壮性:在异常情况下,软件能够正常运行的能力
容错能力;
恢复能力;
——正确性描述软件在需求范围之内的行为,而 健壮性描述软件在需求范围之外的行为。
? 可靠性:在一定的环境下,在给定的时间内,系统不发生故障的概率,或者是快速从错误状态恢复到正确状态的能力。
非功能性需求(Non-Functional Requirements):系统能够完成所期望的工作的性能与质量
? 性能:软件的“时间-空间”效率;
? 易用性:用户使用软件的容易程度,用户容易使用和学习;
? 清晰性:易读、易理解,可以提高团队开发效率,降低维护代价;
? 安全性:在对合法用户提供服务的同时,阻止未授权用户的使用;
? 可扩展性:软件适应“变化”的能力,系统很容易被修改从而适应新的需求或采用新的算法、数据结构的能力;
? 兼容性:不同产品相互交换信息的能力;
? 移植性:是软件不经修改或稍加修改就可以运行于不同软硬件环境(CPU、OS和编译器)的能力;
? 经济性:开发成本、开发时间和对市场的适应能力。
? 商业质量:上市时间、成本/受益、目标市场、与老系统的集成、生命周期长短等。
软件工程的7条原理:
? 用分阶段的生命周期计划严格管理
? 坚持进行阶段评审
? 实行严格的产品控制
? 采用现代程序设计技术
? 结果应能清楚地审查
? 开发小组的人员应少而精
? 承认不断改进软件工程实践的必要性
软件工程的几个核心思想:
复用(Reuse):
? 在一个新系统中,大部分的内容是成熟的,只有小部分内容是全新的。
? 构造新的软件系统可以不必每次从零做起;
? 直接使用已有的软构件,即可组装成新的系统;
? 复用已有的功能模块,既可以提高开发效率,也可以改善新开发过程中带来的质量问题;
分而治之(Divide and Conquer):
? 将复杂问题分解为若干
文档评论(0)