软件工程期末总结

2024-01-02 14:04:45

软件危机出现的原因

  1. 忽视软件开发前期的需求分析。
  2. 开发过程中缺乏统一的、规范化的方法论的指导。
  3. 文档资料不齐全或不准确。
  4. 忽视用户之间、开发组员之间的交流。
  5. 忽视测试的重要性。
  6. 不重视维护或由于上述原因造成维护工作困难。
  7. 从事软件开发的专业人员对这个产业认识不充分,缺乏经验。
  8. 没有完善的质量保证体系。

软件生命周期

软件生命周期的概念

软件的生命周期是指从设计该产品的构想开始,到软件的需求认定、软件设计、软件实现、产品测试与验收、投入使用的以及产品版本不断更新,到最终该产品被市场淘汰的全过程。

生命周期的各个阶段

  1. 可行性研究
  2. 需求分析
  3. 软件设计
  4. 编码
  5. 软件测试
  6. 软件维护 定义(可行性研究、需求分析)、开发、维护

软件开发模型

  1. 瀑布模型(不确定有没有划这个重点) 优点:过程模型简单,执行容易 缺点:无法适应变更。
  2. 快速还原模型
  3. 增量模型
    优点:
    (1)、将待开发的软件系统模块化,分批次提交软件产品,使用户可以及时了解软件项目的进展。
    (2)、以组件为单位进行开发,降低软件开发的风险。
    (3)、开发顺序灵活
    缺点:
    要求待开发的软件系统可以被模块化。
  4. 螺旋模型 将瀑布与快速结合起来,忽略了风险分析

极限编程

测试现行,驱动开发

可行性研究与项目开发计划

  1. 技术可行性
  2. 操作可行性
  3. 经济可行性

需求分析

步骤:

  1. 需求获取
  2. 分析建模
  3. 需求描述
  4. 需求验证

结构化分析的方法

核心是数据字典
1、功能建模
思想是用抽象模型的概念,按照软件内部数据传递和变换的关系,自顶向下逐层分解,直到找到满足功能要求的可实现的软件为止。
数据流图(简称DFD图)就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。
2、数据建模
3、行为建模
4、数据字典

在这里插入图片描述

结构化分析的图形工具

1、层次方框图
2、Warnier图(具体图形课本57,58页)

软件设计的原则

1、模块化(高内聚低耦合)
2、抽象
3、逐步求精
4、信息隐藏

用户界面设计

响应时间<3秒
可用性和域(没有百度,不确定是不是这个域)用性

结构化软件设计

解决“怎么做”的问题(需求分析:解决“做什么”)
概要设计阶段:要完成体系结构设计、数据设计及接口设计
详细设计阶段:要完成过程设计

面向对象

特点:封装、继承、多态
基本概念(重点看1,3)
1、面向对象:按人们认识客观世界的系统思维方式,采用基于对象的概念建立模型,模拟客观世界分析、设计、实现软件的办法。
2、对象:即指现实世界中各种各样的实体。
3、类:类是具有相似内部状态和运动规律的实体的合计。
面向对象的软件工程方法的优势
1、符合人类的思维习惯
2、稳定性好
3、可复用性好
4、可维护性好

面向对象建模

通常要建立3种模型:
数据结构(对象模型)、执行操作(动态模型)、数据值变化(功能模型)
建立对象模型:
1、划分主题
2、确定类与对象(确定对象和对象之间的关联)
3、确定属性
4、确定服务

注:需要画图的没有总结,看课本

文章来源:https://blog.csdn.net/chaotiantian/article/details/135334904
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。