软考高级-系统分析-案例分析

可行性分析

1)经济可行性:主要评估项目建设成本、运行成本和项目建成后可能的经济收益
2)技术可行性:研究对象是系统需要实现的功能和性能,以及技术能力约束
3)法律可行性:具有范围比较广泛的内容,他从政策、法律、道德、制度约束社会因素来论证信息系统建设的实现性
4)用户使用可行性:从信息系统用户的角度来评估系统的可行性,包括企业的行政管理和工作制度,使用人员素质和培训要求等。

问题分析阶段的四项主要任务包括:

1)研究问题领域
2)分析问题和机会
3)制定系统改进目标
4)修改项目计划

系统约束条件分为四类:进度、成本、功能、质量

系统分析方法比较

分析方法 主要分析内容 分析结果呈现方式
结构化分析方法 通过功能分解方式把系统功能分解到各个模块中 实体关系图(ERD),数据流图(DFD)
面向对象分析方法 确定目标系统概念类、建立类之间交互关系 用例图和交互图

微服务

一个微服务应该包含的内容有:资源、对资源的操作、API集合
1、微服务的优势:
1)解决了复杂问题。把庞大的单一模块应用分解为一系列的服务,同时保持总体功能不变。
2)让每个服务能够独立开发,开发者能够自由选择可行的技术,让服务来决定API约定
3)每个微服务能够独立配置,开发者不必协调对于本地服务配置的变化,这种变化一旦测试完成就被配置了。
4)让每个服务都可以独立调整,你可以给每个服务配置正好满足容量和可用性限制的实例数。
2、带来的挑战
1)并非所有的系统都能转换成微服务。
2)部署较以往架构更加复杂:系统由众多微服务搭建,每个服务需要独立部署,增加部署难度,容器技术能够解决这问题。
3)性能问题:由于微服务注重独立性,相互通信时只能通过标准接口,可能产生延时出错。
4)数据一致性问题:作为分布式部署的微服务,在保持数据一致性方面需要比传统架构更加困难。

设计类

1)实体类:实体类映射需求中的每个实体,保存需要存储在永久存储体中的信息,例如用户、商品
2)控制类:用于控制用例工作的类,用于对一个或几个用例所特有的控制行为进行建模。例如,订单交付,结算,备货
3)边界类:边界类用于封装在用例内、外流动的信息或数据流。例如商品信息页面,订单信息录入页面和订单表单等

活动图和流程图三个主要区别
1)活动图描述的对象活动的顺序关系所遵循的规则,它着重表现为系统的行为,而非处理过程;而流程图着重描述处理过程
2)流程图一般都限于顺序进程,而活动图则可以支持并发进程。
3) 活动图是面向对象的,而流程图是面向过程的。

联合需求计划(JRP)

联合需求计划是通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发的一部分。JRP是一种相对来说成本较高的需求获取方法,但也是十分有效的一种。它通过联合各个关键的用户代表、系统分析师、开发团队一起,通过有组织的会议来讨论需求。JRP将会起到群策群力的效果,对于一些问题最有歧义的时候,对需要最不清晰的领域都是十分有用的一种方法。
优势:1发挥用户和管理人员参与系统开发的积极性,提高系统开发效率;2,降低系统需求获取的时间成本,加速系统开发周期;3,采用原型确认系统需求并获取设计审批,具有原型化开发的优点。

逆向工程

软件的逆向工程师分析已有程序,寻求比源码更高级的抽象表现形式,与之相关联的概念包括软件重构、设计恢复、重构工程等。设计恢复中常见的恢复信息的4种级别
1)实现级:过程的设计模型
2)结构级:程序和数据结构信息
3)功能级:对象模型、数据和控制流模型
4)领域级:UML状态图和部署图

软件重构的三种类别:
代码重构,设计重构,架构重构
常见重构方法:
1)提取方法
2)用委托代替继承
3)用子类代替型别码
4)用多态代替条件判断
5)模板函数
6)提取类
7)提取接口
为了使软件更容易理解,同时又要考虑各种兼容性,在重构时可能需要在代码中增加冗余的判断、冗余的代码结构;也可能需要修改已有的数据结构和索引等,导致程序运行很慢。
但从长远来看,由于重构以后的软件结构更加清晰,代码复杂性降低,更容易理解,在性能调优时更容易分析瓶颈所在,因此软件重构也更容易进行软件的性能优化和调优。

扫描二维码关注公众号,回复: 13338835 查看本文章

用例建模

用例建模的主要工作是书写用例规约,而不是画图。用例模板为一个给顶项目的所有人员定义了用例规约的结果,其内容至少包括用例名,参与者,目标,前置条件,事件流和后置条件,其他的还可以包括非功能需求和用例优先级等。

用例之间的关系
包含关系:出入库操作与登录
扩展关系:查看统计表,生成统计表
泛化关系:用户注册与电话注册,邮件注册和电话注册是属于典型的泛化关系。

遗留系统

继承:价值高,技术低
淘汰:价值低,技术低
集成:价值低,技术高
转换方式
直接转换:在原有系统停止运行的某一时刻,新系统立即投入运营,中间没有过渡期期
并行转换:新系统和现有系统并行工作一段时间,经过这段时间运行后,再用新系统正式替换下现有系统
分段转换:采取分期分批逐步转换。

软件维护

1)更正性维护:识别和纠正软件错误,改正软件性能上缺陷,排除实施中的误使用
2)适应性维护:在使用中,外部环境、数据环境可能发生变化。为使软件适应这种变化,而去修改软件的过程。
3)完善性维护:用户提出新功能和性能要求,软件需要再次开发,扩充软件功能,提高软件的可维护性。
4)预防性维护:预先提高软件的可维护性、可靠性,为以后的软件改进打下良好基础。

项目管理

PERT图
1)关键路径是PERT图中工期最长的路径
2)一个PERT图可以有许多条关键路径
3)路径越多,说明项目活动并行程度高,而且大量任务不容延误,所以项目管理的复杂度高,风险也大。
4)关键路径上的任务不能延迟,一旦延迟会导致项目工期延长

PERT图是一种图形化的网络模型,描述一个项目中任务和任务之间的关系,每个节点表示一个任务,通常包括任务编号、名称、开始和结束时间、持续时间和松弛时间。主要描述不同任务之间的依赖关系。

Gantt图是一种简单的水平条形图,它以一个日历为基准描述项目任务,横坐标表示时间,纵坐标表示任务,图中的水平线段表示对一个任务的进度安排,线段的起点和终点对于在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需要的时间。主要描述不同任务之间的重叠关系

敏捷开发

针对中小型项目,主要给程序员减负,去掉一些不必要的会议和文档。
1)结对编程
2)自适应开发
3)水晶方法:每一个项目都需要一套不同策略、约定和方法论
4)特性驱动开发,针对中小型开发项目的开发模式,是一个模型驱动的快速迭代开发过程,它强调的是简化、实用、易于被开发团队接受,适用于需求经常变动的项目。
5)极限编程XP: 核心是沟通、简明、反馈和勇气。知道计划赶不上变化,XP提倡测试先行,为了将BUG降到最低。
6)并列争球法:是一种迭代的增量化过程,把每段时间的迭代成为一个“冲刺”,并按照优先级别再实现产品。
7)动态系统开发方法:倡导以业务为核心

设计模式

创建型模式主要用于创建对象,为设计类实例化新对象提供指南,单例模式,构造器模式
结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南,外观模式,享元模式,代理模式,组合模式
行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互及分配责任的方式提供指南,解释器模式,中介模式,访问者模式,状态模式和观察者模式。

嵌入式

多核是多微处理器核的简称,是将两个或更多的独立处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。
多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。

猜你喜欢

转载自blog.csdn.net/WANGYONGZIXUE/article/details/117231617