系统架构的风险点:在系统架构设计中潜在的,有问题的架构决策所带来的隐患;
系统架构的敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特征;
系统架构的权衡点:影响多个质量属性的特性,是多个质量属性的权衡点。
模型(Model):应用程序主体部分,模型表示业务数据和业务逻辑,一个模型可以为多个视图提供数据。
视图(View):用户看到并与之交互的界面。能接收用户输入的数据,不对任何实际业务进行处理。
控制(controller):根据用户输入并调用模型和视图完成用户的需求,用户界面和model的接口。将视图的输入,解释为系统能够理解的对象,识别用户输入,调用相对应的模型。处理模型的事件和模型逻辑执行的结果,调用适当的视图为用户提供反馈。
架构设计的一个核心问题是能否达到架构级的软件复用。
架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个构建有效的组织成一个完整的系统。
架构风格定义了用于描述系统的术语表和一组指导构建系统的规则。
数据流风格:
批处理序列:有顺序的,每个步骤都是独立的程序,每一步必须在其前一步结束才能开始,数据必须是完整的,以整体的方式传递。
管道顾过滤器:每个构建都有输入和输出,将一个过滤器的输出,到另外一个过滤器的输入。早起编译器就是这样的。
调用回放功能:
主程序/子程序:调用关系具有层次性,构件为主程序,子程序;
面向对象:通过函数和函数之间进行交互。
层次结构:每层为上一层提供服务,使用下一层的服务,只能见到与自己相邻的层,通过层次结构,可以将大的问题分解为若干个渐进的小问题逐步解决,可以影藏问题的复杂度。
独立构件风格:
进程通信:构件是独立的过程,连接件是消息传递。消息传递可以点对点、异步或同步,远程调用访问。
事件驱动系统(隐式调用):构件过程是一个或多个事件中注册。当某个事件被触发时,系统自动调用在这个事件中注册的所有过程。
虚拟机风格:
解释器:解释某个东西。但效率不高。
基于规则的风格:包含规则集,规则集解释器,一般在人工智能和DSS领域;
仓库风格:
数据库系统:有两大类,一类是中央共享数据源,另一个是多个独立处理单元。
黑板系统:包含知识源,黑板、控制。
超文本系统:构件以网状链接的方式进行连接。用于互联网领域。
层次结构风格
优点:支持基于可增加抽象层的设计,将一个复杂问题分解成一个增量步骤序列实现。
不同的层次处于不同的抽象级别,越靠近底层(核心层越抽象)。
每层最多只影响两层,只要给相邻层,提供接口。
缺点:不是每个系统都很容易的划分。
嵌入式系统中的闭环风格,适用于嵌入式系统,涉及连续动作和状态
RUP(Rational Unified Process):统一软件开发过程
包含4个阶段:初始阶段、细化阶段、交付阶段(注意,题目里面可能是移交,意思一样就可以了!)、构建阶段;
用例驱动以架构为中心迭代和增量;
初始阶段:确定项目范围和边界识别系统的关键用例展示系统的候选架构,估计项目费用和时间,估计项目风险。
细化阶段:分析系统我呢体领域,建立软件架构基础,淘汰最高风险元素。
交付阶段:进行β测试制作发布版,用户文档定稿,确定新系统,培训,调整产品。
构建阶段:开发剩余构件,构件组装测试;
注意:β测试只有产品的才能测试,在用户环境下测试。α测试是在开发环境下才有
各维护的细节!
正确性维护:改BUG;
适应性维护:适应外部环境的变化;
完善性维护:增加功能,提升性能;
预防性维护:解决将来会遇到的问题;
项目中遇到最多的就是完善性维护,最少的是预防性维护;
最常用的12种设计模式小结:
1.策略模式(Strategy): 定义了算法家族, 分别封装起来, 让它们之间可以互相替换。
2.装饰着模式(Decorator): 动态的给一个对象添加一些额外的职责。
3.代理模式(Proxy): 为其他对象提供一种代理以控制对这个对象的访问。
4.工厂模式(Factory): 定义一个用以创建对象的接口, 让子类决定实例化哪个类。
5.模板模式(Template): 定义一个操作中的算法骨架, 而将一些步骤延迟到子类中.
6.外观模式(Facade): 为子系统中的一组接口提供一个一致的界面。
7.建造者模式(Builder): 将一个复杂对象的构建与它的表示分离。
8.观察者模式(Observer): 定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,在它的状态发生变化时,会通知所有的观察者。
9.抽象工厂模式(Abstract Factory): 提供一个创建一系列相关或相互依赖对象的接口, 而无需指定它们具体的类。
10.适配器模式(Adapter): 将一个类的接口转换成客户希望的另一个接口。
11.单例模式(Singleton): 保证一个类仅有一个实例,并提供一个访问它的全局控制点。
12.命令模式(Command): 将一个请求封装成为一个对象, 使可以用不同的请求对客户进行参数化。
用例模型中,两个用例之间中存在的关系:扩展(可选的关系)、使用(必须的关系)、泛化(有父子关系);
注意:考试的时候,可能会多出几个关系,这个时候,不要局限于上面的这3个,根据选项找最合适的。
这里要注意,在包含和扩展里面,A为基础用例,包含是基础指向大的一块。扩展是大的指向基础的,这个要注意!
泛化和实现中A为父类,或者接口。BC为子类。泛化可以接口泛化接口,也可以父类泛化子类,而实现只能是父类和子类,不能接口对接口。
实际应用领域中,EP为企业门户包含:
企业网站:信息单向传送,只能看,不能收集用户信息,填写数据等功能。
企业信息门户:访问者可以相互讨论和交换信息。把数据资源和互联网资源集成到EP中;
企业知识门户:主要是给员工用。
企业应用门户:对企业业务逻辑的集成、不仅仅内部员工可以用,外部人员也可以用。
CRM为客户关系管理,管理对象是客户与企业之间的双向关系。
在开发过程中,客户关系培养和维护是开发的主要目标。
这里要注意几个概念:SRM(供应商关系管理)是管理供货商的,ERP(企业资源计划)是企业自身管理。
S(供货商) A(企业) C(客户)
A到C用CRM管理、S到A用SRM管理。A用ERP管理
主题数据库:数据存放是按照主题来的,解决信息孤岛问题;
他包括:数据抽取、数据装载、数据清洗(包含数据转换)
企业应用集成:
初级阶段:部门职能展开,搞数据处理的;
mis阶段:企业整体需求;
应用(系统)集成:考勤、财务等。把信息孤岛关联起来;
界面集成
界面->表示层
业务、控制集成->应用逻辑
数据集成->中间件
中间件下面就是数据库了!
信息化战略与实施:
企业应用集成(EAI):界面集成、业务过程集成、应用集成、数据集成、平台集成;
企业信息化与电子商务:B2B、B2C、C2C、O2O(Online To Offine)
信息系统战略规划:
第一阶段
以数据处理为核心,围绕职能部门需求的信息系统规划
主要方法:企业系统规划法,关键成功因素法,战略集合转化法
第二阶段
以企业内部管理系统为核心,围绕企业整体需求进行的信息系统规划
主要方法:信息工程法,战略栅格法
第三阶段
在综合考虑企业内外环境的情况下,以集成为核心,围绕企业战略需求进行的信息系统规划
主要的方法:价值链分析法,战略一致性模型