




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2.人月神话提出两条著名的法则:1.人月神话:向一个已经延后的项目中投入更多的人力资源,只会让他更延后。2.没有银弹:没有一种策略技术技巧可以极大地提高程序员的生产力。15软件设计的一般过程16.软件设计的主要活动1)软件设计计划2)体系结构设计3)界面设计4)模块/子系统设计5)过程/算法设计6)数据模型设计17.18.软件可信性质有以下几种。(1)可能性:在规定的环境下、规定的时间内软件无失效运行的能力。(2)可靠安全性: 软件运行不引起危险、灾难的能力。(3)保密安全性:软件系统对数据和信息提供保密性、完整性、可用性、真实性保障的能力。(4)生存性;软件在受到攻击或出现失效时连续提供服务
2、并在规定时间内恢复所有服务的能力。(5)容错性: 软件在故障(硬件环境异常)出现时保证提供服务的能力。(6)实时性;软件在指定的时间内完成反应或提交输出的能力19什么是软件体系结构风格软件体系结构风格是描述某一特定应用领城中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含了一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领城中众多系统所共有的结构和谐义特征,并指导如何将各个模块和子系统有效地组织成一个完整的系统、按这种方式理解、软件体系结构风格定义了用于描述系统的术语表和一组指导构建系统的规
3、则。20黑板风格的体系结构的优点如下:(1)便于多客户共享大量数据。他们不用关心数据是何时出现的、谁提供的,以及怎样提供的。(2)既便于添加新的作为知识源代理的应用程序也便于扩展共享的黑板数据结构。(3)可重用的知识源。(4)支持容错性和健壮性。 黑板风格的体系结构的缺点如下:(1)不同的知识源代理对于共享数据结构要达成一致,而且,这造成了对黑板数据结构进行修改较为困难。(2)需要一定的同步锁机制保证数据结构的完整性和致性,增加了系统复杂度。(3)测试困难(4)不能保证有好的求解方案。(5) 低效。(6)开发成本高。21.C/S风格优缺点优点主要在系统的客户端应用程序和服务器构件分别运行在不同
4、的计算机上,系统中的每台服务器都可以适合各构件的要求,这对于硬件与软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。在C/S体系结构中,系统中的功能件充分隔离。客户端应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中数据的管理,不必在每一个新的应用程序中都对一个DBMS 进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上,可以节约大量费用。缺点:(1)开发成本较高。 (2) 客户端程序设计复杂。(3)信息内容和形式单一。(4)用户界面风格不一,使用繁杂,不利于推广使用。(5)软件移植困难。(6)软件维护与升级困难。 (7)新技术不能轻易应用。22
5、.三层C/S结构风格1表示层2功能层3数据层23.三层C/S结构的优点与传统的二层结构相比,三层C/S结构具有以下优点:(1)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统与软件的可维护性和可扩展性。(2)允许更灵活、有效地选用相应的平台与硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层,并且这些平台与各个组成部分可以具有良好的可升级性与开放性。(3)在三层C/S结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言,使之能并行地而且高效率地进行开发,达到较高的性能价格比,对每一层的处理逻辑的开发和维护也会更
6、容易一些。(4)允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段非法地访问数据层,这就为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理和可控制。24.C/S/与B/S混合结构风格B/S与C/S混合软件体系结构是一种典型的异构体系结构。优点是外部用户不直接访向数据库服务器。从而能保证企业数据库的相对安全。另外,企业内部用户的交互性较强.数据查询和修改的响应速度较快。缺点是企业外部用户修改和维护数据时速度较慢,较烦琐,数据的动态交互性不强。25.正交软件体系结构的概念正交软件体系结构由组织层和线索的构件构成。其中,层是由一组具有相同抽
7、象级别的构件构成的,线索是子系统的特例,它由完成不同层次功能的构件组成(通过相互调用来关联),每一条线索完成整个系统中相对独立的一部分功能。每条线索的实现与其他线索的实现无关或关联很少,在同一层中构件之间是不存在相互调用的。26.正交软件体系结构具有以下优点:(1)结构清晰,易于理解。 (2)易修改,可维护性强。 (3)可移植性强,27.使用异构结构的原因(1)从根本上来说,不同的结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题。(2)关于软件包、框架通信以及其他一些体系结构上的问题,目前存在多种标准,即使在某段时间内某一种标准占统治地位,但变动最终
8、是绝对的。(3)在实际工作中开发人员总会遇到一些遗留下来的代码,它们仍然有用,但是与新系统有着某种程度上的不协调。而在许多场合将技术与经济综合进行考虑时,总是决定不再重写它们。(4) 即使在某一单位中规定了共享共同的软件包或相互关系的一些标准,仍会存在解释或表示习惯上的不同。在UNIX中就可以发现这类问题.即使规定用单一的标准(ASCII)来保证过滤器之间的通信,但因为不同人对关于在ASCII流中信息如何表示的假设不同,不同的过滤器之间仍可能不协调。28.异构体系结构的实例 1.“内外有别”模型 2.“查改有别”模型29.面向对象的系统开发过程概述面向对象的思想已经涉及软件开发的各个阶段,如面
9、向对象分析(OOA)、面向对象设计(OOD)面向对象编程(OOP)。面向对象的系统开发生命周期由分析阶段、设计阶段、实现阶段组成,每个阶段都可以相互反馈,整个过程是一种迭代、渐增的开发过程。1.首先要进行面向对象分析,其任务是了解问题域所涉及的对象、对象间的关系和作用(即操作),针对不同的问题性质选择不同的抽象层次,然后构造问题的对象模型,使该模型能精确地反映所要解决的“实质问题”。2.其次就是面向对象设计,即设计软件的对象模刑。根据所应用的面向对象软件开发环境的功能强弱不等,在对问题的对象模型的分析基础上,可能要对它进行一定的改造,但应以改变原问题域的对象模型最少为原则。然后在软件系统内设计
10、各个对象对象间的关系(如层次关系、继承关系等、对象回的通信方式(如消息模式)等,总之是设计各个对象的职责。3.最后是面向对象编程,即软件功能的编码实现,主要工作包括每个对象的内部功能的实现;确定对象的哪些处理能力在哪些类中进行描述;确定并实现系统的界面、输出的形式及其他控制机理等,需要实现OOD阶段规定的各个对象所应完成的任务。30.下面给出画数据流图的一般步骤:(1)首先,找出数据源点和汇点,它们是外部实体,由它们确定系统与外界的接口。(2)找出外部实体的输出数据流与输入数据流,画出顶层数据流图。(3)从顶层加工出发,逐步细化,画出所需的子图,分析系统的主要处理功能,把每一个处理功能作为一个
11、加工,并且确定它们之间的数据流入和流出关系,画出第一层数据流图。(4)对当前层流图中的每个加工进行细化,画出所需的子图,直到加工不需要再分解为止。31.数据流图33. 面向数据流的需求分析方法步骤 (1)理解当前的现实环境,获得当前人工系统的具体模型。 (2)从当前系统的具体模型抽象出当前系统的逻辑模型。事益村路8 (3)分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型。5 9 (4)为目标系统的逻辑模型做补充。36合理的以用户为中心的界面设计分为6个阶段。 第一阶段:产品概念的开发。 第二阶段:调查研究和需求分析第三阶段:设计思路和关键屏幕画面原型。第四阶段:反复的设计和改进。 第
12、五阶段:软件的实现。 第六阶段:大力推广39设计模式的核心思想是总结和积累前人成功的设计经验,通过对这此经验的学习,使得人们在面对新的设计问题时不用再重复所有的环节,而是尽量套用已有的模式,以提高编程的效率。模式是解决特定问题的经验,实质上是软件的复用。模式由特定的环境、问题以及解决方案3个要素组成,按照软件开发的层次可以分为体系结构模式、设计模式、程序模式。体系结构模式属于层次较高的模式,设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。由于在以往的软件开发中,设计者经常在某种特定场合中遇到一些以前经常出现或感觉似曾相似的问题,直截了当的解决方案就是套用原有的经过证明
13、的解决方案,或参考别人成熟的思路来解决。长时间下来,通过不断地完善并文档化就形成了针对这种问题的处理模式,形成了特定问题的解决方案。43.什么是EJB?它有哪些特点?EJB规范是Sun公司于1997年12月发布的JavaBean 构件模型。一个EJB是特定的在服务器上运行的JavaBean,并且EJB能在可视化的工具下装配成新的应用。EJB应用程序只能用Java语言编写,且必须使用EJB API。编写良好的EJB应用程序无须修改任何源代码就可以在J2EE认证的应用服务器之间移植和互操作。EIB具有以下特点:(1) EJB以构件的形式组织服务器,EJB构件是直接用Java语言编写的服务器构件。J
14、ava语言编写的跨平台特性使得EJB构件可以非常方便地移植到各种操作系统平台和EJB服务器上。(2) EJB构件的实现仅需考虑应用需求,其系统级服务(如事务管理、安全性、构件生命周期与线程等)都是通过EJB服务器自动进行管理的。(3) EJB体系结构具有面向对象、分布式跨平台、可扩充性、安全性以及便于开发等特点,同时它还以协议为中心,任何协议都可以被利用。44 EJB 由哪些角色组成?其结构的优缺点有哪些?1角色1.EJB组件开发者2.应用组合者3.部署者4.EJB服务提供者5.EJB容器提供者6系统管理者2EJB构件模型的优点如下:(1)EJB将成为用Java语言开发分布式的、面向对象的企业
15、级应用系统的标准构件体系构.EJB使得通过组合构件得到分布式应用系统成为可能(2)EJB使得应用系统开发变得容易,应用系统开发人员不需要理解底层的事务处理细节、状态管理、多线程、资源共享管理以及其他复杂的底层API细节。(3)EJB遵行Java的“一次编译,到处运行"的思想,一旦一个EJB开发完成之后就可以部署在任何支持EJB的平台上,而不需要重新编译或对源代码进行修改。(4)EJB定义了一个协议,使用不同供应商提供的工具开发和部署的构件能在运行时互操作,(5)EJB体系结构与已有的服务器平台其他的Java APL、CORBA等兼容。(6)EJB支持Enterprise B
16、eans和其他的非Java应用系统的互操作性。采用EJB开发应用系统有很多优点:(1)标准的Java技术的便利应用系统可以在许多不同的服务器平台上运行。(2)修改应用系统变得容易,对单个构件进行增加、修改、删除等操作不会对应用系统的体系结构产生很大的影响。(3)应用系统经过划分之后, 使得构件之间相互独立,又可以相互协作,提供给用户的是该用户所需要的构件。(4)应用系统的开发变得容易,基本上是即插即用的方式。(5)应用系统从本质上说是叮伸缩的,可以运行在多线程多处理机的环境中。(6)可以在新的应用系统中得到重用,减少了新系统的开发时间。同时,EJB也存在些缺点,主要有:(1)EJB的
17、数量可能非常多,以至于在软件开发库中很难对这些EJB进行跟踪和管理。(2)如果应用开发人员不能正确地使用EJB,可能会导致不恰当的应用系统设计,结果使得应用系统的总体性能下降。(3)除非WM及编译器的性能得到提高,否则EJB应用系统的性能仍将是一个问题。(4)由于EJB技术出现时间不长,目前可用的EJB还不多,要想得到大量的商业性EJB还需要一段时间。45.什么是DCOM? DCOM的特性和优势有哪些?DCOM是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务程序对象,DCOM基于组件对象模型COM.COM提供了一套允许同一台计算机上的客户端与服务
18、器之间进行通信的接口。DCOM的特点1.组件和复用2.位置独立性3.语言无关性4、连接管理5.可扩展性6.对称的多进程处理46.软件体系结构评估方法所关注的质量属性有哪些?1功能性2可靠性3可用性4有效性5可维护性6.可移植性2.风险承担者包括哪些人员?系统体系结构所涉及到的人员。包括架构设计师、开发人员、维护人员等。47什么是场景?基于场景的软件体系结构评估方法有哪几种?场景是对于风险承担者与系统进行交互的简短描述。一般采用刺激、环境、响应三个方面来描述场景。评估方法:SAAM 与 ATAM48.简述SAAM方法的评估步骤。49.比较SAAM和ATAM两种方法的异同点。场景的生成方式不同风险
19、承担者商业动机表述方式不同软件体系结构的描述方式不同第十三章51.简述软件演化的几种定义,这几种定义各有哪些侧重点?Manny Lehman和Juan F. Ranil定义:有目的地从早期的可操作版本来产生新的软件版本的所有规划设计活动。L. A. Belady定义:软件系统在它们的生命周期里被维护和增强的动态行为。NedChapin定义:它是软件 维护活动和过程的一个运用以及对这些活动和过程质量的保证和管理。这些活动和过程是用来从一个早期的可运行版本中产生一个新的软件版本,这个新的软件必须满足客户要求改变的功能或属性。50.造成软件演化的原因有哪些?软件系统开发完成并且投人使用之后,变更就悄
20、悄开始进行了。这些变更一部分来自于对软件缺陷的改正,例如软件使用后暴露的缺陷,软件的性能和可靠性的改进;一部分会随着新的需求浮现出来,例如实现新的功能;另一部分来自于外界的环境变化给软件带来的压力,例如商业模式和环境的不断改变,计算机硬件和软件环境的升级,业务的变更,等等。54.简述软件再工程模型。58.软件如何重构?说一说常见的软件重构的方法(1)大量重复的代码:尽量消除重复的代码,将它们合而为根据重复的代码出现在不同的地方,分别采取不同的重构策略在同一个类(Class)的不同地方:提炼出重复的代码,然后生这些地方调用上述提炼出的方法。在不同子类(Subclass)中:提炼出重复的代码然后通
21、过提开将该方法移动到上级Super class内.在没有关系的类(Class)中:将重复的代的提炼到一个新类中,然后在另个Cass中调用生成的新类,消除重复的代码。(2)过长的方法参数序列: 如果可以向已存在的对象查询获取参数,则可通过移除参数列,在雨数内部向上述已存在的对象查询获取参数。如果参数列中的若干参数是已存在对象的属性,则可通过使用已存在的对象,取代这些参数将这些参数替换为一个完整的对象,这样不仅提高了代码的可读性同时已易 于代码今后的维护。另外,还可以将若 T不相关的参数通过创建新的参数对象创建一一个新的参数类。不过,笔者认为如果这些情况过多,会产生很多莫名其妙的参数类,反而降低了代码的可读性。(3) 代码量过大的方法体或类体:对于代码最过大的方法,拆解过长的函效。(4) 过多的if eise和switch-case逻辑: 看多态能不能取代条件式,如果能,使用多态。如果不能应该重新考虑程序的逻辑结构。另一种情况是if 和else句子何非常相似,那么考虑将其重写,使同样的代码段无论对于那种情况都能生成正确的结果,然后去除条件式。 (5)局部变量的“全局”化:,如果是方法体内的就放在方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁特殊教育师范高等专科学校《数字合成技术与制作1》2023-2024学年第二学期期末试卷
- 正德职业技术学院《动物传染病检测技术》2023-2024学年第二学期期末试卷
- 菏泽家政职业学院《英语视听(4)》2023-2024学年第二学期期末试卷
- 广州涉外经济职业技术学院《生物药剂学与药代动力学》2023-2024学年第二学期期末试卷
- 沈阳职业技术学院《幼儿艺术教育》2023-2024学年第二学期期末试卷
- 湖北汽车工业学院科技学院《物质文化史》2023-2024学年第二学期期末试卷
- 重庆智能工程职业学院《人物运动规律》2023-2024学年第二学期期末试卷
- 扬州大学《饲草营养价值评定》2023-2024学年第二学期期末试卷
- 河南大学《有机化学实验D》2023-2024学年第二学期期末试卷
- 专利权转让与许可合同
- 燃气公司焊工岗位职责
- 湿热、霉菌、盐雾设计分析报告
- GB/T 13869-2017用电安全导则
- GB/T 13738.2-2017红茶第2部分:工夫红茶
- GB/T 13012-2008软磁材料直流磁性能的测量方法
- GB/T 10004-2008包装用塑料复合膜、袋干法复合、挤出复合
- GA/T 1768-2021移动警务身份认证技术要求
- 贯彻中国式《现代化》全文解读
- 核磁-波普分析课件
- 部编人教版道德与法治四年级下册《合理消费》优质课件
- 大学生中长跑锻炼焦虑心理的原因及对策研究获奖科研报告
评论
0/150
提交评论