软件工程(导论)

成秀秀、杨玲、戚爱斌、苗世迪、温东新

目录

  • 1 软件与软件工程
    • 1.1 软件
    • 1.2 软件危机
    • 1.3 软件工程
    • 1.4 软件生命周期
    • 1.5 软件过程模型
    • 1.6 学生成果分享
  • 2 可行性研究与项目开发计划
    • 2.1 可行性研究的任务
    • 2.2 可行性研究过程
    • 2.3 进度计划
    • 2.4 学生成果分享
  • 3 需求分析
    • 3.1 需求分析的任务
    • 3.2 与用户沟通获取需求的方法
    • 3.3 分析建模与规格说明
    • 3.4 实体-联系图
    • 3.5 数据规范化
    • 3.6 状态转换图
    • 3.7 其它图形工具
    • 3.8 验证软件需求
  • 4 总体设计
    • 4.1 系统流程图
    • 4.2 数据流图
    • 4.3 数据字典
    • 4.4 设计过程
    • 4.5 设计原理
    • 4.6 启发规则
    • 4.7 描绘软件结构的图形工具
    • 4.8 面向数据流的设计方法
  • 5 详细设计
    • 5.1 结构程序设计
    • 5.2 人机界面设计
    • 5.3 过程设计的工具
    • 5.4 面向数据结构的设计方法
    • 5.5 程序复杂程度的定量度量
  • 6 软件编码
    • 6.1 程序设计语言
    • 6.2 编码风格
  • 7 软件测试
    • 7.1 软件测试基础
    • 7.2 单元测试
    • 7.3 集成测试
    • 7.4 确认测试
    • 7.5 白盒测试技术
    • 7.6 黑盒测试技术
    • 7.7 调试
    • 7.8 软件可靠性
  • 8 软件项目管理
    • 8.1 估算软件规模
    • 8.2 工作量估算
    • 8.3 人员组织
    • 8.4 质量保证
    • 8.5 软件配置管理
    • 8.6 能力成熟度模型
可行性研究过程

1. 复查系统规模和目标

对问题定义阶段书写的关于规模和目标的报告书进一步复查确认。


2. 研究目前正在使用的系统

新的目标系统必须也能完成旧系统的基本功能;另一方面,新系统必须能解决旧系统中存在的问题。


3. 导出新系统的高层逻辑模型

现有的物理系统→现有系统的逻辑模型→目标系统的逻辑模型→新的物理系统 


4. 进一步定义问题

分析员应该和用户一起再次复查问题定义、工程规模和目标。 


可行性研究的前4个步骤实质上构成一个循环。 


5. 导出和评价供选择的解法

1、首先从技术角度出发排除不可行方案;

2、其次考虑操作可行性,去掉用户不能接受的方案;

3、接下来考虑经济可行性,估计余下的每个可能的系统的开发成本和运行费用,进行成本/效益分析;

4、最后为每个在各方面都可行的系统制定实现进度表(如下图)。


6. 推荐行动方针

根据可行性研究结果应该做出的一个关键性决定是,是否继续进行这项开发工程。若继续开发,选择一种最好的解法,说明选择这个解决方案的理由。


7. 草拟开发计划

分析员应该为所推荐的方案草拟一份开发计划,制定工程进度表、估计对各类开发人员和各种资源的需要情况、估计系统生命周期每个阶段的成本、给出下一个阶段(需求分析)的详细进度表和成本估计。 


8. 书写文档提交审查

把可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。