全国计算机软考软件设计师考前练习及答案(5)
上学吧(www.shangxueba.com)
highly cohesive and loosely coupled[6].
Effective software design is best accomplished by using a consistent design methodology.There have been a vast number of design methodologies developed and used in different applications.Some of these are described by Peters(1980)and by Blank and Krijger(1983).In essence,most of these methodologies can be classified into one of three areas: (1)Top-down functional design.The system is designed from a functional viewpoint,starting with a high-level view and progressively refining this into a more detailed design.This methodology is exemplified by Structured Design and stepwise refinement.
(2)Object-oriented design.The system is viewed as a collection of objects rather than as functions with messages passed from object to object.Each object has its own set of associated operations.Object-oriented design is based on the idea of information hiding which was first put forward by Parnas(1972)and which has been described more recently by Robson(1981)and Booch(1983).
(3)Data-driven design.This methodology,suggested by Jackson(1975)and Warnier(1977)suggests that the structure of a software system should reflect the structure of the data processed by that system.Therefore,the software design is derived from an analysis of the input and output system data.
NOTES
[1] straightforward:直接了当的,简单明了的。 [2] ad hoc:特别的(地)。 [3] flowchart:流程图。
[4] HIPO charts:层次输入一处理一输出图。
[5] allowing... :修饰communication mechanisms。 [6] loosely coupled:松散地耦合。 KEYWORDS
software design 软件设计
object-oriented design 面向目标的设计 maintainable design 可维护性设计 data-driven design 数据驱动的设计
top-down functional design 自顶向下的功能设计
软件设计是一个创造性的过程,对一些设计者来说需要一定的资质,而最后设计通常都是由若于初步设计反复比较而来。从书本上学不会设计,只能经过实践.通过对一现有系统的研究和实际演练才能做到。对于能产生预期结果的软件工程,良好的设计是关键。设计得好的软件系统实现和维护方式简单明了、易懂可靠。设计得不好的系统,尽管可以工作,但很可能维护费高、测试困难且不可靠。因此,设计阶段是软件开发过程中最重要的阶段。 直到最近,软件设计在很大程度上仍是一个特定过程。一般用自然语言,给定一系列需求,准备好非正式设计,并常常用流程图的形式说明;接着开始编码;当系统实现时设计还会修改。当实现阶段完成后,设计往往与当初的规格说明相去甚远,以至于原始文档完全不适合对系统的描述。
软件设计的这种方法导致了许多惊人的而且是代价很大的工程失败。现在已经认识到一些完全非正式的表示法,诸如接近于编程语言的流程图,不适用于系统设计的公式化和表达。大家认识到,精确(尽管并不一定是正式)的规格说明是设计过程的必要部分。软件设计是一个反复的、不能用任何单一表示法来表示的多阶段活动。相应地,大量的设计表示法,如数据流图、层次化输入一处理一输出结构图和设计描述语言已经开发出来,比流程图能更好地表达软件设计。
第 21 页,共 64页
上学吧为您提供“软件设计师”资料下载:http://www.shangxueba.com/share/e15.html
上学吧(www.shangxueba.com)
对于给定的需求定义,软件工程师必须据此导出满足这些需求的程序系统的设计。此导
出过程是通过下述步骤来完成的:
(1)必须建立组成程序系统的子系统;
(2)必须把每个子系统分解成独立的成分,并且通过定义这些成分的操作来建立子系统规格说明;
(3)每个程序可以用相互作用的子成分设计;
(4)每个成分还须进行优化,这通常需要将每个成分规定为层次式的子成分;
(5)在精化过程中的某个阶段,各成分中的算法必须详细规定。 除了程序系统设计中的这些阶段之外,软件工程师也可能需要设计允许系统中各进程之间进行通信的通信机制。他们或许要设计文件结构,并且几乎必然要设计用于程序的数据结构,他们还需要设计确认程序的测试用例。
确定何为“成功”的设计无一定之规。依据应用和特定的工程要求。一个成功的设计应该是:能生成高效的代码,实现尽量紧凑的最小设计或最易维护的设计。最后一个准则是本文采用的优良度准则。可维护性设计意指系统修改费用最低,设计易于理解和修改是局部性的。只有高度内聚而又松散藕合的软件设计才能实现以上两个目标。 有效的软件设计最好利用一致性设计方法学。有大量的在不同应用环境中开发并使用的设计方法学。其中有些是由Yeters(1980),Blank 和 Krijger(1983)阐述的。实质上,这些方法学大多数和划分为3类。
(1)自顶向下的功能设计:从功能的观点设计系统,从高层的观点着手逐步提炼成更具体的设计。结构化设计和逐步求精就是使用此方法的例子。
(2)面向对象的设计:把系统作为对象集合而不是功能的集合,消息在对象与对象之间传送,每个对象都有自己的关联操作集。面向对象的设计方法是基于信息隐藏的思想,该思想由Parnas(1972)最先提出,最近又由Robson(1981)和Booch(1983)加以描述。
(3)数据驱动的设计:此方法由Jackson(1975)和Warnier(1977)提出,认为软件系统的结构应该反映该系统所处理的数据的结构。因此,软件设计应从对系统输入、输出数据进行分析中导出。
软件设计师知识点:面向对象语言概论(一)
面向对象语言概论
(译自Martin Abadi, Luca Cardelli的对象理论一书的第一部分) 译者前言
这本书是我们上面向对象类型理论的教材。当时上这门课时,心里满不以为然,觉得自己的C++和OO已经颇有造纸,C++和Java的类型系统不说倒背如流,也是轻车熟路,上这么一门课不是白拿学分?哈哈!
但一上起来,才发现自己竟如井底之蛙一样。老天,原来就这么简单的面向对象竟有这么多说道!原来除了C++, Java, 面向对象还有这么多没见过甚至没想过的东西!
前几章概论,勉强还都搞定了。但后面上到类型系统的建模,subject reduction的证明,就发现自己就象回到了本科时代,这,这,这怎么都是数学啊!
这两天心血来潮。就想把它翻译一下。后面艰深的地方自觉功力太浅,就不不自量力了。不过,倒可以把前面几章的概论翻译一下,如果能起到帮助大家开阔眼界的作用,也就没白费
第 22 页,共 64页
上学吧为您提供“软件设计师”资料下载:http://www.shangxueba.com/share/e15.html
上学吧(www.shangxueba.com)
劲。
…… 此处隐藏:6772字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




