易混淆点 1:逆向工程,正向工程 ,再工程和 设计 恢复****
(1)逆向工程****
实现级: 包括程序的抽象语法树、符号表、过程的设计表示
结构级: 包括反映程序分量之间相互依赖关系的信息,例如调用图、结构图、程序和数据结构
功能级: 包括反映程序段功能及程序段之间关系的信息,例如数据和控制流模型
领域级: 包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息,例如实体关系模型
(2)再工程。 再工程是指在逆向工程所获得信息的基础上,修改或重构已有的系统,产生系统的一个新版本。再工程是对现有系统的重新开发过程,包括逆向工程、新需求的考虑过程和正向工程三个步骤。它不仅能从已存在的程序中重新获得设计信息,而且还能使用这些信息来重构现有系统,以改进它的综合质量。在利用再工程重构现有系统的同时,一般会增加新的需求,包括增加新的功能和改善系统的性能。
(3)正向工程。 正向工程是指不仅从现有系统中恢复设计信息,而且使用该信息去改变或重构现有系统,以改善其整体质量。
(4)设计恢复。 设计恢复是指借助工具从已有程序中抽象出有关数据设计、总体结构设计和过程设计等方面的信息。
易混淆点 2: 用例关系:包含关系、扩展关系、泛化关系****
包含关系:其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例,当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。
扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。
泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。
易混淆点 3:需求的分类****
【需求的层次分类】****
业务需求:是指反应企业或客户对系统高层次的目标要求,通常来自项目投资人、购买产品的客户、客户单位的管理人员、市场营销部门或产品策划部门等。通过业务需求可以确定项目视图和范围,为以后的开发工作奠定了基础。
用户需求:描述的是用户的具体目标,或用户要求系统必须能完成的任务。也就是说,用户需求描述了用户能使用系统来做些什么。
系统需求:是从系统的角度来说明软件的需求,包括功能需求、非功能需求和设计约束等。
功能需求也称为行为需求,它规定了开发人员必须在系统中实现的软件功能,用户利用这些功能来完成任务,满足业务要求。
性能需求(非功能需求) 是指系统必须具备的属性或品质,又可细分为软件质量属性和其他非功能需求。
设计约束也称为限制条件或补充规约,通常是对系统的一些约束说明。
【需求的 QFD 分类】****
质量功能部署QFD是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。QFD将软件需求分为三类:
常规需求(基本需求) :用户认为系统应该做到的功能或性能,实现越多用户会越满意。
期望需求:用户想当然认为系统应具备的功能或性能,但并不能正确描述自己想要得到的这些功能或性能需求。如果期望需求没有得到实现,会让用户感到不满意。
兴奋需求(意外需求) :是用户要求范围外的功能或性能,实现这些需求用户会更高兴,但不实现也不影响其购买的决策。
易混淆点 4 :系统测试 (主要区分压力测试和强度测试)
负载测试:各种工作负载下系统的性能压力测试【测上限】:系统的瓶颈或不能接受的性能点强度测试【测下限】:系统资源特别低的情况下运行容量测试【并发测试】:同时在线的最大用户数可靠性测试:MTTF之类的参数
易混淆点 5 :系统维护分类****
改正性维护: 指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
适应性维护: 指使应用软件适应信息技术变化和管理需求变化而进行的修改。企业的外部市场环境和管理需求的不断变化也使得各级管理人员不断提出新的信息需求。
完善性维护: 扩充功能和改善性能而进行的修改。对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。
预防性维护: 为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,应主动增加预防性的新的功能,以使用系统适应各类变化而不被淘汰。如将专用报表功能改成通用报表生成功能,以适应将来报表格式的变化。
易混淆点 6 : ****遗留系统演化策略(注意区分继承策略和集成策略)
淘汰策略:遗留系统的技术含量较低,且具有较低的业务价值。对遗留系统的完全淘汰是企业资源的根本浪费,系统分析师应该善于“变废为宝”,通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。
继承策略:遗留系统的技术含量较低,已经满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业的业务尚紧密依赖该系统。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。
改造策略:遗留系统具有较高的业务价值,基本上能够满足企业业务运作和决策支持的需要。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变;数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型的转化。
集成策略:遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。