软件工程导论篇

一、软件
程序+文档+数据
二、软件功能分类
1)系统软件:与计算机硬件紧密配合,使计算机软件高效工作的软件。如操作系统、编译程序等。
2)支撑软件:协助用户开发软件的工具性软件。
3)应用软件
三、软件工程定义
把系统化、规范化、可度量的途径应用于软件开发、运行和维护过程中;研究其实现途径
(重点)四、软件危机
在计算机软件开发和维护过程中遇到的一系列严重问题
原因:(1) 用户需求不明确 (2) 软件开发维护方法不正确(3)软件开发规模越来越大(4)缺乏正确理论指导(5)软件开发复杂度越来越高
(重点)五、软件生存周期

  1. 可行性研究与计划:解决问题是什么?有行得通解决方法?粗略计划
  2. 需求分析:目标系统必须作什么?可行性研究的需求分析是粗略、不准确;需求分析是完整、准确、具体。
  3. 总体设计:怎样实现目标系统?根据需求设计方案分析推荐最佳方案;设计软件结构等。
  4. 详细设计:该怎样具体实现系统?设计每个模块的算法和数据结构。
  5. 实现(编码和单元测试):选择语言、工具翻译详细设计结果、测试模块。
  6. 集成测试:将经过单元测试模块组装起来进行测试,通过测试使软件达到预定要求。
  7. 确认测试:由用户按需求规格说明书规定进行测试
  8. 使用和维护:通过必要维护活动使系统持久满足用户要求。

改正性维护:软件运行过程中发现错误,进行维护。
适应性维护:软件运行软硬件环境变化,进行的维护
完善性维护:用户要求改进或扩充软件,进行的维护
预防性维护:为将来的维护作准备。
(重点)六、常用软件过程模型
瀑布模型
1.具有顺序性和依赖性:前一阶段结束后一阶段开始,前一个阶段输出文档,后一个阶段输入文档。
2.推迟实现观点:瀑布模型在编码前设置系统分析、系统设计,推迟程序物理实现,保证前期工作扎实。
3.质量保证观点:瀑布模型每阶段坚持两个重要做法:一是每阶段都必须完成完整、准确的文档。软件开发时人员间通信、运行时期维护的重要依据。二是每阶段结束前对文档评审。
优点:
提高软件质量,降低维护成本,缓解软件危机。
缺点:
模型缺乏灵活性,无法解决需求不明确问题。用户不经过实践提出完整准确需求不切实际。
快速原型模型
快速建立反映用户主要需求的原型系统,反复由用户评价修正需求,开发出最终产品。
优点:
确定需求上优于瀑布模型(通过原型与用户交互);提供学习手段,通过开发原型和演示原型对开发者和使用者了解系统都有积极作用;有的软件原型可以成为最终产品的一部分。
缺点:
快速建立的系统结构加连续修改可能导致产品质量低下原型系统的内部结构可能不好。
增量模型
又称渐增模型,开发软件时将软件产品作一系列增量构件设计、编码、集成和测试。区别于瀑布和快速原型模型:瀑布和快速原型模型是一次把满足所有需求产品提交给用户。增量模型是分批向用户提交产品。
优点:
较短时间向用户提交可完成有用工作产品;用户有充裕时间学习适应产品;软件结构必须开放,方便向现有产品加入新构件。
缺点:
做到第三个优点比较困难。
螺旋模型
加入风险分析,指导大型软件项目。软件风险指的是超期、超预算、行业竞争等
优点:
大型软件开发项目有较好的风险控制;
缺点:
需要风险评估的经验
契约开发通常需要事先指定过程模型和发布产品,
普及不如前述模型
喷泉模型
面向对象生命周期模型,体现迭代和无缝特性。迭代:求精,系统某部分被重复工作多次,相关功能在每次迭代中逐渐加入演进系统。无缝:分析、设计、编码各阶段间不存在明显边界
优点:
无缝,可同步开发,提高开发效率,节省开发时间,适应面向对象软件
缺点:可能随时加各种信息、需求与资料,需严格管理文档,审核的难度加大。
演化模型
 演化模型主要针对事先不能完整定义需求的软件开发。用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现。
Rational 统一过程
该过程强调以迭代和渐增方式开发软件。不断的版本发布成为一种团队日常工作的真正驱动力;将发现问题、制定方案和解决过程集成到下一次迭代;迭代开发,降低风险;更好地安排产品开发的辅助过程。
七、结构化分析
思想:

  • 分解化简问题(自上而下,逐层分解)
  • 物理与逻辑表示分开(先考虑是什么做什么,再考虑怎么实现)
  • 进行数据与逻辑抽象(把本质抽象出来再考虑细节)

具体步骤:

  • 模型核心(数据字典):描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合
  • 数据模型(E-R图表达):描述数据对象间关系
  • 功能模型(数据流图DFD表达):描绘数据在软件中移动、变换及相应功能
  • 行为模型(状态转换图):描绘系统状态和在不同状态间转换方式
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值