大学实用计算机英语教程翻译-吕云翔-Unit 5
Unit 5 参考译文
Translation of Text A (for reference only)
Text A
手机:你未来的个人电脑
1119小时41分16秒——这个数字是生活在费城的一个叫亚当·拉波波特的高中生在上个光明节期间受到了一部银色的LG Verizon手机的礼物后,用手机打电话所花费的谈话时间。然而,这还仅仅是他爱好的一小部分。他还花费了不知多少时间用手机上网察看体育比赛的得分、下载新的铃声(每条收费1美元)和向朋友的手机发短信。甚至连上课时他也照玩不误。他说:“我对电话的按钮式拨号键盘比对电脑键盘还熟。我是手机迷。”
2在地球另一端的东京,小矶哲(音)也紧盯着他的手机。小矶哲正在读大学三年级。他住在全球各种新鲜玩意儿齐聚的首都—东京。在这里,有20%的手机连接到了全球最快的移动网络上。东经人用手机看电视,阅读书刊,外加玩游戏。但是小矶哲也使用电话做一些较为简单且较有意义的事儿:每天早上,他的手机小屏幕上会弹出一条反吸烟的消息,这是一个旨在帮助学生戒烟的活动的一部分。某天的信息这样写道:“教师们也在竭力反对吸烟,并且会一直这么做。”
3在某个欧洲机场,彼得·希尔唐恩正在等下一个航班。他是芬兰一家公司的电脑销售经理,1994年曾曾经获得芬兰业余汽车拉力赛冠军。不过年届32的他对于这项爱好有些力不从心了,而且他每星期都的出差。为了打发时间,他时常把《Riento!》体育杂志下载到自己的手机上阅读。花2欧元,出版商Sendandsee就可以为他提供8业的体育赛事和运动员的图文信息。
4科技革命常以两种特色出现:或是惊人的迅速,或是难以觉察的迟缓。迅速的一类,如各种数字式音乐播放器突然遍地开花,或是音乐共享网站大量出现,似乎都是转瞬间即改变了文化的面貌。而那些较缓慢发生的变化则往往持续数十年,以渐进、微妙的方式改变我们的生活和工作方式。世界各地手机的涌现是缓慢的,但却势如破竹,不可阻挡。1977年AT&T在芝加哥为2,000用户首推出了蜂窝网系统,那时手机的外形及重量几乎相当于一块砖头。
计算机专业英语教程第5版中译英参考
Unit 1
A computer system consists of hardware system and software system. The hardware of the computer is usually divided into three major parts or three primary subsystems: the CPU, the memory subsystem, and the I/O subsystem.
The CPU performs many operations and controls computer. The memory subsystem is used to store program being executed by the CPU, along with the program’s data. The I/O subsystem allows the CPU to interact with input and output devices such as the keyboard and monitor of a personal computer. The components of the computer are connected to the buses.
The part of the computer that performs the bulk of data processing operations is called the central processing unit and is referred to as the CPU. In microcomputer, it is often called the microprocessor. The CPU is made up of three major parts: control unit, ALU, and register set.
大学实用计算机英语教程第2版教学课件机工版Unit 01-1
– 1. Where was John von Neumann born? – 2. How many components did von Neumann’s computer contain
necessarily? – 3. Which of the following has become synonymous with von
decide whether they are true (T) or false (F) according to the text.
___1. Home and business users do not choose cloud computing due to its high expense. ___2. Cloud computing consists of a high end and a low end, connected to each other through a terminal. ___3. IaaS means Information as a Service. ___4. Salesforce is one of the pioneering providers of SaaS applications. ___5. Storage as a Service allows developers to create, test, and run their software on a cloud platform.
第一单元课文译文 计算机英语 吕云翔
第一单元启动软件项目
第一部分听说
A. 对话:启动软件项目
(Kevin、Sharon和Jason是三名北京航空航天大学软件学院大学二年级学生。今天,在第四个学期末暑假开始之前,他们正在参加一个班会。)
老师:大家早上好。在这个假期中,大家将要完成一个真正的项目作为你们的课程设计,这里有一些题目,每个人可以根据自己的兴趣和经验来选择,并请在下周之内把你的决定提交给我。
Kevin:对不起,老师,请问一下,这个项目是需要每个人单独完成还是几个同学合作完成呢?
老师:我推荐团队合作,因为这可以让你学习如何与你的同学携手合作,并且作为一名团队成员,怎样互相交流、分享、表达并了解互相的想法。但是每组成员不要超过4个人。
Sharon:我感兴趣的主题是四季酒店管理信息系统,你呢,Kevin?
Kevin:哦,这也正是我的想法,我想我们可以组成一个小组。嗨,Jason,你愿意加入我们吗?
Jason:哦,好的,我非常愿意!
Sharon:好的,现在让我们讨论一下每个人的职责。
Jason:Kevin善于组织并具有丰富的编程经验,因此我认为他可以作为我们的团队组长或是项目经理,负责指导我们的团队和编程实践。
Sharon:我同意。
Kevin:非常感谢你们的信任。好,我一定会尽我所能。关于我们的项目,我觉得除了编码以外还需要构建一个数据库并实现一组用户界面。
Jason:我对数据库比较感兴趣,我愿意负责建立和管理数据库。
Sharon:我喜欢艺术设计,我认为我可以为项目做用户界面设计和文档撰写的工作。Kevin:哦,不错,看来这是一个很棒的团队,它让我感到很有信心!现在让我们根据项目的各个阶段来大致分配一下任务。作为组长,我来负责需求,Jason负责设计,Sharon负责测试。
英译汉教程第五课课后答案
Drills 5.2.3
3. This report summed up the new
achievements made in electron tubes, semiconductors and components. 4. The principal functions that may be performed by vacuum tubes are rectification, amplification, oscillation, modulation, and detection. 5. How these two things — energy and matter — behave, how they interact one with the other, and how people control them to serve themselves make up the substance
Thanks For Your Attention!
主 子
他行年五十,头顶已经秃了,鬓丝也斑白了,所以有些人觉
得他看起来不止那个岁数。然而,初次接触,外貌给人的印 象未必正确。他身材高大,肚子有点凸出,而骨骼却并不粗 笨,倒是动作敏捷,步履轻快。同样,他的头很雄伟,淡淡 的两鬓之间,眉宇高敞,而神情变化却比谁都快,笑起来丰 采粲然。厚厚的眼镜后面,一双小眼炯炯如电,仿佛他还是 青春年少,充满活力。乍一看,人们也许会认为他俨然有元 老风度,可是不久就察觉他很不稳重。忽而笑容可掬,忽而 火冒三丈,无论做什么事,他似乎总是神经紧张,现于颜色。 于是,人们不再觉得他像个元老,而且开始对他不满,说他 太容易表同情,太容易冲动。许多人不喜欢他那样爱自我表 现,可是,看他的感情如此深切,又不能无动于衷。他感情 深切这一点,几乎人人都看得出来,但要洞察他不仅感情深 切,而且傲岸愤激,可要有点知人之明。(翁显良译)
《计算机英语》Unit 5
1.1 Object-Oriented Programming
• II. Choose the best answer to each of the following questions. B – 3 .Which of the following is WRONG about the contrast between OOP and traditional programming? – A.OOP enables non-programmers familiar with the problem domain to recognize the code more readily – B.As opposed to OOP, the traditional programming may be seen as a group of tasks to compute or a collection of subroutines – C.OOP can conceal the functional details of a class from objects that send messages to it ,thereby can make changes more easily in future – D . Different languages primarily designed for OOP or traditional methodologies are incompatible with each other
计算机第五单元翻译
课文A:软件过程模型
一、引言
一个软件过程是生产出软件产品的一系列活动。这些活动可能涉及使用一种像Java或C
这样的标准编程语言从零开始开发软件。然而,开发新软件越来越多地使用的方法是,扩展和修改现有系统,以及配置和集成现成软件或系统组件。
一个软件过程模型是对一个软件过程的一种抽象表示。每个过程模型都从一个特定角度
表示一个过程,因此都只提供有关那个过程的部分信息。本文介绍几种非常通用的过程模型(有时称为过程范例),并从体系结构的角度描述它们。也就是说,我们看到的是过程的框架,而非具体活动的细节。
这些类属模型不是对软件过程的规定性描述。确切点说,它们是过程的抽象,可用于解
释软件开发的不同方法。你可以将其视为可扩展和调整以创建更为具体软件工程过程的过程框架。
这里论述的过程模型是瀑布模型、演化开发和基于组件的软件工程。这3种类属过程模
型在当前的软件工程实践中广泛使用。它们不是互不相容,而是经常一起使用,尤其是在大型系统开发的情况下。一个较大型系统内的子系统可使用不同的方法开发。因此,尽管分别讨论这些模型比较方便,但应该明白,实际上它们经常结合使用。
二、瀑布模型
最早公布的软件开发过程模型源自比较通用的系统工程过程。这种模型如图5A-1所示。
由于从一个阶段到另一个阶段的瀑布状级联,该模型称为瀑布模型或软件生命周期。该模型的主要阶段映射基本的开发活动:
1、需求分析与定义。系统的服务、约束和目标要经过与系统用户的磋商加以确定。然后,它们得到详细定义并作为系统规格说明。
2、系统与软件设计。系统设计过程将需求划分成需硬件或软件系统实现的部分。该过
大学实用翻译教程(英汉双向 )第三章 计算机辅助翻译
1.1计算机辅助翻译的发展历程
• “机器翻译”的概念可以追溯到20世纪30年代,40-50年代初经历 了早期的尝试阶段,当时,大多数从事手工翻译人士对于“利用计 算机进行翻译”不以为然,他们根本就不相信翻译会机械化,少数 人则或多或少有一点担心,害怕有一天机器会把他们取而代之。 • 50—60年代中期学界对于“机器翻译”持高度乐观的态度。 Systran翻译软件将“机器翻译”定义为利用计算机软件把文本内 容从一种自然语言转换成另一种自然语言,这个定义就是说“机器 翻译”是利用语言结构、规律和把原文(the source language) 的语言结构转换成译文(the target language)的语言结构。“机器 翻译”这一想法产生的时间正是结构主义语言学的观点盛行时期。 由于人类对语言结构规律的研究越发深入,语言学家为翻译找到了 更多的理论依据作为支撑,从而给翻译加上了科学主义的色彩。奈 达、巴尔胡达罗夫以及彼得· 纽马克等人的翻译观都是从结构主义 理论开始的。(张治中,俞可怀,2002:54-58)结构主义者认 为在各种复杂的表面现象的下都有着一种普遍性的规律,这些规律 就是结构,人们通过分割归并作品的各种结构就可弄清语言信息变 成文艺作品的奥秘。(吕俊, 2001:96-111)
第三章 计算机辅助翻译
有史以来,人类对翻译方法的探求就不曾停止过。随 着世界各国商贸、政治往来越来越频繁,经济全球化越 来越迅速,对于翻译的需求量越来越大,人们对于更加 快捷、更加简便的翻译方式的渴求也越来越强烈。电子 计算机的Baidu Nhomakorabea现,使人类的生活发生了翻天覆地的变化, 通过网络,一方屏幕之间可以承载远隔千山万水的信息 交流与传递,其高效的信息处理模式也给传统的人工翻 译变革带来了新的曙光。可以说,计算机和翻译一样都 是为了打破人们交流的障碍,重建属于世界的“巴别 塔”,那么,将计算机技术与翻译相结合,产生的新兴 课题“计算机辅助翻译”究竟是什么呢? 本章将对机器翻译和计算机辅助翻译的发展历程进行 回顾并展望其未来的发展前景,并且介绍几款主流软件 和翻译工具的使用,详解如何利用搜素引擎和最大化地 利用在线翻译,让读者对于计算机辅助翻译有一个较为 清晰和全面的了解。
计算机英语教程(整本翻译)--吕云翔
第1章计算机基础
第一部分阅读和翻译
A部分计算机发展史
1. 简介
虽然计算机在现在人们的生活中起着重要的作用,但是曾经计算机并不存在于这个世界。了解计算机的发展历史以及计算机经历了多少个发展阶段可以帮助我们更好的了解计算机究竟是多么复杂和具有创新性的一项发明。
不像大多数设备,计算机是少数几种没有一个明确发明者的发明。在整个计算机的发展历程中,许多人将他们自己的发明创造添加进计算机的需求列表从而使得计算机可以运作。这其中一些发明是不同类型的计算机,还有一些是使计算机可以更长远的发展。
2. 起步
可能计算机的历史中最有重大意义的年份就是1936年。就是在这一年地一台“计算机”问世了。它是由Konrad Zuse创造并命名为Z1计算机。这台计算机成为第一台计算机是因为它是第一个具有完全可编程性的系统。[1] 虽然也有其它设备在这之前出现,但是没有一台设备具有使其区别于其它电子设备的计算能力。
但是直到1942年,才有一家企业看到计算机领域存在的利润和机遇。这个公司由John Atanasoff和Clifford Berry所有和经营,名叫美国广播公司计算机ABC computers。两年后,哈佛一号计算机问世,进一步推动了计算机科学的发展。
在接下来的几年间,全世界的发明者都开始投入更多的精力到计算机的研发以及如何提升计算机的性能中来。这接下来的十年晶体管被提出使用并像在许多其他系统中一样成为ENIAC(电子数字积分)1型计算机内部工作器件中最重要的部分。ENIAC1型计算机可能是最有趣的系统之一,它需要20,000真空管来运转。它是一台笨重庞大的机器,但是它是研发使计算机更小更快的变革的开端。
计算机专业英语第三版教学课件Unit5-Software-Engineering
布朗先生:是的。我们计划在同一个开发过程中投入两个版本。那您现在遇到什么问题了?
布朗先生:我明白您的意思。如果我们需要花费更多的时间来开发第二个版本的话,就 不得不调整时间进度。大家需要尽早知道我们调整了项目开发计划。您想要我打给项目 经理吗?
Look and Learn Dialogue Reading Learn More New Words and Phrases
Unit 5
Look and Learn Dialogue Reading Learn More New Words and Phrases
Unit 5
Lesson 14 布朗先生的团队正在为华夏商务公司开发一个管理信息系统,为了 制定项目的开发方案,他们还要做很多工作。琳达是团队中的系统 分析员,现在琳达正在和布朗先生讨论项目开发计划。
Mr. Brown: Zhonghua Computers. What can I do for you?
布朗先生:您好!中华计算机公司。我能为您做些什么?
Linda: Hello, Mr. Brown. It is Linda. Got a minute?
计算机专业英语第二版 译文
《计算机英语》参考译文
(精读部分)
目录
第1单元课文A:计算机概览 (3)
一、引言 (3)
二、历史 (3)
三、硬件 (4)
四、编程 (5)
五、未来的发展 (5)
第2单元课文A:计算机硬件 (5)
一、引言 (5)
二、输入硬件 (6)
三、输出硬件 (6)
四、存储硬件 (7)
五、硬件的连接 (7)
第3单元课文A:操作系统 (8)
一、引言 (8)
二、操作系统是怎样工作的 (8)
三、当前的操作系统 (8)
五、未来的技术 (10)
第4单元课文A:编程语言 (11)
一、引言 (11)
二、语言类型 (11)
三、高级语言的分类 (12)
四、语言的结构与成分 (12)
五、历史 (13)
第5单元课文A:计算机程序 (13)
一、引言 (13)
二、程序开发 (14)
三、程序元素 (14)
四、程序功能 (15)
五、历史 (16)
六、未来 (16)
第6单元课文A:软件生命周期 (17)
第7单元课文A:进入关系数据库的世界 (19)
一、什么是关系数据库? (19)
二、数据库管理系统的介绍 (20)
三、不同的计算模型 (21)
第8单元课文A:电信与计算机 (22)
第9单元课文A:计算机网络 (24)
一、引言 (24)
二、调制解调器与计算机管理局 (24)
三、局域网 (24)
四、路由器与桥接器 (25)
五、广域网 (25)
六、分布式计算 (25)
七、安全与管理 (26)
第10单元课文A:因特网是如何工作的? (26)
一、因特网访问 (27)
二、信息打包 (27)
三、网络编址 (27)
四、电子邮件 (28)
五、传输模式 (28)
第九单元课文译文 计算机英语 吕云翔
第九单元参加面试
第一部分听说
A. 对话:面试
(Kevin对Expansion公司技术部门程序员职位的申请已经得到公司人力资源部门的回复。今天,Kevin来到公司进行面试。)
Smith先生:早上好,欢迎申请我们公司的空缺职位。我叫Smith,是人力资源部经理。请问怎么称呼你?
Kevin:早上好,Smith先生。我叫Kevin,我是来申请技术部门程序员职位的。
Smith先生:好的,现在我们来谈谈关于你的资格和条件。能介绍一下你自己吗?
Kevin:我是一个积极负责的人,即使在追求目标的途中会碰上无数的障碍挫折,我也不会放弃对成功的追求。我喜欢团队工作,因为我相信,为获得最好的结果,分享彼此的意见和主张是很重要的。我对科学技术的最新进展很感兴趣,并且具备很好的理论背景和动手能力。我热爱IT行业,并希望从事IT职业。
Smith先生:能不能谈谈你的教育背景?
Kevin:我于2008年7月从北京航空航天大学软件学院毕业,并获得了软件工程的学士学位。
Smith先生:你为什么想申请我们公司的职位呢?
Kevin:众所周知,Expansion公司是中国成立时间最长和最主要的软件外包产品、服务和解决方案提供商之一,并且具有世界知名度。因此,我相信在这里工作可以提升我的专业能力,而且我认为我也可以为公司的发展做出自己的贡献。
Smith先生:你是否曾参加过能帮助你准备这类工作的实习呢?
Kevin:是的。在本科的时候,作为程序员,我曾在我们学校与微软合作的实验室中,参加了几个实际项目。作为项目经理,我曾参与了为四季酒店开发的管理信息系统和为Giant公司财务部开发的管理信息系统。此外,我还为国内一家领先的IT公司做过关于全球软件市场的研究和分析,并用英语完成了商业报告。我认为以上所有这些对于我准备这份工作都是非常宝贵的实习经历。.
第五单元课文译文 计算机英语 吕云翔
第五单元系统设计
第一部分听说
A. 对话:软件设计
Sharon:系统分析建模和需求规格说明已经完成,我们可以进行下一步啦!
Kevin:是的,现在让我们讨论一下设计过程中的一般任务集。
Jason:我们将从软件的一个“宏观”视图逐步转移到定义了系统实现所需细节的微观视图。我认为,这个过程应该从关注于体系结构开始。
Sharon:你的意思是?
Jason:使用上周构建的分析模型,我们需要选择一种适合于我们软件的体系结构风格。
Kevin:然后,我们可以把分析模型划分成设计子系统,并将这些子系统分配到体系结构中。
Jason:在详细设计阶段,我们必须确定每个子系统在功能上都是关联的,并首先设计子系统接口,然后将分析类或功能分配给每个子系统。
Kevin:此外,拥有用户欣赏的用户界面对于软件尤其是对于像我们这样的商业软件的成功来说是一个重要的因素。
Jason:Sharon是一个称职的美术设计师。
Sharon:我会尽力的!
Kevin:我们将一起合作在用户场景的基础上详细说明行为顺序,并帮助Sharon来创建界面的行为模型。
Sharon:好的,接下来,我将定义界面对象和控件机制,必要时还拜托你们进行评审和修订。
Kevin:没问题。在完成体系结构设计之后,Jason和我将通过在较低的抽象级别上详细说明所有算法来进行组件级设计,定义组件级的数据结构,有必要的话还将完善每个组件的接口。
Jason:组件级设计评审之后,我们就可以为系统制定部署模型了。
B. 短文理解:软件设计
设计工程开始于需求工程的首次迭代结束时。软件设计的目的是应用一系列能够引导高质量系统或产品开发的原则、概念和实践。设计的目标是创建一个软件模型,该模型将正确
计算机专业英语Unit5
•
• •
Unit 5 Programming Language
Section 2 Passage A Introduction to Programming Language
1、列出你所知道的编程语言
2、用一种熟悉的语言来表达:你好,世界!
Unit 5 Section 2 Passage A
• • • • • • • • •
Sectionห้องสมุดไป่ตู้2 Passages
Section 3 Skill in Focus
•
Section 4 Extended Reading
Unit 5 Programming Language
Section 1 Situational Dialogue
Requirements Analysis 1、你知道什么是软件工程吗? 2、谈谈需求分析在软件工程中的作用。
•
•
Unit 5 Section 1
• •
Mr. Wu: Actually it’s easier said than done. Since in most software systems, end-users may not be clear about what they really require, they tend to get to the bottom until all their questions are answered and problems solved. Qian Liang: That’s quite true. I’ve been busy preparing for the contest of website design, and have got to do a lot of rework. Maybe it’s because I haven’t analyzed the demands well enough and the whole planning turns out to be imperfect. I wonder if you could give me some suggestions about what to guard against in requirements analysis? Mr. Wu: Now that you have participated in website development, you’re sure to understand that there are various situations when we communicate with our customers, such as lack of user participation, increasing requirements from users, ambiguous demands, or unnecessary features.
大学实用计算机英语教程翻译-吕云翔-Unit 5
Unit 5
Section A
Software Design (软件设计)
Design is defined in [IEEE610.12-90] as both “the process of defining the architecture,
components, interfaces, and other characteristics of a system or component ” and “the result of that process.” Viewed as a process, software design is the software engineering life cycle activity in which software requirements are analyzed in order to produce a description of the software ’s internal structure that will serve as the basis for its
construction. More precisely, a software design (the result) must describe the software architecture -- that is how software is decomposed and organized into components -- and the interfaces between those components. It must also describe the components at a level of detail that enable their construction. Software design plays an important role in
第5章 局域网-计算机导论(第2版)-微课版-吕云翔-清华大学出版社
主要内容
• 网络构建基础
• 网络分类 • 网络体系结构 • 局域网的优缺点 • 网络设备 • 网络拓扑结构 • 网络连接 • 通信协议
• 有线网络 • 无线网络局域网应用
网络分类
• 计算机网络通常可以按照其规模和地理范 围分为以下几类:
• 个人网(Personal Area Network,简称PAN)。 覆盖范围约10米。
• 局域网(Local Area Network,简称LAN)。覆 盖范围一般小于10公里。
• 城域网(Metropolitan Area Network,简称 MAN)。覆盖范围在10公里到100公里。
• 广域网(Wide Area Network,简称WAN)。可 以跨越国界、洲界,甚至是全球范围。因特网 是世界上最大的广域网。
• 覆盖范围更大的网络连通了较小型的网络
网络分类
不同覆盖范围网络间的关系
网络体系结构
• 客户机/服务器
• 一台或多台计算机作为服务器,网络上的其他计 算机 从服务器请求服务
• P2P
• 每台计算机或移动设备都被称为一个 peer,它们 具有相同的责任和功能,与 P2P网络上的其他计 算机和移动设备共享硬件设备(如打印机)、数 据或信息
局域网的优缺点
• 优点:
• 支持协同工作。 • 支持共用硬件软件。 • 支持共享数据。 • 更方便地使用外部设备和服务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Unit 5
Section A
Software Design (软件设计)
Design is defined in [IEEE610.12-90] as both “the process of defining the architecture,
components, interfaces, and other characteristics of a system or component ” and “the result of that process.” Viewed as a process, software design is the software engineering life cycle activity in which software requirements are analyzed in order to produce a description of the software ’s internal structure that will serve as the basis for its
construction. More precisely, a software design (the result) must describe the software architecture -- that is how software is decomposed and organized into components -- and the interfaces between those components. It must also describe the components at a level of detail that enable their construction. Software design plays an important role in
developing software: it allows software engineers to produce various models that form a kind of blueprint of the solution to be implemented. We can analyze and evaluate these models to determine whether or not they will allow us to fulfill the various
requirements. We can also examine and evaluate various alternative solutions and trade-offs . Finally, we can use the resulting models to plan the
subsequent development activities, in addition to using them as input and the starting point of construction and testing.
In a standard listing of software life cycle
processed such as IEEE/EIA 12207 Software Life Cycle Processes [IEEE 12207.0-96], software design consists of two activities that fit between software requirements analysis and software construction:
Software architectural design (sometimes called top level design): describing software ’s top-level structure and organization and identifying the various components.
Software detailed design: describing each
component sufficiently to allow for its construction.
General Strategies
Software often-cited examples of general strategies useful in the design process are
divide-and-conquer and stepwise refinement,
top-down vs. bottom-up strategies, data abstraction and information hiding, use of heuristics, use of patterns and pattern languages, use of an iterative and incremental approach.
Function-Oriented (Structured) Design
This is one of the classical methods of software design, where decomposition centers on identifying the major software functions and then elaborating and refining them in a top-down manner. Structured design is generally used after structured analysis, thus producing, among other things, data flow diagrams and associated process descriptions. Researchers have proposed various strategies (for example, transformation analysis, transaction analysis) and heuristics (for example, fan-in/fan-out, scope of effect vs. scope of control) to transform a DFD into a software architecture generally represented as a structure chart.
Object-Oriented Design
Numerous software design methods based on objects have been proposed. The field has evolved from the early object-based design of the mid-1980s (noun=object; verb=method; adjective=attribute) through OO design, where inheritance and polymorphism play a key role, to the field of component-based design, where meta-information can be defined and accessed (through reflection, for example). Although OO design’s roots stem from
the concept of data abstraction, responsibility-driven design has also been proposed as an alternative approach to OO design.
Data-Structure-Centered Design
Data-structure-centered design (for example, Jackson, Warnier-Orr) starts from the data structures a program manipulates rather than from the function it performs. The software engineer first describes the input and output data structures (using Jackson’s structure diagrams
, for instance) and