第一章 绪论

第1章 绪论
软件产品的质量、效率、价格已经成为各方关注的十分重要的问题

1.1 软件开发工具的由来

【名称解释】软件开发工具 在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划、分析,设计、测试、文档和管理等各个方面,对软件开发者提供各种不同程度的帮助的一类新型的软件。

【简答】如何理解软件开发工具的概念?
(1)是一类软件,是开发软件用的软件。
(2)它是在第三代语言的基础上发展起来的。
(3)强调对软件开发全过程中各个阶段的支持,即不仅包含狭义的编程阶段,而是包含了相当广泛的范围和相当丰富的内容。

裸机:只能执行机器指令的硬件设备。

萌芽状态的软件工作基本特征:专业知识与计算机技术之间的桥梁。

第一代语言:机器语言,第二代语言:汇编语言,第三代语言:高级语言。

用汇编码编写的程序成为汇编程序,而把这些汇编指令转化为机器指令的程序则称为汇编系统。

操作系统的出现改善了人们应用计算机的条件。

【多选题或填空题】60年代初期的高级语言有:FORTRAN,ALGOL和COBOL。

【填空题】高级编程设计语言实现了对机器的独立性,即它不依赖特定的硬件系统,抽象地逻辑地描述处理和算法,而把硬件系统之间的区别交给不同的编译系统去处理,从而大大提高了程序的可移植性。

第三代语言应用中出现新的瓶颈--处理过程的描述。

【名称解释】软件危机:在认识到软件工作重要性的同时,也认识到了软件工作的困难性。

【简答】软件的重要性
(1)软件是计算机的灵魂。
(2)软件是使用者与计算机之间的桥梁
(3)软件是人类在各个领域中积累的知识的结晶
(4)软件是人类文明与知识得以延续的新的载体
(5)软件是人类进一步成为一个整体,得以进一步相互联系的纽带

【简答】软件的困难性
(1)人类社会和客观世界的复杂性,决定了软件本身的复杂性
(2)人类知识的丰富多彩,决定了软件的极大的多样性
(3)客观世界的动态性,决定了软件对可维护性、可重用性越来越高的要求。

【简单】通用软件的弱点
(1)有许多工作是通用软件所无法完成的。
(2)用通用软件完成某些工作,只能表现出其表面的形式,而不能反映其逻辑内涵。
(3)用通用软件来帮助人们完成软件开发工作时,常常遇到难以保持一致性的困难。

【单选题】进入集成的软件开发环境阶段的标志:1989年,IBM公司宣布了一个名为AD/Cycle的巨大的理论框架。

两个鲜明的特点使软件开发工具的功能和效率提高到了一个新的阶段:
(1)面向网络,不仅基于网络,而且用于网络。
(2)开源软件的兴起和运用。

1.2 软件开发工具的概念

【简答】软件开发工具概念的要点
(1)它是 在高级程序设计语言之后,软件技术进一步发展的产物。
(2)它的目的是在人们开发软件中给予各种不同方面、不同程度的支持或帮助。
(3)它支持软件开发的全过程,而不是仅限于编码或其他稳定的工作阶段。

【填空题】在理解软件开发工具的概念时,应当同时认识软件开发工具的继承性与创新性。
【填空题】指令是人们在实践中形成的工作规范与步骤。
【填空题】软件应当包括程序与文档两个不可缺少的组成部分。
【填空题或单选】目前软件开发的新阶段是以应用软件开发工具为标志的新阶段。
【多选或填空】软件和软件开发过程的实质是知识的提炼、表述、固化的作用。

【简答】软件开发新阶段的特点(表现)
(1)自动化程度的提高
(2)这一阶段的工作明确地把需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户单方面延伸,离用户更近了
(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长完善的全过程
(4)在这一阶段的研究中,吸引了许多管理科学的内容与方法,如程序员的组织、质量的控制等。

软件生产的成败更多地依赖于合理地组织与协调,而不是领导者或程序员个人的编程能力。

【名词解释】第四代语言(4GL):原义是非过程化的程序设计语言。针对以处理过程为中心的第三代语言,第四代语言希望通过某些标准处理过程的自动生成,使得用户可以只说明要求做什么,而把具体的执行步骤的安排交由软件自动处理。

【名词解释】CASE工具:一种是计算机辅助软件工程,另一种是计算机辅助系统工程。即应用计算机自身处理信息的巨大能力,帮助人们开发复杂的软件或应用系统。

【名词解释】可视化编程:强调“所见即所得”的原则,力图实现编程工作的可视化,即随时可以看到结果,程序的调整与后果的调整同步进行。

1.3软件开发工具的功能与性能

软件开发过程阶段:
(1)需求分析
软件工作开发的起点是初始要求的提出。软件开发工作首要的任务是根据这种初始需求形成严格的、明确的、可供实际开发使用的功能说明书。

【名词解释】需求分析:软件设计者需要从这个初始要求出发,经过大量的调查研究工作,抽象出应用领域中的实际的信息需求,设计出计算机系统内外的、合理的信息流程,并规定出软件系统的功能与性能要求。

调查分析的成果集中体现在第一个重要的文档----软件功能说明书。

(2)总体设计
它的任务是根据软件功能说明书的要求,完成软件的总体设计,这包括整个软件的结构设计,公用的数文件或数据库的设计,各部分的连接方式及信息交换的标准等主要内容。

结构设计是把软件划分成若干个模块,指定每个模块的功能要求,以及它们之间的相互关系。

总体设计的成果是系统的总体设计文件及各个模块的设计任务书。总体设计文件应包括结构图、模块清单、公用数据机构。

(3)程序的编写与文档的编写。实现阶段

(4)测试或调试阶段
包括模块的调试与整个软件的联调两个部分。

软件开发工具的功能要求:开发各个阶段
(1)认识与描述客观系统:这主要用于软件开发工作的第一个阶段---需求分析阶段。
(2)存储及管理开发过程中的信息。
(3)代码的编写或生成。
(4)文档的编制或生成
(5)软件项目的管理。项目管理包括进度管理,资源与费用管理,质量管理三个基本内容。

【简答】软件开发工具的性能:
(1)表达能力或表述能力
(2)保持信息一致性的能力
(3)使用的方便程度
(4)工具的可靠程度
(5)对硬件与软件环境的要求

【名词解释】可靠性:即在各种各样的干扰下仍能保持正常工作,而不致丢失或弄错信息。

软件开发工具对环境的要求不应当超出它所支持的应用软件的环境要求,有时甚至还应当低于应用软件的环境要求。

1.4软件开发工具的类别

【单选、多选题】按工作阶段划分
(1)设计工具 如:代码生成器,4GL,测试工具,出现最早数量大的
(2)分析工具 如:数据字典管理系统,画数据流程图工具FLOW, 画结构图或ER图的工具
(3)计划工具 为(项目主管人员)服务的

按集成程度划分
(1)专业的、面对某一工作阶段或某一工作任务的工具
(2)集成化的、面对软件开发的全过程的工具。

【名词解释】软件工作环境:集成化的软件开发工具。

按与硬件、软件的关系划分
(1)依赖与特定的计算机或特定的软件 设计工具、集成化的软件开发工具
(2)独立与硬件与其他软件的 分析工具、计划工具

1.5软件开发工具的研究与应用
【简单】学习软件开发工具的目的
在于了解软件开发工具的概念、理论基础、基本功能、发展现状与前景,以便能够在实际工作中正确地选择与使用软件开发工具,在必要时能够参加或组织软件开发工具的自行研制,从而提高软件工作水平与效率的目标。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,042评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,996评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,674评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,340评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,404评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,749评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,902评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,662评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,110评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,577评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,258评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,848评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,726评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,952评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,271评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,452评论 2 348

推荐阅读更多精彩内容

  • 《〈《〈软件开发工具 1.软件开发工具的基本概念,基本功能,一般功能,主要类别,它的使用方法 《〈《〈《1.1软件...
    aofeilin阅读 454评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,737评论 25 707
  • 1.1 从问题到程序 用计算机实现问题求解,实质上就是在计算机中建立一个解决问题的模型。可以有不同的抽象形式 ——...
    cain_huang阅读 763评论 0 0
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,699评论 2 59
  • 女孩从小有一个梦想当一个芭蕾舞者。 可是命运多舛 她患了一种病,一种不能见阳光的病 可是她要跳舞要在阳光下跳舞 因...
    潇洒蛋壳阅读 149评论 0 1