NOTE
  • java

    • java线程简介
    • HashMap
    • STL库继承图
  • C#

    • csharp 学习路线
    • c#基础
    • 值类型
    • 引用类型
  • sql基础

    • sql语句
    • 函数、存储过程和视图
  • ElasticSearch

    • ElasticSearch
  • oracle

    • 基数
  • 基础知识

    • Liunx基础
    • 权限管理
    • 文件系统管理
    • 系统管理
    • 备份与恢复
    • 服务管理
    • /md/linux/日志管理.html
  • linux软件

    • vi文本编辑器
    • 工具
  • shell

    • shell基础
    • shell编程
  • 架构基础
  • Spring

    • 简介
    • MyBatis
  • Spring_Cloud

    • 微服务基础
    • 负载均衡器
    • Hystrix原理
  • vue

    • vue基础
    • compositionAPI
    • 组件化
    • 路由和状态管理
  • 操作系统

    • 基础
  • 软件设计

    • 需求的任务
  • linear algebra

    • 线性代数
    • 向量是什么?
  • higher

    • 微积分
  • 英语基础语法

    • 动词
    • /md/english/%E5%9F%BA%E6%9C%AC%E5%8F%A5%E5%9E%8B.html
    • /md/english/%E5%8F%A5%E5%AD%90%E6%88%90%E5%88%86.html
  • 基础
  • 欧陆哲学与英美哲学
  • java

    • java线程简介
    • HashMap
    • STL库继承图
  • C#

    • csharp 学习路线
    • c#基础
    • 值类型
    • 引用类型
  • sql基础

    • sql语句
    • 函数、存储过程和视图
  • ElasticSearch

    • ElasticSearch
  • oracle

    • 基数
  • 基础知识

    • Liunx基础
    • 权限管理
    • 文件系统管理
    • 系统管理
    • 备份与恢复
    • 服务管理
    • /md/linux/日志管理.html
  • linux软件

    • vi文本编辑器
    • 工具
  • shell

    • shell基础
    • shell编程
  • 架构基础
  • Spring

    • 简介
    • MyBatis
  • Spring_Cloud

    • 微服务基础
    • 负载均衡器
    • Hystrix原理
  • vue

    • vue基础
    • compositionAPI
    • 组件化
    • 路由和状态管理
  • 操作系统

    • 基础
  • 软件设计

    • 需求的任务
  • linear algebra

    • 线性代数
    • 向量是什么?
  • higher

    • 微积分
  • 英语基础语法

    • 动词
    • /md/english/%E5%9F%BA%E6%9C%AC%E5%8F%A5%E5%9E%8B.html
    • /md/english/%E5%8F%A5%E5%AD%90%E6%88%90%E5%88%86.html
  • 基础
  • 欧陆哲学与英美哲学

需求的任务

需求的过程

  • 问题识别
  • 分析与综合
  • 编制需求分析文档
  • 需求分析与评审

需求的分类

  • 功能需求
  • 非功能需求
  • 设计约束

应用的工具

  • 数据流图
  • 数据字典
  • 判定表
  • 判定树

开发方法

结构化方法

  • 用户至上
  • 严格区分工作阶段,每阶段有任务和结果
  • 强调系统开发过程的整体性和全局性
  • 系统开发过程工程化,文档资料标准化
  • 自顶而下,逐步分解(求精)

原型法

面向对象方法

  • 更好的复用性
  • 关键在于建立一个全面,合理统一的模型
  • 分析,设计,实现三个阶段,界限不明确

面向服务的方法


内聚和耦合

偶然内聚:一个模块内的各处理元素之间没有任何联系。 逻辑内聚:模块内执行若干个逻辑上相似的功能,通过参数确认 时间内聚:把需要执行的动作组合在一起形成的 过程内聚:一个模块完成多个任务,但必须按指定过程执行 通讯内聚:模块内的所有处理元素都在同一个数据结构上操作,或各处理使用相同的输入数据或产生相同的输出数据 顺序内聚:模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前一个功能的输出就是下一个功能的元素 功能内聚:所有元素共同作用完成一个功能。

无直接耦合:指两个模块之间没有直接的关系。 数据耦合: 指两个模块有调用关系,传递的是简单的数据值。 标记耦合:模块间传递的数据结构 控制耦合:指一个模块被另一个模块调用并传递控制变量,被调用的模块通过该控制变量的值选择执行模块的某一功能。 外部耦合:模块间通过软件之外的环境联结 公共耦合:通过一个公共数据环境相互作用的模块间的耦合 内容耦合:当一个模块直接使用另一个模块的内部数据,或是通过非正常入口转入另一个模块内部。

软件生产文档

IPO图 PDL PAD 程序流程图 N/S盒图

开发文档

  • 可行性研究和项目任务书
  • 需求规格说明
  • 功能规格说明
  • 设计规格说明(包括程序和数据规格说明)
  • 开发计划
  • 软件集成和测试计划
  • 质量保证计划、标准、进度
  • 安全和测试信息

产品文档

  • 培训手册
  • 参考手册和用户指南
  • 软件支持手册
  • 产品手册和消息广告

管理文档

  • 开发过程的每个阶段
  • 软件变更情况的记录
  • 相对于开发的判断
  • 职责定义

CMMI(软件能力成熟度模型认证)

初始级:混乱,个人决定团队 可管理级:纪律化的过程 已定义级:标准一致的过程 EX文档化 定量管理级:对软件的过程和质量可以管控 优化管理级:不断的持续的优化改进

软件开发模型

瀑布模型

定义阶段:软件计划、需求分析 开发阶段:软件设计、程序编码、软件测试 维护阶段:运行维护

  1. 适合开发需求明确的,没有或很小的变化的
  2. 分析设计人员适合的领域
  3. 低风险的

快速原型模型

1)对所开发的领域比较熟悉而且有快速的原型开发工具 2)进行产品1移植或升级时,或已有产品原型进行客户化工作时,原型模型是非常适合 3)容易适应需求的变化;开发费用低,开发周期短且对用户更友好

增量模型

1)进行已有产品升级或新版本开发,增量模型是非常适合的; 2)对完成期限严格要求的产品,可以使用增量模型 3)对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。 4)不用投入大量人力,对整体控制性不强

螺旋模型

1)适合大型大规模的开发 2)可以进行风险评估 3)过多的迭代次数会增加开发成本,延迟提交时间。

最近更新: 2026/5/17 04:03
Contributors: pc1