[系统架构设计师]知识点(二十五)
[系统架构设计师]知识点(二十五)
一.RUP(统一软件开发过程)关键特性
1.用例驱动:用例是用户与系统交互的描述,RUP强调从用例出发捕获需求,设计系统,并推动开发和测试的进行。用例驱动方法使开发人员能直观理解用户需求,并依次为基础设计系统的功能。
2.以体系结构为中心:RUP以系统架构为中心组织开发活动,确保系统的可扩展性和高质量。
3.迭代式开发:开发过程分为多个迭代周期,每次迭代都有明确目标,并逐步完善系统。
二.ATAM头脑风暴三种场景
在架构权衡分析法(ATAM)中,三种场景类型:
1.用例场景:表示系统在典型工作负载或使用情况下的行为。
2.增长场景:描述系统随着需求变化或规模扩展的能力
3.探索性场景:表示非典型或异常情况下的表现,强调鲁棒性和边界条件
三.设计模式
设计模型主要有三大类型:创建型模式,结构性模式,行为型模式
1.创建型模式:描述对象如何创建,是为了将对象的创建和使用分离。
包括5种:单例,原型,工厂方法,抽象工厂,构建器
2.结构性模式:描述类或对象如何组织成更大的结构
包括7种:代理,适配器,桥接,装饰,外观,亨元,组合
3.行为型模式:描述类或对象如何协作完成任务。
包括11种:模板方法,策略,命令,职责链,状态,观察者,中介者,迭代器,访问者,备忘录,解释器
四.软件维护分类
根据软件维护的目的和性质,通常将软件维护分为以下几类:
1.预防性维护:在软件尚未发生问题时,为预防潜在问题而采取的措施。例如改进代码结构,增加注释,更新技术文档。目的是提高软件的长期可维护性和可靠性。
2.改正性维护:针对软件运行中发现的错误或缺陷进行修复的维护。目的是解决问题,使软件恢复正常。
3.完善性维护:为了满足用户对软件提出的新功能或性能需求而进行的修改或扩充。目的是增强软件功能,提高性能,改进用户体验。
4.适应性维护:为了适应外部环境的变化(如操作系统升级,硬件更换,法规变化等)而进行的软件的调整。目的是确保软件能够继续在新环境中正常运行。
五.关系数据库中的操作特点
1.操作的对象:关系数据库以关系(表)的形式存储数据,表中的数据本质上是一个数学意义上的集合。数据库的操作(如查询,插入,更新,删除)作用于这些集合上的行(元组)或列(属性)。
2.操作的结果:查询操作(SELECT)的结果也是一个关系,仍然是一个集合。关系数据库遵循关系代数的运算规则,操作的输入和输出都符合集合的性质(无序,无重复)
六.ABSD
ABSD是以体系结构为中心的软件开发方法,其中体系结构的设计需求主要来自以下三个方面:
1.系统的质量目标:质量目标(如性能,可靠性,可扩展性等)是软件系统成功的重要指标。体系结构设计需要确保这些质量属性在开发中被满足。
2.系统的商业目标:商业目标决定了系统开发的总体方向和优先级,如降低成本,缩短上市时间,增加市场竞争力等
3.系统开发人员的商业目标:开发人员的目标可能包括技术可行性,开发效率,代码可复用性等,与商业目标和质量目标密切相关
七.用例图活动图顺序图类图功能
用例图: 展示系统的功能点和用户交互,适合描述用户界面元素与用户的关系
活动图:展示操作流程和界面跳转逻辑,适合描述界面跳转的动态流程
顺序图:主要描述系统对象之间的交互顺序
类图:用于建模系统的静态结构
八.进程通信风格
进程通信风格专注于多个独立进程之间如何进行通信。其连接件用于在进程之间传递数据和协调操作。
消息传递:是进程通信风格的典型连接件。提供了进程通信的机制,允许一个进程将消息发送到另一个进程。具体实现方式包括消息队列,管道,共享内存等。
消息队列:是一种实现消息传递的技术,提供了一个缓冲区,允许发送和接收消息。属于消息传递机制的实现方式,但它本身不是通信风格的连接件。
九.事件驱动架构
事件驱动架构(EDA)是一种软件架构模式,其中系统的组件通过事件进行交互。主要特征:
1.独立性:构件(组件)之间是独立的,他们彼此不知道对方的存在。消息通过事件总线或中间件传递,而不是直接发送给其他构件。
2.非耦合性:组件之间通过事件解耦,没有直接依赖关系。消息的发送者和接收者彼此独立,降低了系统的耦合性。
十.信息化需求
信息化需求包含3个层次:战略需求,运作需求,技术需求
战略需求:组织信息化的目标是提升组织的竞争能力,为组织的可持续化发展提供一个支持的环境。
运作需求:实现信息化战略目标的需要,运作策略的需要,人才培养的需要。
技术需求:强调在信息层技术层面上对系统的完善,升级,集成和整合提出的需求
十一.安全审计四要素
1.控制目标:企业根据实际情况制定的安全控制要求
2.安全漏洞:系统易被干扰或破坏的薄弱环节
3.控制措施:为实现控制目标制定的技术,配置方法和管理制度
4.控制测试:验证控制措施的存在,执行情况以及对漏洞的防范效果,评估其可靠性
十二.WSDL
WSDL是用于描述Web服务及其访问方式的标准语言。WSDL主要描述了Web服务的三个基本属性:
1.服务做什么:描述Web服务提供的功能,通常使用操作和消息的描述来表示。
2.如何访问服务:定义与服务通信所需的协议和数据格式,如SOAP,HTTP等。
3.服务位于何处:指定Web服务的地址(URL),表示服务的具体位置。
十三.死锁发生条件
1.互斥条件
2.请求和保持条件
3.不剥夺条件
4.环路等待条件
十四.系统易用性指标
1.用户满意度:用户对系统易用性和整体体验的主观评价
2.系统学习曲线:反映用户掌握系统使用所需的时间和难度
3.操作效率:系统功能的便捷性,是否能快速完成任务
十五.数据库完整性约束
数据库中的完整性约束分为以下三种类型:
- 实体完整性:确保每个关系的主键唯一且不能为空。
用于保证表中每条记录的唯一性。
- 参照完整性:用于维护表之间的引用关系。
外键必须指向另一个表中的主键或候选键,确保数据一致性。
- 用户定义完整性:是指用户根据实际业务需求自定义的约束规则。
比如,某字段的值只能是特定范围内的值(如性别属性只能是“男”或“女”)。
十六.数据分级分类
1.基础安全层:数据安全管理的基础层,涵盖数据分级分类,数据备份,数据加密等基本安全措施
2.权限控制层:主要负责数据的访问权限管理,确保只有授权用户可以访问特定数据
3.战略安全层和应用接口层:更多地用于高层安全策略或接口相关管理,但与数据分级分类关系较弱
十七.企业集成层次
1.数据集成:最底层,解决数据的共享和统一问题。通过数据抽取,清洗,转换等方法实现数据资源的集中化或分布式管理
2.会聚集成:通过整合不同的系统或模块,使它们能够协同工作。解决的是"如何整合系统资源"的问题,开始涉及逻辑和服务的整合
3.服务集成:通过服务的调用和组合,支持跨系统的业务流程。引入SOA和ESB等技术,关注服务的发布,发现和调用
4.应用集成:最高层次,通过整合业务应用,实现跨系统,跨部门的业务流程联动。关注整体的业务优化和用户体验