一、统一过程
统一过程(RUP/UP,Rational Unified Process)是一种以用例驱动、以体系结构为核心、迭代及增量的软件过程模型,由UML方法和工具支持,广泛应用于各类面向对象项目。
RUP
. RUP 是 Rational 公司开发的一套软件过程框架
. RUP 本身支持可裁减性,可以应付各种领域软件和不同的项目规模
. RUP蕴含了大量优秀的实践方法,如:迭代式软件开发、需求管理、基于构件的构架应用、建立可视化的软件模型、软件质量验证、软件变更控制等
. RUP 把整个软件开发生命周期分为多个循环,每个循环由四个阶段组成,每个阶段完成确定的任务,结束前有一个里程碑评估本阶段的工作
RUP的静态结构
. 6个核心工作流:业务建模、需求、分析设计、实现、测试、部署
. 3个核心支持工作流:配置与变更管理、项目管理和环境
RUP的工作流:
业务建模、需求、分析设计、实施、测试
RUP的五个阶段:
初始阶段 --> 细化阶段--> 构建阶段 --> 移交阶段 --> 产生阶段
二、模块结构图 :
模块结构图的主要组成有:模块、调用、数据、控制信息和转接符号
三、嵌入式操作系统:
嵌入式操作系统的特点:
(1)微型化,从性能和成本角度考虑,希望占用的资源和系统代码量少;
(2)可定制,从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用的需求;
(3)实时性,嵌入式操作系统主要应用于过程控制、数据采集、传输通信、多媒体信息及关键要害领域需要迅速响应的场合,所以对实时性要求较高;
(4)可靠性,系统构件、模块和体系结构必须达到应有的可靠性,对关键要害应用还要提供容错和防故障措施;
(5)易移植性,为了提高系统的易移植性,通常采用硬件抽象层和板级支撑包的底层设计技术。
四、系统原型:
1、原型方法适用于用户需求不清、需求经常变化的情况,可以帮助导出系统需求并验证需求的有效性;
2、探索型原型的目的是弄清目标的要求,确定所希望的特性,并探讨多种方案的可行性,可以用来探索特殊的软件解决方案;
3、原型法能够迅速地开发出一个让用户看得见的系统框架,可以用来支持用户界面设计。
注:原型法不能用来指导代码优化。
五、敏捷方法:
1.极限编程(XP)
XP是一种轻量级(敏捷)、高效、低风险、柔性、可预测的、科学的软件开发方式。它由价值观、原则、实践和行为4个部分组成,彼此相互依赖、关联,并通过行为贯穿于整个生存周期。
4大价值观:沟通、简单性、反馈和勇气。
5个原则:快速反馈、简单性假设、逐步修改、提倡更改和优质工作。
12个最佳实践:
计划游戏(快速制定计划、随着细节的不断变化而完善)
小型发布(系统的设计要能够尽可能早地交付)
隐喻(找到合适的比喻传达信息)
简单设计(只处理当前的需求,使设计保持简单)
测试先行(先写测试代码,然后再编写程序)
重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求)
结队编程、集体代码所有制、持续集成(可以按日甚至按小时为客户提供可运行的版本)
每周工作40个小时、现场客户和编码标准。
(2)编写完程序之后编写测试代码
(3)系统最终用户代表应该全程配合XP团队
注:极限编程提倡小型版本发布,每一轮迭代大约2周
2.水晶法(Crystal)
水晶法认为每个不同的项目都需要一套不同的策略、约定和方法论,认为人对软件质量有重要的影响,因此随着项目质量和开发人员素质的提高,项目和过程的质量也随之提高。通过更好地交流和经常性的交付,软件生产力得到提高。
3.并列争求法(Scrum)
并列争求法使用迭代的方法,其中,把每30天一次的选代称为一个“冲刺”,并按需求的优先级别来实现产品。多个自组织和自治的小组并行地递增实现产品。协调是通过简短的日常情况会议来进行,就像橄榄球中的“并列争球”。
4.自适应软件开发(ASD)
ASD有6个基本的原则:有一个使命作为指导:特征被视为客户价值的关键点:过程中的等待是很重要的,因此“重做”与“做”同样关键变化不被视为改正, 而是被视为对软件开发实际情况的调整;确定的交付时间迫使开发人员认真考虑每一个生产 的版本的关键需求:风发实际情况的调整:险也包含其中。
六、耦合类型:
公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
标记耦合 :一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。本题描述的是标记耦合
七、界面设计黄金准则:
人机交互“黄金三原则”包括:置于用户控制之下、减少用户的记忆负担、保持界面的一致性