原创--2012系统分析师复习笔记V2.1(5)

2019-01-12 13:26

组织适应新环境或随时间而改变其行为的概念称为“组织学习”。

信息系统可以是手工的,也可以是计算机化的。

业务活动是业务过程的组织元素,是不可再分的最小功能单元。业务活动之间是相对独立的,有清晰的时空界限,每一个业务活动都应是可执行的,结果是确定的且是唯一的。

信息资源规划的需求分析和软件工程的需求分析,分析的业务范围和数据标准的要求都不同。

电子商务的敏感信息(如:银行账号)使用安全套接字层(SSL)通信协议保护。

基于总线结构减少系统互操作时的转换复杂性,并能使系统的结构变得更加清晰。

4. 软件工程

4.1. 逆向工程&再工程

逆向工程(reverse engineering)概念来自于硬件,目的是分析产品,得出设计,是一个设计恢复的过程。逆向工程的抽象层次分为四层,抽象层次越高,完备性越低。抽象层次由低到高分别为: 1. 导出过程的设计表示文档 2. 导出程序和数据结构信息 3. 导出数据流和控制流模型 4. 导出实体关系模型

逆向工程的最高抽象层次/完备性最低是“导出实体关系模型”(例如:UML状

态图和部署图)。

再工程(re-engineering)不仅能从已有程序中重新获得设计信息,而且还能使用这些信息改建或重构现有系统,以改进综合质量。一般软件人员用再工程重新实现已存在的程序,同时加进新的功能或改善它的性能。

4.2. 统一过程UP

统一过程适合于大中型项目的开发。

分为4个顺序的阶段:初始阶段、细化阶段、构建阶段、移交阶段。 ? 初始阶段:为系统建立业务模型,并确定项目边界。该阶段主要关注业

务和需求方面的主要风险。

? 细化阶段:分析问题领域,建立健全的架构基础,淘汰项目中最高风险

的元素。该阶段,必须在理解整个系统的基础上,对架构做出决策,包括其范围,主要功能,和诸如性能等肺功能需求,同时为项目建立支持环境。

? 构建阶段:主要任务是通过优化资源和避免不必要的保费和返工,使开

发成本降到最低,完成所有所需功能的分析、开发和测试;确定软件、场地和用户是否已经为部署做好准备。

? 交付阶段:确保软件对最终用户可用。主要任务是进行β测试,制作产

品发布版本;对最终用户支持文档定稿;按用户的需求确认新系统;培训用户和维护人员;获得用户对当前版本的反馈,基于反馈调整产品。交付阶段结束时还要进行技术评审,评审目标是否实现,用户对交付产品是否满意等。

4.3. 软件需求

软件需求可以分为几个层次:

? 业务需求(business requirement):反映组织机构或客户对系统、产品高层

次的目标要求,它们在项目视图与范围文档中予以说明。

? 用户需求(user requirement):描述用户使用产品必须完成的任务,在用例

文档或方案场景(scenario)说明中予以说明。

? 功能需求(functional requirement):定义开发人员必须实现的软件功能,使

得用户能完成他们的任务,从而满足业务需求。

? 非功能需求(none-functional requirement):描述系统展现给用户的行为及

执行的操作等。包括产品必须遵循的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件;质量属性。

所有与需求直接相关的活动称为需求工程。

需求工程的活动可分为两大类:需求开发、需求管理。

? 需求开发:目的是通过调查与分析,获取用户需求并定义产品需求。需

求开发的过程有四个:需求获取、需求分析、需求定义(制定需求规格说明书)、需求验证(获取、分析、定义、验证)。4个阶段不一定是线性关系。

? 需求管理:目的是确保各方对需求的一致理解,管理和控制需求的变更,

以及从需求到最终产品的双向跟踪。需求管理包括:变更控制、版本控制、需求跟踪、需求状态跟踪等工作。

质量功能部署QFD确认了三类需求,分别是: ? 常规需求:基本需求,用户提出的明确的需求;

? 期望需求:隐含在产品或系统中,可能由于非常基础以至于用户没有显示说明的需求;

? 意外需求:兴奋需求,出乎客户意料的东西。

QFD的目的是最大限度提升软件工程过程中客户的满意度。

4.4. 软件测试

从测试阶段划分,可分为三类:

? 单元测试:程序员自己测。单元测试计划应在详细设计阶段制定;

? 集成测试:对由各模块组装而成的程序进行测试,集成的方式分为增量式集

成(渐增式集成)和非增量式集成(整体拼装),渐增式集成又分为自顶向下集成和自底向上集成。集成测试计划应在概要设计阶段制定;

? 确认测试:检查软件的功能、性能及其他特征是否与用户需求一致。确认测

试计划应在需求分析阶段制定。

从测试群体、场地来划分:

? α测试:用户在开发者的场所进行测试,并且在开发者的指导下进行测试。

在受控环境中进行。

? β测试:在用户现场由最终用户实施测试过程,非受控。

从测试方法划分:

? 白盒测试:主要用于单元测试阶段,由程序员负责; ? 黑盒测试:用于集成测试、确认测试阶段。

在纠正的程序中的错误后,还应选择部分或全部原先已测过的测试用例,对修改后的程序重新测试,这种测试称为回归测试。回归测试的目的是检验修改引起的副作用。

4.5. 敏捷

2001年,敏捷宣言: 个体和交互胜过过程和工具, 可工作的软件胜过面面俱到的文档, 客户合作胜过合同谈判, 响应变化胜过遵循计划。

敏捷的主要原则:

? 最优先要做的是尽早、持续地交付有价值的软件来使客户满意;

? 即使到了开发的后期,也欢迎改变需求,利用变化为客户创造竞争优势;

? 经常性交付可以工作的软件,时间间隔越短越好,但不要求每次交付的都是

系统的完整功能;

? 团队内部,最有效的信息传递方法是面对面的交谈。

敏捷的四大价值观:

1. 个体和交互胜过过程和工具;

2. 可以工作的软件胜过面面俱到的文档; 3. 客户合作胜过合同谈判; 4. 相应变化胜过遵循计划。

影响较大的敏捷方法论包括: (1) XP极限编程

? 软件开始初期无需做出很多文档; ? 测试先行,测试驱动;

? 四大价值观:沟通、简单、反馈、勇气。

? 12种最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、程序集成、每周工作40小时、现场客户、编码标准。

? 包括规划、设计、编码和测试4个框架活动的规则和实践。

? 极限编程中使用的重要技术是重构,即包括设计技术的重构,也包括构建技术的重构;

? 提倡在基本设计完成后,团队不应该直接开始编码,而是开发一系列用于检测本次发布的包括所有故事的单元测试(测试先行)。 ? 关键概念之一是“结对编程”。

? 极限编程过程中建立的单元测试应当使用一个可以自动实施的框架,支持代码修改后即使的回归测试策略。

(2) SCRUM


原创--2012系统分析师复习笔记V2.1(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:北京市级示范性高等职业教育实训基地建设评分指标体系

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: