1. 层次系统体系结构和基于消息的层次体系结构有什么区别?
层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。这种风格支持基于可增加抽象层的设计。这样,允许将一个复杂问题分解成一个增量步骤序列的实现。
每一层最多影响两层。在一些层次系统中,除了一些精心挑选的输出函数外,内部层次只对相邻层可见,这样的系统中,构建在一些层实现了虚拟机(在另一些层次系统中层是部分不透明的),连接件通过决定层间如何交互的来定义,拓扑约束包括相邻层间的交互约束。
jb/ hmb风格基于层次消息总线、支持构件的分布和并发,构件之间通过消息总线进行通讯消息总线是系统的连接件,负责消息的分派、传递和过滤,以及处理结果的返回;各个构件挂接在消息总线上,向总线登记感兴趣的消息类型;构件根据需要发出消息,由消息总线负责将该消息分派到系统中所有对此消息感兴趣的构件,消息是构件之间通讯的唯一方式;构件接收到消息后,根据自身状态对消息进行响应,并通过总线返回处理结果。由于构件通过总线进行连,并不要求各个构件具有相同的地址空间或局限在一台机器上。
2. 分析比较b/s,二层c/s,三层c/s,指出优缺点。
b/s 是基于浏览器与服务器之间的应用程序,**就基本上属于这种结构,输入一个地址就可以访问的,c/s基于客户端与服务器之间的应用程序,比如说现在的一些网游,需要**一个客户端才能运行的程序,b/s结构大部分处理都是由服务器来完成的,而c/s则可以在本机上处理大部分的事情,只需要把数据跟服务器交换下就可以了,在服务器的负载上,b/s显然要比c/s结构的要大的多。
b/s、c/s结构软件技术上的比较:
b/s: browser/server结构结构即浏览器和服务器结构。它是随着internet技术的兴起,对c/s结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过www浏览器来实现,极少部分事务逻辑在前端(browser)实现,但是主要事务逻辑在服务器端(server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(tco)。
c/s:client/server 在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网,client/server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。
这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。 它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 client端和server端来实现,降低了系统的通讯开销。
目前大多数应用软件系统都是client/server形式的两层结构,由于现在的软件应用系统正在向分布式的web应用发展,web和client/server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
一、b/s模式的优点和缺点。
b/s结构的优点。
(1)、具有分布性特点,可以随时随地进行查询、浏览等业务处理。
(2)、业务扩展简单方便,通过增加网页即可增加服务器功能。
(3)、维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
(4)、开发简单,共享性强。
b/s 模式的缺点。
(1)、个性化特点明显降低,无法实现具有个性化的功能要求。
(2)、操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
(3)、页面动态刷新,响应速度明显降低。
(4)、功能弱化,难以实现传统模式下的特殊功能要求。
二、c/s 模式的优点和缺点
c/s 模式的优点
1.由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
2.操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。
c/s 模式的缺点
1.需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
2.兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
3.开发成本较高,需要具有一定专业水准的技术人员才能完成。
b/s、c/s结构软件技术上的比较。
3. 组织或参考参与采用b/s,和c/s的体系项目开发,总结开发经验。
总结:整体开发过程与一般项目开发一致,不过在工程准备的前期需要正对需求做好相关的架构,在该系统中,需要对聊天系统做好模块的划分,并依据这些模块的划分做好人员的安排和项目进度的调度。其他的软件过程遵守如瀑布模型等标准过程。
需求变化 :项目的需要变化是肯定有的,而且变化一般都很频繁,我们怎么应对客户的这种需求变化呢,以不变应万变。首先在前期的需求调研要做好,尽可能的替用户考虑,达到功能质量满足最大化。
需求调研前期的《目标与范围》和需求调研末期的《功能规格说明书》都要跟客户签字确认,这样既能保证我们所理解的需求就是客户所要的,也使得项目末期跟客户验收时有据可依。在项目中期是发生需求变更是很常见的,这时要做好需求变更管理流程。需求变更表,小的变更自己掌握,客户要求的变更有开发人员和设计人员共同商讨后提交项目经理,项目经理预估变更损耗工程时间,在一定阶段一起提交给客户,大的变更直接提交客户,并且要把需求变更对项目产生的影响让客户知道,把球尽可能的踢给客户,让客户在进度、功能、资源三者中取舍出一个平衡来。
对需求进行分类评级,关键部分不能改动的做特别确认(如系统架构等,如果改变等于从头再来)。同时完成客户签字确认,当然如果能将这部分写成合同细节中去是最好。
在某种意义上,全员设计可能增加交流的成本。两个人之间有一条交流途径,三个人之间最多有三条,四个人之间最多有六条。途径越多,信息量就越大,而这些信息不见得都是有用的信息。
详细设计的任务分解后,不可避免地有更多的人参与交流和沟通,大家要花更多的时间来理解他人的想法,也可能要花更多的时间向他人阐述自己的观点。特别是在并行撰写详细设计的过程中,系统分析员反而可能成为另一个瓶颈了。但从总体上来看,在设计阶段花费适当的代价发现更多的问题,比在实现阶段或测试阶段再发现问题,仍然是划算的。
分解后的详细设计可能引入冲突的设计内容。由于设计由不同的程序员撰写,他们考虑问题的角度和思维的方式不可能完全一致,这增大了不同的设计内容之间的计算口径或交互方式不一致的可能性。这需要设计者们尽可能遵循一致的设计原则,也需要审阅者们尽可能找到这些不一致的地方。
并不是所有的程序员都适合参与设计。很明显,例如刚入职的同事就不适合参与设计,他们对系统架构还缺乏足够的认识。另外兼职的同事也不适合参与设计,他们的工作方式可能无法保证及时提交设计文档与参与讨论等。
4.在软件开发中,采用异构结构有什么好处其负面影响有哪些?
1)从最根本上说,不同的结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题。
2)关于软件包、框架、通信以及其他一些体系结构上的问题,目前存在多种标准。即使在某段时间内某一种标准占统治地位,但变动最终是绝对的。
3)实际工作中,总会遇到一些遗留下来的**,它们仍有效用,但是总与新系统有某种程度上的不协调。然而在许多场合,将技术与经济综合进行考虑时,总是决定不再重写它们。
4)即使在某一单位中,规定了共享共同的软件包或相互关系的一些标准,仍会存在解释或表示习惯上的不同。
坏处:5. 通过查资料然后分析,给出下列体系结构。
windows7,android,p2p,web service,要求:1.模块划分和功能描述。
2.模块间的关系。
3.典型功能模块的调用关系。
4.各自优缺点。
windows7:
window 7在图形架构方面的更新主要有如下方面:
wddm 1.1:新的驱动模型。
directx 11:更新的direct3d 11,以及相关的新direct2d api
dxva-hd:高清**回放加速。
显示设备连接和配置。
色彩管理。高dpi输出和可读性。
多gpu系统。
联合显示适配器(又叫联合渲染)
windows 7核心图形架构。
老的gdi/gdi+仍被单独支持,不过,windows 7提供了它们对应功能的新的实现方法相比vista带的directx 10,windows 7自带了directx 11,和wddm 1.0到1.1的变化不同,directx 11的版本号表示其变化更大一些。
windows 7 directx 11改变了以往的工作模式,将direct3d 10.1升级到direct3d 11,同时将以前vista无法硬件加速的gdi/gdi+的工作重新划分、引入新的direct2d和directwrite api来完成。
图形界面一直是windows系统的核心,而从windows vista开始,windows就开始将提供一个富图形化的桌面图形界面作为要目,不仅仅是因为vista和7的桌面本身就是一个3d应用程序,而是因为 vista和7可以更好地发挥图形加速硬件的作用。从windows vista到windows7,操作系统与gpu的结合越来越紧密。
win7优缺点:
多年的使用习惯让大家对于他的上手难度几乎为零,可使用的应用软件资源是目前所有操作系统中最为丰富的,而且它对硬件、软件的兼容性也是最好的。
它并不适合平板电脑,因为windows操作系统是专门为个人电脑设计的,而非平板电脑,再加上用户在使用习惯上的惯性思维,导致它无论从软硬件配合还是使用感受等多个方面,都无法满足用户苛刻的要求。可以说在平板电脑平台上,windows操作系统有一个好的基础,但是无法发挥出相应的潜力。
android:
android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。蓝色的代表j**a程序,黄色的**为运行j**a程序而实现的虚拟机,绿色部分为c/c++语言编写的程序库,红色的**内核(linux内核+drivers)
android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(os),中间件(middleware)和应用程序(application)。
根据android的软件框图,其android核心模块结构自下而上分为以下几个层次:
第。一、操作系统层(os)
第。二、各种库(libraries)和android 运行环境(runtime)
第。三、应用程序框架(application framework)
第。四、应用程序(application)
以下分别介绍andoid各个层次的软件的重点及其相关技术:
● android核心模块之操作系统层(os)
android使用linux2.6作为操作系统,linux2.6是一种标准的技术,linux也是一个开放的操作系统。
软件体系结构作业
姓名 蒋妮学号 s1124 w174 第1章软件体系结构概论。一 基于构件的软件开发方法能够有效提高开发效率,简述在实际的项目中有哪些方式获得构件 如何管理以及重用构件?1 构件获取有多种不同的途径 1.从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用的构件 2.通过遗留工程,将具...
软件体系结构作业
课程名称 软件体系结构。课程类别 实践必修课。开课学期 2014秋季学期。1.静态模型。1.1.需求描述。1 业务需求。随着因特网的快速发展,网络已经改变和正在改变我们的生活,通过网络交易的方式已经成了一种时尚,也越来越为大多数的人们所接受和使用,各个行业也将网络营销当成一种重要的营销手段。互联网和...
软件体系结构作业
第一章 软件体系结构概论。1 基于构件的软件开发方法能够有效提高开发效率,简述在实际的项目中有哪些方式获得构件 如何管理以及重用构件?答 构件是指语义完整 语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统 结构上,它是语义描述 通讯接口和实现 的复合体。在实际项目中获取构件的方式...