软件开发工具-知识点整理复习过程
- 格式:doc
- 大小:21.00 KB
- 文档页数:9
1、软件开发工具:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、文档和管理等各方面,对软件开发都提供各种不同程序的帮助的一类新型的软件。
2、软件发展的几个主要阶段:(1)仅限于把用户已经明确表达出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。
(2)编程工作改为用汇编语言进行,编好的汇编指令由汇编程序转化为机器指令。
(3)把汇编语言变成了高级程序设计语言(第三代语言)。
高级程序设计语言不再是与机器指令一一对应,而是更加接近人类习惯的自然语言。
3、21世纪的软件开发工具与以往的有什么区别?(1)自动化程序的提高。
(2)这一阶段的工作明确地把需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。
(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长守的全过程。
(4)在这一阶段的研究中,吸收了许多管理可学的内容与方法。
4、软件开发工具的功能要求:(1)认识与描述客观系统。
(2)存储及管理开发过程中的信息。
(3)代码的编写或生成。
(4)文档的编制或生成。
(5)软件项目的管理。
5、软件开发工具的性能:(1)表达能力或描述能力。
(2)保持信息一致性的能力。
(3)使用的方面程度。
(4)工具的可靠程序。
(5)对硬件和软件环境的要求。
6、软件开发工具按工作阶段划分为三类:计划工具、分析工具、设计工具。
计划工具则从更宏观的角度去看待软件开发。
它不仅从项目管理的角度,帮助人们组织与实施项目,并且把有关进度、资源、质量验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新,实现了“跨生命周期”的信息管理与共享,为信息以致软件的重用创造了条件。
设计工具直接为软件开发过程中的编程、调试、文档编写工作提供帮助。
多数的分析工具都是作为较大型计算机的专用系统出现的。
软件开发工具笔记第一章1.软件开发工具的范围大致可以描述为:在高级程序设计语言的基础上,为提高软件开发的质量和效率,才能够规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。
2.用通用软件帮助软件开发有三个主要的弱点:(1)有许多工作是通用软件所无法完成的。
(2)用通用软件完成某些工作,只能表现其表面形式,而不能反映其逻辑内涵。
(3)用通用软件来帮助人们完成软件开发工作时,尝尝遇到难于保持一致性的困难。
3.计算机语言发展阶段:机器语言,汇编语言,高级程序设计语言,非过程化语言4.CASE:计算机辅助软件工程/计算机辅助系统工程5.可视化编程:Visual Programming 最终用户计算:End User Programming组合编程:Component Programmng 即插即用编程:Plug and Play Programming 组合软件:Components Software 软件开发工具学:Software Development Methodology6.软件开发的过程:需求分析—>总体设计-->文档编制和代码设计→模块测试→总体测试→应用。
总体设计文件包括:结构图、模块清单、公用数据结构7.软件开发工具应提供的各类支持工作归纳成五方面:(1)认识与描述客观系统。
(2)存储及管理开发过程中的信息。
(3)代码的编写或生成。
(4)文档编制或生成。
(5)软件项目的管理。
项目管理包括:进度管理,资源与费用管理,质量管理三个基本内容8.软件功能是指软件能做什么事,所谓性能是指事情做到什么样的程度。
对于软件开发工具来说,功能的说明告诉我们它能子啊软件开发过程中提供哪些帮助,而性能的说明则要求说明这些支持或帮助的程度如何。
9.对于软件开发的工具来说,以下五项应当是特别重要的性能:(1)表达能力或描述能力。
(2)保持信息一致性的能力(3)使用的方便程度(4)工具的可靠程度(5)对硬件和软件环境的要求10.软件开发工具的类别:(a)按工作阶段划分为:设计工具(在实现阶段对人们提供帮助的工具,出现得最早数量最大的)、分析工具(用于支持需求分析的工具,出现得较晚,数量也少一些)、计划工具(从更宏观的角度去看待软件开发)。
计算机软件开发工具复习计算机软件开发工具是指为了方便开发人员开发、测试和维护软件而设计的各种工具和环境。
通过这些工具,开发人员可以有效地管理和组织代码、提高开发效率、减少错误和优化程序性能。
在本文中,我们将回顾一些常用的计算机软件开发工具,并讨论它们的使用方法和优势。
一、集成开发环境(Integrated Development Environment,简称IDE)集成开发环境是开发人员进行软件开发的核心工具之一。
它提供了一个集成的开发界面,包含了代码编辑器、编译器、调试器以及其他有助于开发的功能模块。
常见的IDE有Eclipse、Visual Studio和Xcode 等。
1. EclipseEclipse是一个开源的IDE,被广泛用于Java开发。
它提供了丰富的插件和扩展,可以满足不同开发需求。
通过Eclipse,开发人员可以轻松编辑、编译和调试Java程序。
它还支持版本控制、代码管理和项目管理等功能,大大提高了开发效率。
2. Visual StudioVisual Studio是微软开发的一款强大的IDE。
它支持多种编程语言,如C++、C#和等。
Visual Studio具有直观友好的界面,提供了丰富的工具和功能,如智能代码提示、代码重构和自动调试等。
它还支持团队协作和版本控制,使开发团队能够高效地协同工作。
Xcode是苹果公司为开发Mac、iOS和WatchOS应用程序而开发的IDE。
它集成了编码、调试和测试工具,并提供了丰富的界面设计功能和模拟器以便开发人员能够实时预览应用程序效果。
Xcode还支持应用程序发布和分发,方便开发者将应用程序上架到App Store。
二、版本控制工具版本控制工具用于管理和跟踪代码的变化,帮助开发人员合作开发、回滚代码和解决冲突。
最常见的版本控制工具有Git和SVN。
1. GitGit是目前最流行的分布式版本控制工具之一。
它具有高效的分支管理和合并功能,可以有效地解决多人协作开发中的代码冲突。
一、选择填空题知识点1、软件开发工具一般都比较复杂、庞大,所以必须首先考虑的它的(功能设计)和(总体结构)。
2、软件开发工具的功能必须毕设软件开发工作的实际需要,具有足够的(开放性)与(灵活性)。
3、软件开发工具的信息入口和调度中心是(人机界面)和(总控模块)。
4、软件开发工具的两种主要输出功能是(代码生成)和(文档生成)。
5、软件开发工具是引导人们建立正确的、有效的(概念模式)的一种手段。
6、使用者和软件开发工具之间交流信息,事项所有的支持功能的桥梁是(总控和人机界面)。
7、信息库的(结构框架)反映了人们对软件产品及软件开发过程的基本开发。
8、信息库(内容)的丰富程度是软件开发工具的功能与作用的最基本的依据。
9、软件最基本的组成部分是(代码)和(文档)。
10、作为一个完整的、一体化的软件开发工具,(总控和人机界面)处于中心的位置。
11、为了有效的支持软件开发人员的工作,软件开发工具必须提供各工作环节之间的(协调)与(配合)。
12、SAA指的是(应用软件的结构)。
13、IBM的AD/Cycle中,程序员接口有(过程化语言)(非过程化语言)(生成器)(数据库查询)(对话显示)(通信服务)图4-214、IBM的AD/Cycle中,对外系统的通信接口有(面向对象的结构)(数据流)(应用服务)(作业管理)(网络管理)(数据安全控制)图4-3 15、IBM的AD/Cycle中,将软件开发过程的每一个周期分为五个阶段:(需求分析阶段)(分析设计阶段)(编码阶段)(测试阶段)(维护阶段)。
16、建立软件多处领域或环境的模型是在(需求分析)阶段。
17、建立软件的数据模型是在(需求分析)阶段。
18、建立软件的信息流通的模型是在(需求分析)阶段。
19、数据结构的详细设计是在(分析设计)阶段。
20、完成子系统或模块的划分是在(分析设计)阶段。
21、在软件开发工具的跨周期管理中,知识库和专家系统一般应用于( 编码和测试阶段)22、在软件开发工具的跨周期管理中,生成工具应用于(编码和测设)阶段。
一、填空选择知识点。
1、工作空间是Eclipse在用户计算机磁盘上划分的一块区域,用来存放用户的(工作资料)。
2、工作空间以(项目)为单位组织文件和目录,它将各种资源组织成(树形)结构,项目位于树的根部,文件和文件夹位于树枝的位置。
3、进入Eclipse后欢迎界面中包含五个圆形图标,从左至右分别是(概况)(新特点)(实例)(向导)(工作台)。
4、工作台只要有以下几个组成部分(菜单栏)(工具栏)(透视图)。
5、工具栏主要有两种类型,一种为(主工具栏),另一种类型是(视图工具栏)。
6、Eclipse中,工具栏是可以(定制的)。
8、Eclipse的透视图包括(视图)和(编辑器),视图包括(导航器视图)(大纲视图)(控制台视图)。
9、一个工作台窗口可以包含(多个)独立的透视图,而在同一时刻只有(一个)透视图是对用户可见的。
10、Eclipse中,在进行透视图切换时用到的是菜单栏上的(窗口)菜单。
11、关于Eclipse中视图,说法正确的是1)视图是工作台中一个可视化的组件,提供了用户正在工作台中使用的一些对象的详细信息。
2)在工作台中,可以同时存在多个视图3)在工作台中,只能有一个视图处在活动状态4)视图可以单独出现,也可以与其他视图一起一选项卡的形式叠放。
5)每个视图可以由用户自定义显示或隐藏6)每个视图可以最大化或最小化7)视图有大纲视图、控制台视图、导航器视图、任务视图、调试视图、错误视图12、透视图的布局是(可变的),可以使用鼠标拖动操作更改视图的位置和大小。
13、当透视图布局想恢复至初始设置,使用菜单栏的(窗口)菜单,选择(重置透视图)选项。
14、显示当前Eclipse集成环境中加载的所有项目和各个项目的文件列表的视图是(导航器视图)。
15、显示Eclipse中当前编辑器中所打开文件的纲要的视图是(大纲视图)。
16、在Eclipse中显示程序中的错误,提示用户及时改正的视图是(错误视图)。
17、Eclipse中在任务视图中添加任务,是添加(以TODO )开头的注释标记。
一、选择填空知识点1、软件开发中所遇到的困难来源于大系统的(复杂性),来源于人们知识的(不足),来源于迅速变化的(客观世界)。
2、为克服软件危机,人们先后提出了(结构化程序设计方法)(软件工程方法)(面向对象的程序设计方法)(即插即用的程序设计方法),直到最近的(面向开源软件)和(互联网平台的程序设计)。
3、在克服软件危机的过程中,有两个领域的问题需要特别注意,一个是(软件质量的评价与改善),一个是(项目管理的任务与方法)。
4、软件开发过程中主要完成两个转换,首先是从(用户)的理解到(程序员)的理解,其次是从(程序员的理解)到(程序的实现)。
5、两个转换中,第一个转换是(工作方式上)的区别,第二个转换是(人与机器之间思维方式上)的区别。
6、从程序员的理解到程序的实现的关键在于程序员的(知识水平)与(实际经验)。
7、如果单个程序员独自编写程序相当于手工作坊的工作方式,真正的大型软件的研制必须采用(现代化的大生产的方式)才能完成。
8、当人们修改程序的某一处时,由于没有考虑到这一修改对相关部分带来的影响,结果出现了新的错误,这就是所谓的(水波效应)。
9、在软件测试时,通过输入一些信息,观察是否能得到预期结果,这就是所谓的(黑箱)检验方法。
10、软件开发过程中,文档包括(功能说明书)(总体设计)(各模块的设计任务书)和(测试报告)。
11、软件版本更新中大量工作往往在于(审核)与(回顾)。
12、大型软件开发中,作为用户来说,应该承担的责任有(提出需求)(验收)(使用)(要求修改)。
13、大型软件开发中,作为项目负责任来说,应该承担的责任有(分析需求)(分配任务)(验收模块)(联调)(交付使用)(验收修改成果)(分析修改需求)。
14、大型软件开发中,作为程序员来说,应该承担的责任有(编写软件)(模块调试)(交付检验)(交付检验)(修改)。
15、软件开发中,涉及到的四个角色是(用户)(项目负责人)(程序员)(硬件)。
1、数据库管理系统的特点和功能数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。
他对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
Oracle:Oracle公司产品。
具有关系型数据库的一般功能,还有以下特点:可移植性、集群服务、数据挖掘、空间数据库、开发工具SQL Sercver:微软公司产品。
关系型数据库、复制服务、管理工具、开发工具等,同时集成了数据仓储、分析和生成报表功能,还有数据集成功能、分析服务、报告服务、商业智能及Office集成等。
Sybase:Sybase公司产品。
自适应服务器企业版是一个处理关键业务计算的最有效的数据管理平台之一,其产品性能良好;优势数据库服务是一个全功能、易于嵌入、基于客户/服务的数据库管理系统,提供了基于表和基于SQL的索引顺序访问方法对数据进行访问。
DB2:IBM公司产品。
采用多进程、多线索体系结构,并分别根据相应平台环境做调整和优化,以便达到较好的性能。
特色如下:支持面向对象的编程、支持多媒体应用程序、强大的备份和恢复能力、支持存储过程和触发器、支持异构分布式数据库访问、支持数据复制。
MySQL:MySQL AB公司产品,被sun收购。
使用C和C++编写,支持多种操作系统,为多种编程语言提供了API,支持多线程,优化的SQL查询算法,提供多种语言支持,提供TCP/IP、ODBC和JDBC等多种数据库连接途径,提供用于管理、检查、优化数据库操作的管理工具、可以处理拥有上千万条记录的大型数据库。
2、数据库管理工具的特点和功能功能:创建概念数据模型功能、创建物理数据模型功能、数据库连接、数据迁移与备份恢复、浏览数据库对象、数据库的库表操作、用户管理、检查设计与逆向工程、性能监视、调试存储过程。
特点:SQL Developer:Oracle公司产品。
可以用于将DB2数据库、SQL Server数据库、MySQL数据库迁移到Oracle数据库。
重点复习软工软工(软件工程)是计算机科学与工程领域的一门重要学科,旨在研究以科学原理与工程技术为基础,以经济、可靠和高质量为目标,开发和维护复杂软件系统的学科体系。
对于计算机相关专业的学生来说,软工是一门必不可少的课程。
本文将介绍关于软工的重点复习内容,以帮助读者更好地准备软工考试。
一、软件开发生命周期软件开发生命周期指的是从软件项目的规划到最终交付使用的整个过程。
它包含了需求分析、设计、编码、测试、维护等阶段。
在复习软工时,需要了解各个阶段的主要任务和活动,以及它们之间的关系和依赖。
1. 需求分析阶段:需求分析是软件开发的第一步,目的是识别出用户需求并定义功能和性能要求。
在这个阶段,需要学习如何进行需求获取、需求分析和需求建模等技术和方法。
2. 设计阶段:设计阶段是将需求转化为可执行的规划和设计方案的阶段。
这个阶段包括系统架构设计、详细设计、数据库设计等。
在复习软工时,需要了解常用的设计原则和设计模式,如单一职责原则、开放封闭原则、工厂模式、观察者模式等。
3. 编码阶段:编码阶段是将设计好的方案转化为计算机可执行代码的阶段。
在复习软工时,需要熟悉常用的编程语言和开发工具,如Java、C++、Eclipse、IntelliJ IDEA等。
同时,还需要了解编码规范和代码质量管理的重要性。
4. 测试阶段:测试阶段是为了发现和修复软件中存在的问题和错误。
在复习软工时,需要熟悉各种测试方法和技术,如单元测试、集成测试、系统测试、性能测试等。
此外,还需要了解测试用例的设计和执行,以及错误跟踪和修复的方法。
5. 维护阶段:维护阶段是软件开发生命周期中最后一个阶段。
它主要涉及对软件进行改进和修复。
在复习软工时,需要了解维护活动的类型和方法,如改正性维护、适应性维护、完善性维护等。
二、软件开发方法论软件开发方法论是指在软件开发过程中使用的一套规范和约束,它们可以指导和帮助开发团队更好地组织和管理软件项目。
在复习软工时,需要了解以下几种常见的软件开发方法论。
软件开发的基本知识点总结软件开发是指开发者使用各种编程语言和开发工具,按照一定的流程和规范设计、编写、测试、部署和维护软件的过程。
软件开发是一个复杂的过程,需要开发者具备很多基本知识和技能。
下面将对软件开发的基本知识点进行总结。
1. 编程语言编程语言是软件开发的基础。
常见的编程语言包括C、C++、Java、Python、Ruby、JavaScript等。
不同的编程语言具有不同的特点和适用场景,开发者需要根据实际需求选择合适的编程语言。
2. 数据结构与算法数据结构与算法是软件开发中最基础的知识点之一。
数据结构指的是数据的存储方式和组织方式,常见的数据结构包括数组、链表、栈、队列、树、图等。
算法指的是解决问题的方法和步骤,常见的算法包括排序算法、查找算法、动态规划算法等。
3. 操作系统操作系统是软件开发的基础设施,开发者需要了解操作系统的原理和机制,包括进程管理、文件系统、内存管理、设备驱动程序等。
常见的操作系统包括Windows、Linux、Mac OS 等。
4. 数据库数据库是软件开发中用来存储和管理数据的软件,常见的数据库包括关系型数据库(如MySQL、Oracle、SQL Server)和非关系型数据库(如MongoDB、Redis)。
开发者需要了解数据库的设计原理、SQL语言和数据库管理等知识。
5. 网络编程网络编程是指开发者使用编程语言和网络协议进行通信,包括TCP/IP协议、HTTP协议、Socket编程等。
开发者需要了解网络编程的原理和技术,以便开发基于网络的应用程序。
6. Web开发Web开发是指开发基于Web技术的应用程序,包括前端开发和后端开发。
前端开发主要涉及HTML、CSS、JavaScript等技术,后端开发主要涉及服务器端编程语言(如Java、Python、PHP)、数据库和Web框架。
7. 软件工程软件工程是软件开发的一门学科,主要包括软件需求分析、系统设计、编码、测试、部署和维护等内容。
软件开发(知识点)由于篇幅限制,本文将重点介绍软件开发的一些核心知识点,并适当增加字数以确保全面而详细的讲解。
一、软件开发的定义和流程软件开发是指通过编程和测试等一系列工作,将需要解决特定问题或满足用户需求的软件产品从概念到最终产品的过程。
软件开发的流程通常包括需求分析、设计、编码、测试和发布等阶段。
1. 需求分析需求分析是软件开发的第一步,通过仔细的沟通和调查研究,确定用户的具体需求,包括功能需求和非功能需求。
这些需求将成为设计和开发的基础。
2. 设计在设计阶段,开发团队将根据需求分析的结果,确定软件的整体结构和各模块之间的关系。
设计包括系统架构设计、界面设计、数据库设计等。
3. 编码编码是将设计图转化为计算机可执行代码的过程。
开发人员使用编程语言(如Java、C++等)根据设计要求编写代码,并进行单元测试以确保代码功能的正确性。
4. 测试测试是验证软件是否满足需求的过程。
常见的测试方法包括单元测试、集成测试和系统测试等。
通过测试,可以发现和修复软件中的BUG。
5. 发布与维护在软件开发完成后,需要进行发布和部署,使用户可以正常使用软件。
同时,软件维护也是软件开发的重要环节,包括修复漏洞、增加新功能或优化性能等。
二、软件开发的技术和工具软件开发涉及多个技术和工具,下面将介绍几个常见的方面:1. 编程语言不同的编程语言适用于不同的场景和需求,如Java、Python、C++等。
开发人员需要根据具体情况选择合适的编程语言。
2. 开发框架开发框架是一种提供了基础结构和通用功能的软件工具集。
常见的开发框架包括Spring、Django、Express等,可以加速开发过程并提高开发效率。
3. 版本控制系统版本控制系统(如Git)可以跟踪文件的修改,记录每个版本的变化并对团队协作进行管理。
它可以帮助开发人员更好地合作开发和维护代码。
4. 集成开发环境(IDE)IDE是一种集成了编译、调试、代码编辑等功能的开发工具。
软件开发工具-知识点整理1、软件开发工具:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、文档和管理等各方面,对软件开发都提供各种不同程序的帮助的一类新型的软件。
2、软件发展的几个主要阶段:(1)仅限于把用户已经明确表达出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。
(2)编程工作改为用汇编语言进行,编好的汇编指令由汇编程序转化为机器指令。
(3)把汇编语言变成了高级程序设计语言(第三代语言)。
高级程序设计语言不再是与机器指令一一对应,而是更加接近人类习惯的自然语言。
3、21世纪的软件开发工具与以往的有什么区别?(1)自动化程序的提高。
(2)这一阶段的工作明确地把需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。
(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长守的全过程。
(4)在这一阶段的研究中,吸收了许多管理可学的内容与方法。
4、软件开发工具的功能要求:(1)认识与描述客观系统。
(2)存储及管理开发过程中的信息。
(3)代码的编写或生成。
(4)文档的编制或生成。
(5)软件项目的管理。
5、软件开发工具的性能:(1)表达能力或描述能力。
(2)保持信息一致性的能力。
(3)使用的方面程度。
(4)工具的可靠程序。
(5)对硬件和软件环境的要求。
6、软件开发工具按工作阶段划分为三类:计划工具、分析工具、设计工具。
计划工具则从更宏观的角度去看待软件开发。
它不仅从项目管理的角度,帮助人们组织与实施项目,并且把有关进度、资源、质量验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新,实现了“跨生命周期”的信息管理与共享,为信息以致软件的重用创造了条件。
设计工具直接为软件开发过程中的编程、调试、文档编写工作提供帮助。
多数的分析工具都是作为较大型计算机的专用系统出现的。
7、学习软件开发工具的目的在于,了解软件开发工具的概念、理论基础、基本功能、发展现状与前景,以便能够在实际工作中正确地选择与使用软件开发工具,在必要时能够参加或组织软件开发工具的自行研制,从而达到提高软件工作水平与效率的目标。
8、软件开发的基本问题:(1)用户对软件功能的理解与程序员对软件功能的理解之间的转换。
(2)人和机器之间的交流与协调问题。
9、大型软件开发中的困难:(1)一致性的保持成为十分困难的问题。
(2)测试的困难大大地增加。
(3)工作进度难以控制。
(4)文档与代码的协调十分困难。
(5)版本更新带来的困难。
10、结构化程序设计的基本思想:把程序的结构分成三种基本模块:处理单元、循环机制、二分决策机制。
按照这种方法来构造程序,就可以把程序内容的各种相互影响有效地控制在模块内容,从而避免“水波效应”。
11、面向对象的程序设计的基本思想:(1)客观世界的任事物都是对象,它们都有一些静态属性,也都有一些相关的操作。
即所谓“封装性”。
(2)对象之间有抽象与具体,群体与个体,整体与部分等几种关系。
(3)抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地成为它的子类的性质,不必加以说明或规定。
即所谓的“遗传性”。
(4)对象之间可以互通信息。
12、即插即用的程序设计的基本思想:一部分人专门生产软件组件,而另一部分人构造整个软件的结构,并把软件组件插入这个结构,以便迅速地完成大型软件的研制工作。
13、什么样的软件才能算得上是一个好软件?(1)正确地实现所要求的功能,准确地给出预定的输出结果。
(2)用户界面友好,符合实际用户的使用习惯与知识能力。
(3)具有足够的速度(而不是越快越好),能在符合用户要求的时间限度内,给出所要求的处理结果。
(4)具有足够的可靠性,能够在各种干扰下保持正常的工作。
(5)程序易读,结构良好,文档齐全,而保证系统易于修改。
14、一个好的项目组应当具备哪些基本条件?(1)有严格的、成文的工作规范和文档标准,而且应当成为躯体成员所熟知,并且切实得到遵守。
(2)人员之间有严格的分工,除了程序员之外,必须有专门的秘书,必须有专门的测试人员,特别是要有专职的,不限于集体编程的项目负责人。
(3)每个项目都要事先制定详细的时间表,并且得到严格执行。
15、软件开发工具所涉及到的重要的理论和方法:(1)认知科学中关于概念模式的概念与方法。
(2)数据库技术的理论与方法。
(3)编译技术的有关方法。
(4)关于人机界面的理论与方法。
(5)管理科学中关于项目管理与版本管理的理论与方法。
(6)系统科学与系统工程中的有关理论与方法。
16、软件开发过程中需要哪些信息与信息处理方面的帮助与支持:(1)有关系统环境、现状及需求的信息。
(2)有关软件的功能设计与物理设计的各种信息。
(3)软件成果本身,包括程序与文档。
(4)用户对系统的各种变更要求,以及系统的各种变更的记录。
17、什么叫做概念模式(包括作用和意义):它是指人们在认识带我过程中,对于某一带我或某一系统开成的、抽象的、一般化的框架。
其作用和意义:概念模式在认识中的作用十分重要,同时作为交流与表达工具也是十分重要的。
人们在互相配合、互相协调、共同完成某项任务的时候,需要统一思想、统一认识、协同行动就必须用某种公认的方式来进行表述。
18、软件开发中常用到的几种概念模式:框图、结构图、数据流程图、实体关系图、数据字典、时序网络、数学与逻辑模型、计算机模拟模型。
19、信息库的概念(包括与数据库和数据仓库的区别):它是一个包罗万象的,随着开发项目进展而不断修改与补充的信息集合。
数据库是在文件系统的基础上发展起来的一种管理技术,重点在于合理的组织数据,减少冗余。
而数据仓库的基本思想是现实中的大量原始数据与实际的应用是有相当距离的,为了能够切实为企业管理者提供对管理真正有用的信息,就要对信息或数据进行多次的加工或提炼,从而得出许多派生的或综合的数据。
20、为什么信息库的一致性十分重要:一是因为信息在传递过程中,误解和丢失现象十分严重,二是软件的修改和版本更新时,大量的工作需要重复去做。
21、人机界面设计的基本原则及重要性是什么?输入尽量自然,输出必须准确;界面必须始终一致;界面必须使用户随时掌握任务的进展性。
界面必须提供帮助;宁可让程序多做,不可让用户多干。
其重要性:对于用户来说,界面就是系统本身。
因为用户只关心怎样能有效地使用软件来解决问题,用户对软件功能的理解都在界面上表现出来,用户的输入是否自然、简便,是否有充分的提示和帮助,对用户的错误是否有友好的措施,输出的形式是否易于理解,结果是否正确,都是用户关心的问题,也是界面的特点,界面不够友好的软件就不是成功的软件。
22、人机界面的常用技术手段有哪些:键盘操作、屏幕滚动、菜单选择、帮助系统、鼠标操作、色彩应用、数据录入、信息显示。
23、什么叫项目管理?其特点和任务是什么?指与固定的生产线上的日常生产管理不同的,具有更大的变动性、时间性的另一类管理任务。
特点:子任务多,关系复杂;任务不可重复,形势不断变更;协调组织的任务十分突出;信息处理工作的作用与意义更为突出。
任务:有效地控制质量;保证进度;有效利用资源;控制降低成本。
24、项目管理的基本目标:(1)使产品(或工程)的质量得到有效的控制。
(2)保证整个系统按预定的进度完成。
(3)有效地利用各种资源,尽可能使资源的闲置与浪费减少。
(4)控制与降低成本。
25、什么叫版本管理?其任务是什么?版本管理是对软件更新引起的问题进行管理,关键在于保持两个一致性:从时间上关系系统的逐步完善,每一步都是与以前的工作一致,而不是破坏或降低系统的功能。
从系统各部分关系上来说,要保持局部与整体一致。
具体方法包括规定长远的版本更新计划。
26、软件开发过程中的信息管理工作包括哪几个方面:长期保存信息,不断修改,及时检查和维护,反复调用和查询;数据的转换和加工;各种人员之间的交流。
27、举出三种常用的概念模式,说明它们的作用与使用方法?框图:把程序基本步骤分为处理、判断、输入输出、起始或终止等几个功能,并能不同的记号加以表示,用箭头表示控制或执行的顺序。
结构图:它的基本图例为模块,以模块的调用着么为线索,用连线表示调用关系,并注明传递参数。
基本调用方式有:顺序调用、选择调用、循环调用。
数据流程图(DFD):面对的是系统的信息流程,把信息流看作一个组织或系统运作的线索,简明扼要地勾画出全局,基本元素是外部实体,以箭头表示信息在它们之间的流动状况。
实体关系图:用于描述静态数据结构的概念模式,以实体、关系、属性三个基本概念概括数据的基本属性及相互关系。
时序网络:描述系统状态及转换方式,常用于实时控制方面的软件。
数学与逻辑模型:描述客观世界的状态与规律,包括常用的决策树与决策表。
描述客观世界的状态与规律,包括常用的决策树与决策表。
计算机模拟模型:利用计算机大量、高速处理信息的能力,在计算机内设置一定的环境,以程序来实现客观系统中某些规律或规则,在二者的基础上计算机调整运行,以便观察系统的运行。
28、论述软件开发过程中保持信息一致性的重要性?作为统一的软件,各部分之间不事避免地要有各种信息的交流与共享;程序和文档是密切相关的;由于版本更新,对信息库中的各种信息还有历史的、逻辑的联系。
29、软件开发工具的基本功能:(1)提供描述软件状况及其开发过程的概念模式,以协助软件开发人员认识软件工作的环境与要求,合理地组织与管理软件开发的工作工程。
(2)提供存储和管理有关信息的机制。
(3)帮助使用者编制、生成及修改各种文档。
(4)帮助使用者编写程序代码,即代码生成。
(5)对于历史信息进行跨生命周期的管理,把项目进度与版本更新的有关信息科学地管理起来。
30、软件开发工具的一般结构:(1)总控和人机界面。
(2)信息库及其管理。
(3)代码生成和文档生成。
31、怎样考虑购置软件开发工具以及自行研制工具的权衡?哪些因素是必须认真考虑的?在项目比较大的时间持续比较长的情况下,使用工具可以使工作的组织管理比较规范,信息管理与检索方便,部分做到信息与知识的重用与共享。
但软件开发工具比较昂贵,而且一体化的开发工具还不多,作用与可靠程序不如人意。
自己开发的软件开发工具目标明确,符合需要,而且可进一步升级。
从长远看,软件开发工具越来越多得到应用,自行开发的工具会减少。
考虑因素:所开发软件的性质与要求;开发人员对支持工作与支持程度的实际需要;工作环境;人员的因素。
32、购买软件开发工具时的市场调查应当包括哪些内容?开发工具的功能;这些工具的性能;这些工具所使用或依据的开发方法或开发理论是什么,与自己的方法理论是否一致;这些工具运行环境是什么?这些工具的文档资料是否齐全?使用时的学习、掌握是否简单易行?这些工具的服务、培训条件如何?价格。