软件开发工具知识点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
1、软件开发工具的定义:
在高级程序设计语言(第三代语言)的基础之上,为了提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。
2、软件是广大使用者与计算机之间的桥梁,软件是人类在各个领域中基类的只是的结晶,软件是人类文明与只是得以延续的新的载体,软件是人类记你一不成为一个整体,得以进一步相互联系的纽带。
3、用通用软件帮助软件开发有三个主要的弱点:第一个弱点是,有许多工作是通用软件所无法完成的;第二个弱点是,通用软件完成某些工作,只能表现其表面的形式,而不能反映其逻辑内涵;第三个弱点是,用通用软件来帮助人们完成软件开发工作时,常常遇到难于保持一致性的困难。
4、IBM在1989年宣布了一个名为AD/Cycle的巨大的理论框架,可以被看做死后进入集成的软件开发环境阶段的标志。
5、软件开发工具概念的要点:它是在高级程序设计语言(第三代语言)之后,软件技术进一步发展的产物;它的目的是在人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助;它支持软件开发的全过程,而不是仅限于编码或其它特定的工作阶段。
6、第四代语言(4GL):
它的原义是非过程化的程序设计语言。针对以处理过程为中心的第三代语言,它希望通过某些标准处理过程的自动生成,使用户可以只说明要求做什么,而把具体的执行步骤的安排交由软件自动处理。
7、软件开发的过程:第一阶段是初始要求的提出;第二阶段是总体设计;第三阶段是程序的编写与文档的编写;第四阶段是测试或调试阶段。
8、软件开发工具应提供的支持工作有:第一,认识与描述客观系统;第二,存储及管理开发过程中的信息;第三,代码的编写或生成;第四,文档的编制或生成;第五,软件项目管理。
9、软件开发工具的性能:第一,表达能力或描述能力;第二,保持信息一致的能力;第三,使用的方便程度;第四,工具的可靠程度;第五,对硬件和软件环境的要求。
10、软件开发工具按工作阶段划分:设计工具(实现阶段)、分析工具(需求分析)、计划工具(为项目主管人员服务)。
11、集成化的软件开发工具也常常称为软件工作环境。
12、按与硬件、软件的关系划分:有的软件开发工具依赖于特定的计算机或特定的软件(如某种数据库管理系统)。另一类软件开发工具则是独立于硬件与其它软件的。
第2章软件开发过程及其组织
1、软件开发的基本问题:首先是从用户的理解到程序员的理解;其次是从程序员的理解到程序的实现。如果说第一个转换是不同行业的人员之间的交流与协调的话,那么第二个转化所要解决的是人和机器之间的交流与协调问题。
2、大型软件开发难的表现:一致性的保持成为十分困难的问题;测试的困难大大增加;工作进度难以控制;文档与代码的协调十分困难;版本更新带来的困难。
3、困难产生的原因:首先,这些困难来自大系统的复杂性;其次,许多具有主动性的个人之间的组织与协调本身也会带来大量的困难;另外,各个应用领域之间的差别也导致这些困
难的加重;最后,时间的因素、变化的因素也给软件开发工作带来许多困难。
4、大型软件开发中的各种角色:作为用户,承担的工作为四项:提出要求、验收、使用、要求修改。项目负责人:承担着分析需求,像程序员分配任务,验收程序员的工作成果代码与文档,对整个软件进行联调,向用户交付使用,接收与分析用户的修改要求,向程序员不知修改任务,验收修改成果并向用户提交新的版本或修改的结果等。程序员:辨析程序,编写文档,调试自己编码的程序,向项目负责人提交工作成果。
5、结构化程序设计吧升序的结构分解成三种基本模块:处理单元、循环机制、二分决策机制。
6、模块划分的三条要求:模块的功能在逻辑上尽可能地单一化、明确化;没款之间的联系及互相影响尽可能地少,尽量避免逻辑耦合,而仅限于数据耦合;模块的规模应当足够小,一边使它本身的调试易于进行。
7、结构化程序设计应当采取自顶向下的方法,不管软件多大,都采取自上而下、逐步分解的办法将其分成若干部分,并把它们之间的关系明确地表达出来。
8、结构化程序设计的原则:限制甚至不用GOTO语句,绝对禁止超越模块边界的GOTO语句;子程序进可能做到只有一个入口、一个出口;程序风格应尽量明确、清晰,包括适当增加注释,书写格式体现层次结构(如循环体内的语句一致地右移两格),变量名称的选用尽量有逻辑意义等;在程序编写的同时完成有关的文档编撰,不要拖延时间。
9、工程思想的核心有两点:标准化的表达方式与规范化的工作步骤。
10、软件开发工作过程:第一阶段,需求分析,也可以称之为企业模型建立阶段;第二阶段,分析与设计阶段,任务是进行功能分解及数据分析,完成处理过程及其数据库的逻辑设计。第三阶段,编程阶段,任务是完成具体的程序编写工作。第四阶段,测试阶段,任务是对已有的代码进行人怎的检测与试用。第五阶段,试用及维护阶段。任务是组织使用者有效地使用,并及时检查与修正发现的错误。
11、在标准化方面:一方面是表达方式的标准化,另一方面是对工作的质量及检查制定标准。
12、面向对象的程序设计思想:(1)客观世界的任何事物都是对象,他们都有一些静态属性,也有一些有关的操作,作为一个整体,这些对象对外不必公开这些属性与操作,这首是所谓的“封装性”。(2)对象之间有抽象与具体、全体与个体、整体与部分等几种关系。(3)抽象的、较大的对象所具有的性质包括静态属性和动态属性操作,自然地成为它的子类的性质,不必加以重复说明或规定,这久是多为“遗传性”。(4)对象之间可以互送消息,这一消息可以是传送一个参数,也可以是使这个对象开始某个操作。
13、即插即用的程序设计,与它精密相关的还有组件程序设计、组合文件、宏观程序设计。
14、可视化程序设计的技术手段有三:指点与卡嗒(point and click);删剪与粘贴(cut and paste);拖拉与扔下(drag and drop)。
15、什么样的软件才是好软件:(1)正确地实现所要求的功能,准确地给出预定的输出结果;(2)用户界面友好,符合实际用户的使用习惯于与知识水平;(3)具有足够的额速度,能在符合用户要求的时间限度内,给出所要求的处理结果;(4)具有足够的可靠性,能够在各种干扰下保持正常的工作;(5)程序易读,结构良好,文档齐全,从而保证系统易于修改。
16、就单个程序员来说:具有程序设计所需要的基本知识与技能,对项目所在的领域有较深入的了解,对于软件开发的技术环境比较熟悉。
17、对于项目组来说:程序员应保证严格地在本模块范围内操作,决不要使用可能干扰其它模块的命令或函数;严格按总体设计的要求和理解去传递参数值,决不要随意修改其内容或含义;在对公用的文件或数据库进行存取时,必须完全地、准确地按统一规定的格式去操作,决不能擅自改变,在使用标示符时,应按照统一的原则;严格按照统一的要求编写文档;尽量保持程序风格的一致。