山东轻工业学院软件工程.docVIP

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

一、概论 1、软件的概念:计算机软件指计算机系统中的程序及其文档。 2、软件发展的三阶段 程序设计阶段 采用个体工作方式 除了程序外,几乎没有其他的文档 程序系统阶段 出现了软件一词工作方式逐步从个体方向转向合作方式软件危机 软件工程阶段 3、软件生存周期各阶段任务 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存周期。 软件生存周期分为如下几个阶段:计算机系统工程、需求分析、设计、编码、测试、运行和维护 计算机系统工程:确定软件总体要求和范围,以及其与其它计算机系统元素之间关系 计算机系统元素:硬件+软件+使用者+数据库+文档等 软件需求分析 确定待开发软件要“做什么”。 软件设计 确定待开发软件“怎么做” 分为系统设计和详细设计: 编码 将设计的结果转换为可执行的程序代码。 测试 发现并纠正软件中的错误和缺陷。主要包括单元测试、集成测试、确认测试和系统测试。 运行和维护 4、各种过程模型 瀑布模型 适用范围:需求明确的 增量模型 特别适用于: 需求经常变化的软件开发。市场急需而开发人员和资金不能在设定的市场期限之前实现一个完善的产品的软件开发。 原型模型 适用于:需求不确定性的系统 原型的进一步解释:预期系统的一个可执行版本,它反映了系统性质(如功能、计算结果等)的一个选定的子集。一个原型不必满足目标软件的所有约束,其目的是能快速、低成本地构建。 原型的类型:探索型、实验型、演化型 原型的使用策略:废弃(throw away)策略:用于探索型和实验型原型。 追加(add on)策略:用于演化型原型。 螺旋模型 适合于大型项目的开发 喷泉模型 适用于:支持面向对象开发 5、软件危机 软件开发和维护过程中出现的一系列问题 1开发成本和进度估计不正确2用户不满意3质量靠不住4不可维护5没有适当的文档6软件成本比例逐年上升7生产率远远跟不上 软件危机的原因 软件是逻辑产品,开发进度、成本难以估计 缺乏或不完整、不一致的文档给维护带来困难 用户对软件需求的描述不够精确,有遗漏,有二义 软件开发人员对需求的理解与用户的本来愿望有差异 大型软件项目需多人协同完成,缺乏管理经验 开发人员不能有效地、独立自主地处理大型软件的全部关系 缺乏有力的方法学和工具的支持 软件项目的特殊性和人类智力的局限性 克服软件危机的途径 1消除错误的概念和做法2推广使用成功的开发技术和方法3使用软件工具和软件工程支持环境4加强软件管理 6、软件工程概念 软件工程是(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中;(2)(1)中所述方法的研究。 7、软件工程三要素:方法,技术,工具 二、系统工程 1、可行性研究的方面 从经济、技术、法律等方面分析所给出的解决方案是否可行,能否在规定的资源和时间的约束下完成。 2、成本效益分析 主要进行成本效益分析 1成本主要包括:购置费用、开发费用、安装运行和维护费用、培训费用 2效益分为经济效益和社会效益3货币的时间价值4投资回收期5纯收入 3、可行性分析结论 A可以立即开始进行 B需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行 C需要对开发目标进行某些修改之后才能开始进行 D因为某种原因(如,技术不成熟、经济上不合算等)不能进行 三、需求工程 1、需求分析的任务 : 确定系统做什么 2、获取需求的方法 建立顺畅的通信途径 访谈与调查 观察用户操作流程 组成联合小组 用况(Use Case) 常称为用例 3、需求规约SRS概念 软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求 四、设计工程 1软件设计的原则:抽象化、逐步求精、模块化、信息隐藏、模块独立 模块化:即把软件按照规定原则,划分为一个个较小的,相互独立的但又相互关联的部件 信息隐藏:每个模块的实现细节对于其它模块来说应该是隐蔽的。即:块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用 模块独立:模块完成独立的功能并且与其他模块的接口简单,符合信息隐蔽和信息局部化原则,模块化关联和依赖程度尽可能小。 2、各种耦合和内聚(选择、填空) 功能内聚 (Functional Cohesion)一个模块中各个部分都是完成某一具体功能必不可少的组成部分。 顺序内聚 (Sequential Cohesion)一个模块完成多个功能,各个功能必须顺序执行。 通信内聚 (Communication Cohesion)一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据。 过程内聚(Procedural Cohesion)一个模块完成多个任务,这

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档