软件系统分析与设计知识梳理

软件系统分析与设计知识点梳理

本课程知识点较多,大多为概念

学习建议:理解、熟记、背诵

  • 程序是什么
  • 数据是什么
  • 文档是什么
  • 什么是软件
  • 软件的双重特性
    • 作为产品
    • 作为产品生产的载体
  • 软件的特性
    • 形态特性
    • 智能特性
    • 开发特性
    • 质量特性
    • 生产特性
    • 管理特性
    • 环境特性
    • 维护特性
    • 废弃特性
    • 应用特性
  • 软件分类
    • 系统软件
      • 操作系统
      • 数据库管理系统
      • 设备驱动
      • 通信和网络处理
    • 支撑软件(工具软件)
      • 纵向支撑:分析设计编码测试
      • 横向支撑:项目管理工具,配置管理工具
    • 应用软件
      • 科学计算
      • 数据处理
      • 计算机辅助
      • 系统仿真
    • 可复用软件
      • 各种库(函数库,类库,构件库)
  • 软件危机是什么
  • 软件危机的典型表现
    • 成本、时间估计不准
    • 用户不满意
    • 质量不佳
    • 不可维护
    • 没有文档
    • 软件成本在计算机总成本中比例越来越高
  • 软件危机形成原因
    • 软件自身
    • 缺乏软件开发经验
    • 交流存在障碍
    • 开发过程不规范,不了解用户需求
    • 软件规模增大,复杂性成指数升高,需要多人合作,没有科学的管理
    • 缺乏软件评测手段
  • 如何摆脱软件危机
    • 消除软件就是程序的错误观念
    • 认识软件开发是一种组织良好、管理严密、各类人员配合共同完成的工程项目
    • 推广和使用开发软件的成功技术、方法和工具
    • 工程化的原则和方法组织软件开发
  • 软件工程定义
  • 软件工程基本原理
  • 软件工程目标
  • 软件开发的基本目标
    • 较低成本
    • 满足功能要求
    • 较好性能
    • 易于移植
    • 较低维护费用
    • 及时交付
  • 软件质量特征
    • 功能性
    • 可靠性
    • 可使用性
    • 效率
    • 可维护性
    • 可移植性
  • 软件生命周期
    • 软件定义
      • 问题定义
      • 可行性分析
      • 需求分析
    • 软件开发
      • 概要设计:系统体系结构
      • 详细设计:每个模块
    • 软件维护
      • 改正性维护:使用过程中
      • 适应性维护:环境变化
      • 完善性维护:用户要求
      • 预防性维护:预防
  • 典型文档
    • 软件需求规格说明书
    • 项目计划
    • 软件测试计划
    • 软件设计说明书
    • 用户手册
  • 软件工程三要素
    • 过程:任务框架,工作步骤
    • 方法:如何做
    • 工具:自动半自动软件
  • 瀑布模型
    • 每个阶段都必须有文档,必须合格
    • 必须对文档进行评审,尽早发现问题
    • 强迫开发者采用规范化的方法
    • 适用于一开始需求就已经确定的情况
    • 慎重考虑
      • 需求变化
      • 系统复杂,巨大
      • 技术发生变化
      • 资源有限
      • 无法利用开发过程中的中间产品
    • 可以利用
      • 一次性交付
      • 淘汰老系统,新的系统
  • 快速原型模型
    • 快速建造出原型系统,节约成本
    • 不断与用户交互得到验证
    • 可能连续的修改会导致产品质量低下
  • 螺旋模型
    • 加入了风险评估
    • 风险驱动:开发人员必须有丰富的风险评估经验,否则项目可能会走向灾难
  • 增量模型
    • 较短时间提供产品功能
    • 失败的风险低
    • 优先级高的先交付
    • 自相矛盾:一方面强调整体,另一方面有奖软件看做构件序列
    • 选择
      • 较短时间内得到系统基本功能的演示和使用
      • 各个版本都有中间阶段产品
      • 系统可以被分为建增模式
      • 开发人员和资金逐步增加
    • 不选
      • 技术发生迅速变化
      • 提出一些新功能
      • 有限的资源
  • 统一过程模型 RUP
  • 敏捷过程
  • 极限编程
  • 一些举例
    • 外包项目,阶段验收:瀑布
    • 风险高,随时可能中断:螺旋
    • 山寨产品:增量
    • 客户没想好要什么,但是个大单:统一过程模型
    • 产品已经上线,但需要维护:敏捷
  • 选择模型因素
    • 规模
    • 类型
    • 质量要求
    • 工期
    • 需求明确度
    • 投资
    • 可复用性
    • 开发者的资源
  • 项目管理
    • 4P
      • 人员
      • 产品
      • 项目
      • 过程
    • 业务问题
      • PIECES
        • 性能 performance
        • 信息 information
        • 经济 economic
        • 控制 control
        • 效率 efficiency
        • 服务 service
  • 系统分析方法
    • 模型驱动
      • 数据流图
      • er
      • uml
    • 加速系统:加速构建原型
      • 快速架构分析
        • 逆向工程
          • case工具或编程语言
          • 易于分析用户需求一致性完整性稳定性灵活性
    • 需求获取法
      • 实地考察
      • 访谈
      • 观察
    • 业务过程重构
      • 改进重新设计业务
    • FAST
      • 是敏捷方法
      • 范围定义
      • 问题分析
      • 需求分析
      • 逻辑设计
      • 决策分析
  • 画图
    • 上下文图
  • 需求定义准确
    • 一致性
    • 完整性
    • 可行性等等
  • 调查研究技术
    • 用例视
    • 设计视
    • 互动视
    • 实现视
    • 部署视
  • 需求定义准则
    • 一致性
    • 完整性
    • 可行性
    • 需要性
    • 正确性
    • 可跟踪
    • 可验证
  • 用例建模优点

软件系统分析与设计知识梳理
https://dreamerland.cn/2023/07/20/softwareSystem/
作者
Silva31
发布于
2023年7月20日
许可协议