一个有趣的网站!
1.4 软件工程
1.4.1 需求分析
【背】需求的层次:
业务需求:指反应企业或客户对系统高层次的目标要求,通常来自投资人、购买产品的客户、客户单位的管理人员、市场营销部或产品策划部门等。
用户需求:描述的是用户的具体目标,或用户要求必须能完成的任务。
系统需求:从系统的角度来说吗软件的需求,包括功能需求、非功能需求、设计约束等。
【背】质量功能部署(Quality Funciton Deployment,QFD):
【背】需求分析:使用SA(结构化)方法进行需求分析,其建立的模型的核心是数据字典。分为三个层次的模型,数据模型(实体联系图E-R图表示)、功能模型(数据流图DFD)、行为模型(状态转换图STD)。
【了解】软件需求规格说明书(software requirement specification , SRS):是需求开发活动的产物,编制该文档的目的是使干系人与开发团队对系统的初始规定有一个共同的理解,使之成为整个开发工作的基础。包括内容如下:范围、引用文件、合格性规定、需求可追踪性、注解、附录。
【了解】需求验证也称为需求确认,包括以下内容:
【了解】UML:建模语言,包括结构块、规则、公共机制三个部分。
【背】UML中的关系:依赖(dependency)、关联(association)、泛化(generalization)、实现(realization);
【背】UML2.0中的图例(14种):类图、对象图、构建图、组合结构图、用例图、顺序图、通信图、定时图、状态图、活动图、部署图、制品图、包图、交互概览图。
【背】UML视图:
【了解】面向对象分析阶段的核心工作是建立系统的用例模型和分析模型。
【背】类之间主要关系有:泛化、组合、关联、依赖、聚合和实现。
1.4.2 软件架构设计
【背】软件架构设计:核心问题是能否达到架构级的软件复用。通用软件架构分类如下:
【了解】软件架构评估中,评估人员关注的是系统的质量属性。评估方式:调查问卷、场景(常用)、度量三种方式。基于场景方式主要包括:架构权衡分析法、软件架构分析法、成本效益分析法。
1.4.3 软件设计
【了解】结构化设计:一个自顶向下、逐步求精和模块化的过程。
【了解】SD:一种面向数据流的方法,遵守高内聚、低耦合。
【了解】面向对象设计,常用原则:单一职责原则、开发-闭合原则、里氏替换原则、迪米特原则、依赖倒置原则、接口隔离原则、组合重用原则。
1.4.4 软件工程的过程管理
【了解】在软件过程管理方面,最著名的是能力成熟度模型集成。
【了解】对同一组织采用两种模型分别进行CMMI评估,得到的结论应该是相同的。
【背】阶段式模型
成熟度等级 |
过程域 |
可管理级 |
需求管理、项目计划、配置管理、项目监督与控制、供应商合同管理、度量和分析、过程和产品质量保证 |
已定义级 |
需求开发、技术解决方案、产品集成、验证、确认、组织级培训、集成项目管理、风险管理、集成化的团队、决策分析和解决方案、组织级集成 |
量化管理级 |
组织级过程性能、定量项目管理 |
优化管理级 |
组织级改革与实施、因果分析和解决方案 |
【背】连续式模型
连续式分组 |
过程域 |
过程管理 |
组织级过程焦点、组织级过程定义、组织级培训、组织级过程性能、组织级改革与实施 |
项目管理 |
项目计划、项目监督与控制、供应商合同管理、集成项目管理、风险管理、集成化的团队、定量项目管理 |
工程 |
需求管理、需求开发、技术解决方案、产品集成、验证、确认 |
支持 |
配置管理、度量和分析、过程和产品质量保证、组织级集成环境、因果分析和解决方案 |
1.4.5 软件测试及管理
【了解】分为静态(桌面检查、代码走查、代码审查)和动态(白盒、黑盒)测试。
【了解】测试类型:单元测试、集成测试、确认测试(内部确认测试、Alpha测试和Beta测试、验收测试)、系统测试、配置项测试、回归测试。
【背】软件测试和调试主要区别:
【了解】软件测试管理:过程管理、配置管理、评审;
1.4.6软件集成技术
【背】企业应用集成(enterprise application integration EAI)
【背】分为:
全部评论