


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2人月神话提出两条著名的法则 :1.人月神话:向一个已经延后的项目中投入更多的 人力资源,只会让他更延后。2.没有银弹:没有一种策略技术技巧可以极大地提高程序员的 生产力。15软件设计的一般过程I 丿八时丿11厂 >XJ jLI JH卡K.喘裕电明一|11fit 廿JX.J<1-,-,I 10 J MIJW H rl dMIWIT ITT - 匚J /I k LI Him LM1*!4 2 乜凰计的一最过祥榨架f亠 ,M -1 T砒LF 於即构洁十1H求亚化>r-11'"1311E3 丿JX,K一展-計对商電需案術+J 层:fix|*博4-1卷件讹沐眈魅代1
2、6. 软件设计的主要活动1)软件设计计划2)体系结构设计3)界面设计4)模块/子系统设计5)过程/算法设计6)数据模型设计17.道辑视图开发祓图物理观闖18.软件可信性质有以下几种。(1) 可能性:在规定的环境下、规定的时间内软件无失效运行的能力。(2) 可靠安全性:软件运行不引起危险、灾难的能力。(3) 保密安全性:软件系统对数据和信息提供保密性、完整性、可用性、真实性保障的能力。(4) 生存性;软件在受到攻击或出现失效时连续提供服务并在规定时间内恢复所有服务的能 力。(5) 容错性 : 软件在故障 ( 硬件环境异常 )出现时保证提供服务的能力。(6) 实时性 ; 软件在指定的时间内完成反应
3、或提交输出的能力19 什么是软件体系结构风格软件体系结构风格是描述某一特定应用领城中系统组织方式的惯用模式。体系结构风格定义一个系统家族, 即一个体系结构定义一个词汇表和一组约束。 词汇表中包含了一些构件和连 接件类型, 而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领城中众多系统所共有的结构和谐义特征, 并指导如何将各个模块和子系统有效地组织成 一个完整的系统、 按这种方式理解、 软件体系结构风格定义了用于描述系统的术语表和一组 指导构建系统的规则。20 黑板风格的体系结构的优点如下 :(1) 便于多客户共享大量数据。他们不用关心数据是何时出现的、谁提供的,以及怎样
4、提供 的。(2) 既便于添加新的作为知识源代理的应用程序也便于扩展共享的黑板数据结构。(3) 可重用的知识源。(4) 支持容错性和健壮性。黑板风格的体系结构的缺点如下 :(1) 不同的知识源代理对于共享数据结构要达成一致,而且,这造成了对黑板数据结构进行 修改较为困难。(2) 需要一定的同步锁机制保证数据结构的完整性和致性 , 增加了系统复杂度。(3) 测试困难 (4) 不能保证有好的求解方案。 (5) 低效。 (6) 开发成本高。21. C/S 风格优缺点优点 主要在系统的客户端应用程序和服务器构件分别运行在不同的计算机上, 系统中的每台 服务器都可以适合各构件的要求,这对于硬件与软件的变化
5、显示出极大的适应性和灵活性, 而且易于对系统进行扩充和缩小。 在 C/S 体系结构中, 系统中的功能件充分隔离。 客户端应 用程序的开发集中于数据的显示和分析, 而数据库服务器的开发则集中数据的管理, 不必在 每一个新的应用程序中都对一个DBMS进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上,可以节约大量费用。缺点:(1) 开发成本较高。 (2) 客户端程序设计复杂。 (3) 信息内容和形式单一。(4) 用户界面风格不一,使用繁杂 ,不利于推广使用。 (5) 软件移植困难。(6) 软件维护与升级困难。 (7) 新技术不能轻易应用。22. 三层C/S结构风格1 表示层 2 功
6、能层 3 数据层23. 三层 C/S 结构的优点与传统的二层结构相比,三层C/S结构具有以下优点:(1) 允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻 辑结构更为清晰,能提高系统与软件的可维护性和可扩展性。(2) 允许更灵活、 有效地选用相应的平台与硬件系统 ,使之在处理负荷能力上与处理特性上分 别适应于结构清晰的三层 , 并且这些平台与各个组成部分可以具有良好的可升级性与开放 性。(3) 在三层 C/S 结构中 , 应用的各层可以并行开发,各层也可以选择各自最适合的开发语言,使之能并行地而且高效率地进行开发, 达到较高的性能价格比,对每一层的处理逻辑的开发和维
7、护也会更容易一些。(4) 允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利 用数据库工具或黑客手段非法地访问数据层,这就为严格的安全管理奠定了坚实的基础 ; 整 个系统的管理层次也更加合理和可控制。24. C/S/ 与 B/S 混合结构风格B/S与C/S混合软件体系结构是一种典型的异构体系结构。优点 是外部用户不直接访向数据库服务器。 从而能保证企业数据库的相对安全。 另外,企业 内部用户的交互性较强 . 数据查询和修改的响应速度较快。缺点 是企业外部用户修改和维护数据时速度较慢,较烦琐,数据的动态交互性不强。25. 正交软件体系结构的概念正交软件体系结构由组织层和
8、线索的构件构成。 其中,层是由一组具有相同抽象级别的构件 构成的,线索是子系统的特例,它由完成不同层次功能的构件组成(通过相互调用来关联 ) ,每一条线索完成整个系统中相对独立的一部分功能。 每条线索的实现与其他线索的实现无关 或关联很少,在同一层中构件之间是不存在相互调用的。26. 正交软件体系结构具有以下优点 :(1) 结构清晰,易于理解。 (2) 易修改,可维护性强。 (3) 可移植性强,27. 使用异构结构的原因(1) 从根本上来说,不同的结构有不同的处理能力的强项和弱点,一个系统的体系结构应该 根据实际需要进行选择,以解决实际问题。(2) 关于软件包、框架通信以及其他一些体系结构上的
9、问题,目前存在多种标准,即使在某 段时间内某一种标准占统治地位,但变动最终是绝对的。(3) 在实际工作中开发人员总会遇到一些遗留下来的代码,它们仍然有用,但是与新系统有 着某种程度上的不协调。 而在许多场合将技术与经济综合进行考虑时, 总是决定不再重写它 们。(4) 即使在某一单位中规定了共享共同的软件包或相互关系的一些标准, 仍会存在解释或表示习惯上的不同。在 UNIX中就可以发现这类问题即使规定用单一的标准(ASCII)来保证过 滤器之间的通信, 但因为不同人对关于在 ASCII 流中信息如何表示的假设不同, 不同的过滤 器之间仍可能不协调。28. 异构体系结构的实例1. “内外有别”模型
10、2. “查改有别”模型29. 面向对象的系统开发过程概述面向对象的思想已经涉及软件开发的各个阶段,如面向对象分析(00A)、面向对象设计(00D)面向对象编程(OOP)。面向对象的系统开发生命周期由分析阶段、设计阶段、实现阶段组成,每个阶段都可以相互反馈,整个过程是一种迭代、渐增的开发过程。1. 首先要进行面向对象分析,其任务是了解问题域所涉及的对象、对象间的关系和作用(即操作),针对不同的问题性质选择不同的抽象层次,然后构造问题的对象模型,使该模型能 精确地反映所要解决的“实质问题” 。2. 其次就是面向对象设计, 即设计软件的对象模刑。 根据所应用的面向对象软件开发环境的功能强弱不等, 在
11、对问题的对象模型的分析基础上, 可能要对它进行一定的改造, 但应以改 变原问题域的对象模型最少为原则。然后在软件系统内设计各个对象对象间的关系(如层次关系、继承关系等、对象回的通信方式 (如消息模式 )等,总之是设计各个对象的职责。3. 最后是面向对象编程, 即软件功能的编码实现, 主要工作包括每个对象的内部功能的实现 ;确定对象的哪些处理能力在哪些类中进行描述 ; 确定并实现系统的界面、输出的形式及其他控制机理等,需要实现00D阶段规定的各个对象所应完成的任务。30. 下面给出画数据流图的一般步骤外部首体的输出数据流与输入数居流它们是顶层数据流图由它们确定系统与外界的接口。(3) 从顶层加工
12、出发,逐步细化,画出所需的子图,分析系统的主要处理功能,把每功能作为一个加工,并且确定它们之间的数据流入和流出关系,画出第一层数据流图。(4) 对当前层流图中的每个加工进行细化,画出所需的子图,直到加工不需要再分解为止。31. 数据流图(2)找出个处理7.1. 1数攥施图据畝图Mb畑Ftow种建険住术*能轴彌站的方丈H醫数器蘆罠.,.待旳*抓j百.机和:苗姑讪汀拐讽对轨廉养讲厅0换阳玷惟*老 卡苦馬比誌峙也':序示,霞诵逬图握假了彳萍東花if茂元軌-T1 K.(k協亂"盘収jerL生itibF<宦巾口箱罚业即杆¥皿工査it丽,才ISAElCifHi疋枪-L*卓
13、匕卫片F :- 聲出笙陀里孚.'=牝我卩£丽即肝nwru; 1) c/TYC-"jiyJli十査讨褂淡孤吕胖同扎才丸数据亚建C变慢成AV>>-+我亍或的養聃.融f*扭川彌关抵.4t計人“富尸'© J- j Hiirj) r"事-侵i.甘直誹餐希躺A或8flH HA.u-.U? ilt UL 尢鞠城:33.面向数据流的需求分析方法步骤(1) 理解当前的现实环境,获得当前人工系统的具体模型。(2) 从当前系统的具体模型抽象出当前系统的逻辑模型。事益村路8(3) 分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型。5 9(4
14、) 为目标系统的逻辑模型做补充。36.合理的以用户为中心的界面设计分为6个阶段。第一阶段:产品概念的开发。第二阶段:调查研究和需求分析第三阶段:设计思路和关键屏幕画面原型。第四阶段:反复的设计和改进。第五阶段:软件的实现。第六阶段:大力推广39设计模式的核心思想 是总结和积累前人成功的设计经验,通过对这此经验的学习,使得 人们在面对新的设计问题时不用再重复所有的环节,而是尽量套用已有的模式,以提高编程的效率。模式是解决特定问题的经验,实质上是软件的复用。模式由特定的环境、问题以及解决方案3个要素组成,按照软件开发的层次可以分为体系结构模式、设计模式、程序模式。体系结构模式属于层次较高的模式,设
15、计模式是对被用来在特定场景下解决一般设计问题的 类和相互通信的对象的描述。由于在以往的软件开发中,设计者经常在某种特定场合中遇到 一些以前经常出现或感觉似曾相似的问题,直截了当的解决方案就是套用原有的经过证明的解决方案,或参考别人成熟的思路来解决。长时间下来,通过不断地完善并文档化就形成了 针对这种问题的处理模式,形成了特定问题的解决方案。EIB具有以下特点:(1) EJB以构件的形式组织服务器,EJB构件是直接用Java语言编写的服务器构件。 Java语言编写的跨平台特性使得 EJB构件可以非常方便地移植到各种操作系统平台和EJB服务器上。(2) EJB构件的实现仅需考虑应用需求,其系统级服
16、务(如事务管理、安全性、构件生命周期与线程等)都是通过EJB服务器自动进行管理的。(3) EJB体系结构具有面向对象、分布式跨平台、可扩充性、安全性以及便于开发等特点, 同时它还以协议为中心,任何协议都可以被利用。44 EJB 由哪些角色组成 ?其结构的优缺点有哪些 ?1 角色1. EJB 组件开发者 2.应用组合者 3. 部署者4. EJB 服务提供者 5.EJB 容器提供者 6 系统管理者2EJB 构件模型的优点如下 :(1) EJB 将成为用 Java 语言开发分布式的、面向对象的企业级应用系统的标准构件体系 构.EJB使得通过组合构件得到分布式应用系统成为可能(2) EJB 使得应用系
17、统开发变得容易,应用系统开发人员不需要理解底层的事务处理细节、 状态管理、多线程、资源共享管理以及其他复杂的底层 API 细节。(3) EJB遵行Java的“一次编译,到处运行 "的思想,一旦一个 EJB开发完成之后就可以部 署在任何支持EJB的平台上,而不需要重新编译或对源代码进行修改。(4) EJB 定义了一个协议, 使用不同供应商提供的工具开发和部署的构件能在运行时互操作,EJB体系结构与已有的服务器平台其他的Java APL、CORBA等兼容。(6)EJB 支持 EnterpriseBeans 和其他的非 Java 应用系统的互操作性。采用EJB开发应用系统有很多优点:(1)
18、 标准的 Java 技术的便利应用系统可以在许多不同的服务器平台上运行。(2) 修改应用系统变得容易,对单个构件进行增加、修改、删除等操作不会对应用系统的体 系结构产生很大的影响。(3) 应用系统经过划分之后, 使得构件之间相互独立,又可以相互协作,提供给用户的是 该用户所需要的构件。(4) 应用系统的开发变得容易,基本上是即插即用的方式。(5) 应用系统从本质上说是叮伸缩的, 可以运行在多线程多处理机的环境中。 (6) 可以在新的 应用系统中得到重用,减少了新系统的开发时间。同时 ,EJB 也存在些缺点,主要有 :(1) EJB的数量可能非常多,以至于在软件开发库中很难对这些EJB进行跟踪和
19、管理。(2) 如果应用开发人员不能正确地使用 EJB, 可能会导致不恰当的应用系统设计 , 结果使得应 用系统的总体性能下降。 除非Wh及编译器的性能得到提高,否则EJB应用系统的性能仍将是一个问题。 由于EJB技术出现时间不长,目前可用的EJB还不多,要想得到大量的商业性EJB还需要一段时间。45什么是D? D的特性和优势有哪些 ?D是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另 一台计算机上的服务程序对象, D 基于组件对象模型 提供了一套允许同一台计算机上的客 户端与服务器之间进行通信的接口。D的特点1. 组件和复用2. 位置独立性3. 语言无关性4. 连
20、接管理5. 可扩展性6. 对称的多进程处理46. 软件体系结构评估方法所关注的质量属性有哪些 ?1 功能性 2可靠性 3可用性 4有效性 5可维护性 6.可移植性2. 风险承担者包括哪些人员 ?系统体系结构所涉及到的人员。包括架构设计师、开发人员、维护人员等。47什么是场景?基于场景的软件体系结构评估方法有哪几种场景是对于风险承担者与系统进行交互的简短描述。一般采用刺激、环境、响应三个方面来描述场景。评估方法:SAAM与ATAM48. 简述SAAM方法的评估步骤。49. 比较SAAM和D ATAM两种方法的异同点。场景的生成方式不同风险承担者商业动机表述方式不同软件体系结构的描述方式不同第十三
21、章51.简述软件演化的几种定义,这几种定义各有哪些侧重点?Manny Lehman和Juan F. Ranil定义:有目的地从早期的可操作版本来产生新的软件版本的所有规划设计活动。L. A. Belady 定义:软件系统在它们的生命周期里被维护和增强的动态行为。NedChapin定义:它是软件维护活动和过程的一个运用以及对这些活动和过程质量的保 证和管理。这些活动和过程是用来从一个早期的可运行版本中产生一个新的软件版本, 这个新的软件必须满足客户要求改变的功能或属性。50. 造成软件演化的原因有哪些 ?软件系统开发完成并且投人使用之后,变更就悄悄开始进行了。这些变更一部分来自于对软件缺陷的改正
22、,例如软件使用后暴露的缺陷,软件的性能和可靠性的改进;一部分会随着新的需求浮现出来,例如实现新的功能;另一部分来自于外界的环境变化给软件带来的压力, 例如商业模式和环境的不断改变,计算机硬件和软件环境的升级,业务的变更,等等。54.简述软件再工程模型58. 软件如何重构?说一说常见的软件重构的方法(1) 大量重复的代码:尽量消除重复的代码,将它们合而为根据重复的代码出现在不同的地 方,分别采取不同的重构策略 在同一个类(Class)的不同地方:提炼出重复的代码,然后生这些地方调用上述提炼出的方 法。 在不同子类(Subclass)中:提炼出重复的代码然后通过提开将该方法移动到上级Supercl
23、ass 内. 在没有关系的类(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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电器店翻新合同变更说明
- 2025年度二零二五年度包装公司品牌形象设计租赁合同
- 仓储物流装修合同标准范本
- 医疗器械与维护作业指导书
- 农业产业链创新技术研发手册
- 临床路径管理实施方案及实施细则
- 健康饮食与运动作业指导书
- 商铺装修纠纷起诉书模板
- 服装店装修免租期协议样本
- 雨水收集回用系统的组成部分
- 沪教版高一英语上册(牛津版)全册课件【完整版】
- 疾控中心考试试题
- 2023门球竞赛规则电子版图文并茂
- DB13T 2801-2018 水利工程质量监督规程
- Q∕SY 05262-2019 机械清管器技术条件
- 耳鼻咽喉头颈外科学耳鼻咽喉应用解剖
- DBJ51 014-2021 四川省建筑地基基础检测技术规程
- 科学研究方法与学术论文写作
- 英语的起源与发展(课堂PPT)
- 药物化学结构式大全(高清版)
- 二房东租房合同范文
评论
0/150
提交评论