欢迎来到天天文库
浏览记录
ID:33072335
大小:94.73 KB
页数:12页
时间:2019-02-19
《软件工程作业及参考答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、软件工程作业1•什么是软件工程?产生软件工程的原因有哪些?答:软件的定义:软件工程是借助工程化的方法进行软件开发(先对软件进行设计再开发)。软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。产生软件工程的原因:(1)当时无法在预算内开发出高质量软件;(2)软件开发者无法制定具体目标,无法实现预测所需的资源,无法实现客户的期望;(3)软件工程的重点既在软件,也在工程;(4)软件开发具有复杂性和多变性的特征;(5)软件产品必须随着终端用户需求和目标环境的变化而变化。2.常见的软件体系结构有哪些?分析它们的优缺点?答:2.1管道/过滤器风格
2、在管道/过滤器风格中,每个构件都有一组输人和输出,构件读输人的数据流,经过内部处理,然后产生输出数据流。这里的构件被称为过滤器。连接件被称为管道。此风格特别重要的过滤器必须是独立的实体,它不能与其它的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。这种风格的优点:(1)使得软构件具有良好的隐蔽性和高内聚、低藕合的特点;(2)有助于设计者将整个系统的输人/输出行为看成是多个过滤器的行为的简单合成;(3)支持软件重用;(4)易于系统维护和增强系统性能;(5)允许对一些如吞吐量、死锁等属性的分析;(6)支持并行执行。这种风格的缺点:(1)通常导致进程成为批处
3、理的结构;(2)不适合处理交互的应用;(3)数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,导致了系统性能下降,增加了编写过滤器的复杂性,使数据传输量增加。这种风格经常应用在UnixShell中编写的应用系统中。2.2仓库风格在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存贮上执行,仓库与外构件间的相互作用在系统屮会有大的变化。按控制策略的选取分类,可以产生两个主要的子类。若输人流中某类时间触发进程执行的选择,则仓库是传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是黑板系统。这种风格的
4、优点:(1)善于管理数据信息,适合大量数据的应用场合;(2)适用于复杂的逻辑系统;(3)黑板系统模型能更容易地处理任务间的协作,系统更加灵活。数据库系统一直得到广泛应用,如企业中使用的管理信息系统、ERP软件等;黑板系统主要应用在需要复杂翻译解释的系统中,如信号处理领域中的语音和模式识别。2.3层次系统风格层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,内部的层只对相邻的层可见。这种风格支持基于可增加抽象层的设计。允许将一个复杂问题分解成一个增量步骤序列的实现。由于每一层最多只影响两层,同吋只要给相邻层提供相同的接口,允许每层用
5、不同的方法实现,同样为软件重用提供了强大的支持。这种风格的优点:(1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解;(2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层;(3)支持重用。可以定义一组标准的接口,允许各种不同的实现方法。这种风格的缺点:(1)并不是每个系统都可以很容易地划分为分层的模式;(2)很难找到一个合适的、正确的层次抽象方法。这种风格的典型应用有分层的通讯协议,如TCP/IP协议等。2.4客户服务器(C/S)风格客户/服务器风格,是基于资源不对等,且为实现共享而提出來的,
6、是20世纪90年代成熟起来的技术,客户机1服务器结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。现在使用较广泛的是三层C/S结构。三层C/S结构具有以下优点:(1)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。(2)允许更灵活有效地选用相应的平台和硬件系统。(3)三层C/S结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。(4)为严格的安全管理
7、奠定了坚实的基础。这种风格可以应用在远程文件系统中。2.5数据抽象和而向对象组织风格这种风格的特点:仃)数据抽象是指对每一类对象进行概括,抽出这类对象的公共性质并用计算机语言加以描述的过程,把具有相同属性和相同操作的一些对象抽象为一个类,这些对象都是这个类的实例。(2)封装是面向对象风格的又一个特点,它是一•种信息隐减技术,通过封装,可以将一部分属性和操作隐藏起来,不让使用者访问,另一部分作为类的外部接口,使用者可以访问。(3)继承是新建的类从已有的类那里得到已有的特征,继承有效地实现了软件的重用,增强了系统的可扩充性。这种风格的缺点:(1)为了使一个对象和另
8、一个对象通过过程调用等进行交互,必须知
此文档下载收益归作者所有