软件开发工具-知识点整理复习过程
软件开发工具-知识点整理

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是一种集成了编译、调试、代码编辑等功能的开发工具。
软件开发工具复习笔记精修订

软件开发工具复习笔记 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#本文由33301607贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
一、绪论 1、简述软件开发工具的范围在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。
2、简术用通用软件辅助软件开发的缺点有许多工作是通用软件所无法完成的;用通用软件完成某些工作,只能表现出其表面的形式,而不能反映其逻辑内涵,只能做到“形似”,不能做到“神似”;难于保持一致性。
3、简述集成化软件开发工具产生的背景集成的软件开发工具称为软件开发环境,是指包括支持全过程、全阶段的软件开发工具。
以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。
这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来,必然会造成冲突与矛盾。
这种冲突与矛盾对于用户来说,造成了沉重的负担,使用工具越多这种负担越重,以致抵消了工具带来的益处。
这种情况导致了集成化软件开发工具的产生。
4、简述第四代语言与软件开发工具的区别软件开发工具包括 4GL 的功能;软件开发工具支持系统分析、设计工作;软件开发工具支持文档工作。
5、简述软件开发总体设计阶段的工作要点是根据软件功能说明书的要求,完成软件的总体设计,包括整个软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式及信息交换的标准等。
6、简述软件开发实现阶段的工作,以及应强调之点。
包括程序的编写和文档的编写,应特别强调组织与协调,及时发现并纠正背离总体设计要求的情况。
7、简述软件开发工具认识与描述客观系统的功能要求认识与描述客观系统是软件开发第一阶段所需的重要工作。
该项工作不确定程度高,更需要经验,更难规范化,需要对复杂系统认识与理解,并在此基础上抽象出信息需求与信息流程。
软工复习要点

软工复习要点软件工程是现代计算机科学的重要分支,致力于开发高质量的软件系统。
在软件工程的学习过程中,掌握并熟悉相关的复习要点是非常重要的。
本文将总结软件工程的复习要点,帮助读者更好地准备考试,并取得好的成绩。
一、软件生命周期1. 需求分析阶段- 需求获取:通过面谈、问卷调查等方式获取用户需求。
- 需求分析:对收集到的需求进行分析、整理和规格说明。
- 需求验证:与用户确认需求是否准确并理解一致。
2. 设计阶段- 概要设计:定义系统的总体结构和模块划分,确定系统的主要功能。
- 详细设计:对每个模块进行详细设计,包括定义数据结构、算法等。
3. 编码阶段- 编写程序:将设计的模块转化为具体的编程代码。
- 单元测试:对每个模块进行测试,确保代码的正确性。
4. 测试阶段- 集成测试:将各个模块进行整合,进行系统级别的测试。
- 系统测试:对整个系统进行测试,检查系统是否满足预期功能和性能。
5. 运维阶段- 安装部署:将软件部署到实际应用环境中。
- 系统维护:对已部署的软件进行维护和更新。
二、软件开发过程模型1. 瀑布模型:按照线性顺序依次完成各阶段的开发流程。
2. 增量模型:将开发过程划分为多个增量,逐步迭代开发。
3. 原型模型:通过快速开发原型来验证需求和设计方案。
4. 敏捷模型:强调快速响应变化需求的开发方法。
三、软件需求工程1. 需求分类:功能需求和非功能需求的划分和描述。
2. 需求获取:通过场景分析、访谈、面谈等方式收集用户需求。
3. 需求分析:对需求进行整理、归类和建模,明确需求的范围和边界。
4. 需求规格说明:使用工具(如用例图、活动图)对需求进行形式化的描述和建模。
5. 需求验证:与用户进行需求确认和变更管理,保证需求的正确性和一致性。
四、软件设计1. 结构设计:确定软件的整体结构和模块之间的关系。
2. 数据设计:定义数据模型和数据库的结构。
3. 接口设计:定义模块间的接口,确保模块之间的良好交互。
软件工程师重点知识整理与回顾

软件工程师重点知识整理与回顾在当今科技迅速发展的时代,软件工程师的岗位需求日益增长。
作为一名软件工程师,掌握并熟练运用重要的知识是非常关键的。
本文将重点整理和回顾软件工程师所需的重要知识,为从事或者即将从事此职的人提供参考。
一、编程语言编程语言是软件工程师的基础,掌握至少一门流行的编程语言是非常重要的。
常见的编程语言包括C++、Java、Python等。
在实际项目中,根据需要选择合适的编程语言进行开发。
同时,了解常用编程语言的特性和优势,能够更好地解决问题和提高工作效率。
二、数据结构与算法数据结构和算法是软件工程师必备的核心知识。
了解各种数据结构(如数组、链表、栈、队列、树等)的特性及其在实际应用中的使用,能够提高解决问题的效率。
掌握常见的算法(如排序算法、查找算法、图算法等),对于解决复杂的计算问题非常有帮助。
三、操作系统操作系统是计算机软件的核心组成部分,软件工程师需要了解操作系统的基本原理和运行机制。
熟悉常见操作系统(如Windows、Linux 等)的使用和配置,能够更好地进行软件开发和调试。
此外,了解操作系统的进程管理、内存管理和文件系统等方面的知识,对于优化软件性能和解决问题至关重要。
四、数据库数据库是存储和管理数据的关键技术,软件工程师需要掌握常见的数据库技术。
了解关系型数据库(如MySQL、Oracle等)和非关系型数据库(如MongoDB、Redis等)的使用和原理。
熟悉SQL语言,能够进行高效的数据操作和查询。
此外,了解数据库的设计原则和优化技巧,能够提高系统的性能和稳定性。
五、网络通信网络通信是现代软件开发不可或缺的一部分,软件工程师需要了解网络通信的基本原理和常用协议。
了解TCP/IP协议栈和HTTP协议等,能够进行网络编程和实现网络应用。
同时,掌握网络安全的基本概念和技术,能够保护系统和数据的安全。
六、软件开发流程软件开发流程是软件工程师必须要了解和掌握的内容。
从需求分析、设计到编码、测试和部署,软件开发流程中的每个环节都至关重要。
软件开发工具复习整理资料(权威完整版)

第1-6章名词解释2、第一代语言:即机器语言,是用0、1组成的二进制字符串书写的程序,用纸带等光电设备或通过控制台上的扳键送入机器,得以存储和执行。
3、第四代语言(4GL):第四代语言的原意是非过程化的程序设计语言。
针对以处理过程为中心的第三代语言,它希望通过某些标准处理过程的自动生成,使用户可以只要求做什么,而把具体的执行步骤的安排交给软件自动处理。
4、CASE工具:CASE工具指“计算机辅助软件工程”或“计算机辅助系统工程”,它的基本思想与软件开发工具完全一致,即应用计算机自身处理信息的巨大能力,帮助人们开发复杂的软件或应用系统。
5、所见即所得:“所见即所得”原则力图实现编程工作的可视化,即随时可以看到结果,程序的调整与后果的调整同步进行。
8、结构设计:所谓结构设计是把软件划分成若干个模块,指定每个模块的功能要求以及它们之间的相互关系。
9、模块测试:据整体设计时制定的各个模块的设计任务书,对程序员完成的模块进行验收,看它们是否实现了所要求的功能和性能指标。
10、总体测试:每个模块都达到了设计任务书的要求后,还要测试整个系统是否达到了预期的目标,另外还要检查完成的软件与编写的文档是否一致,这个工作成为总体测试。
14、工具的可靠程度:软件开发工具应具有足够的可靠性,即在各种各样的干扰下仍能保持正常工作,而不致丢失或弄错信息。
15、软件危机:指随着软件功能越来越多,规模越来越大,复杂性越来越高,引出一系列问题:软件产品交付拖延、错误多、不可靠、费用增大、不能适应应用变化等,因此怀疑大型软件的复杂性是否超越了人的处理能力。
16、水波效应:因修改程序带来的连带影响。
当人们修改程序的某一处时,由于没有充分考虑到这一修改对相关部分带来的影响,结果出现了新的错误。
17、黑箱检验:输入一些信息,通过观察是否能得出预期输出来判断软件是否正确的一种软件测试方法。
黑箱检验只能证明程序有错,而不能证明程序没错。
18、模块的凝聚性:模块的功能在逻辑上尽可能的单一化、明确化,最好做到模块与任务的一一对应,即每个模块完成一个任务,反之每一项任务仅由一个模块来完成。
软件开发流程知识点

软件开发流程知识点软件开发是指通过编程语言和开发工具,将需求转化为可执行的软件产品的过程。
在软件开发过程中,有一系列的流程和知识点需要掌握。
本文将详细介绍软件开发流程中的重要知识点,包括需求分析、设计、编码、测试和维护等。
一、需求分析需求分析是软件开发的第一步,它是确定软件系统的功能和性能要求的过程。
需求分析的主要任务包括需求收集、需求分析和需求规格说明书的编写。
需求分析的目标是准确地理解用户的需求,为后续的设计和开发提供基础。
1. 需求收集需求收集是通过与用户沟通、观察现有系统和文档分析等方式,获取用户需求的过程。
在需求收集过程中,要与用户充分沟通,了解用户的期望和需求,确保收集到准确的需求信息。
2. 需求分析需求分析是对收集到的需求进行分析和整理的过程。
在需求分析过程中,要对需求进行分类、归纳和整合,确保需求的准确性和一致性。
3. 需求规格说明书需求规格说明书是对需求进行详细描述和说明的文档。
需求规格说明书应包括功能需求、性能需求、界面需求等内容,确保开发团队可以根据需求规格说明书进行开发工作。
二、设计设计是软件开发的重要环节,它是将需求转化为可执行方案的过程。
软件设计分为概要设计和详细设计两个阶段。
1. 概要设计概要设计是对软件系统的整体结构进行设计的过程。
在概要设计过程中,要确定软件系统的模块划分、模块之间的关系以及数据流程等,确保软件系统的整体结构清晰可行。
2. 详细设计详细设计是对软件系统的具体实现进行设计的过程。
在详细设计过程中,要对每个模块进行详细的设计,包括数据结构、算法、接口设计等,确保软件系统的功能和性能满足需求。
三、编码编码是将设计好的方案转化为实际代码的过程。
在编码过程中,要遵循编程规范和标准,确保代码的可读性和可维护性。
1. 编程语言选择合适的编程语言进行编码是非常重要的。
不同的编程语言有不同的特点和适用场景,开发人员需要根据项目需求选择合适的编程语言。
2. 编码规范编码规范是指在编码过程中要遵循的规范和标准。
软工知识点归纳总结

软工知识点归纳总结软件工程(Software Engineering),简称软工,是应用工程原理、方法和工具进行软件规模化开发和维护的学科。
软工的核心目标是提高软件质量、提高开发效率和降低开发成本。
本文将对软件工程的几个重要知识点进行归纳总结,包括软件开发过程、软件需求工程、软件设计与架构、软件测试与维护等。
一、软件开发过程软件开发过程是指按照一定规范和流程进行软件开发的过程。
常见的软件开发过程模型有瀑布模型、迭代模型、敏捷开发等。
瀑布模型是一个线性的开发过程,包括需求分析、系统设计、编码、测试和维护等阶段。
优点是结构清晰、过程可控,缺点是不利于需求变更。
迭代模型是将软件开发过程划分为若干个迭代阶段,每个阶段都包含需求分析、设计、编码、测试等活动。
优点是适应需求变化,缺点是开发周期相对较长。
敏捷开发是一种以人为核心、快速响应变化的开发方法。
采用迭代、增量的方式进行开发,注重团队协作和持续交付。
二、软件需求工程软件需求工程是指对软件需求进行识别、分析、规格化和验证的过程。
常用的需求工程方法有需求获取、需求分析、需求规格化和需求验证等。
需求获取是通过与用户交流、文档分析等方式获取软件需求信息。
需求分析是对获取的需求信息进行分析和整理,识别用户真正的需求。
需求规格化是将需求信息转化为形式化的形式,通常使用用例、需求规约等。
需求验证是通过评审、测试等手段验证需求的准确性和完整性。
三、软件设计与架构软件设计是指根据软件需求进行软件的整体设计和模块设计。
软件架构是指软件系统的基本结构、组成和关系。
常见的软件设计方法包括结构化设计、面向对象设计和敏捷设计等。
结构化设计是基于模块化和层次化的设计方法,将软件系统拆分为多个模块,并定义各个模块之间的接口和关系。
面向对象设计是基于对象和类的设计方法,强调封装、继承和多态性等概念。
敏捷设计是一种快速迭代、持续重构的设计方法,注重简单性、灵活性和可维护性。
四、软件测试与维护软件测试是指对软件系统进行验证和验证的过程,目的是发现和修复软件中的错误和缺陷。
软件考试知识点总结

软件考试知识点总结一、软件开发流程1. 软件需求分析阶段在软件开发的早期阶段,需要对用户的需求进行详细的分析,包括功能需求、性能需求、安全需求等,以便为后续的软件设计和开发提供依据。
2. 软件设计阶段软件设计是将需求转化为软件的过程,主要包括架构设计、模块设计、接口设计等。
在软件设计过程中,需要考虑系统的可扩展性、易用性、安全性等因素。
3. 软件编码阶段软件编码是将设计文档转化为实际的程序代码的过程,需要对编程语言、算法、数据结构等方面的知识有深入的了解。
4. 软件测试阶段软件测试是为了验证软件的正确性、完整性、可靠性等方面的过程,主要包括单元测试、集成测试、系统测试等。
5. 软件部署和维护阶段软件部署是将软件安装到用户的设备上并进行配置的过程,而软件维护则是对软件进行升级、修复漏洞等方面的工作。
二、软件工程原理1. 软件工程概念和原则软件工程是一门应用科学,是将工程原理和方法应用于软件开发的学科。
软件工程的核心原则包括模块化、抽象化、标准化、规模化等。
2. 软件工程模型软件工程模型是描述软件开发过程的一种形式化的方法,主要包括瀑布模型、迭代模型、敏捷开发模型等。
3. 软件质量和质量保证软件质量是衡量软件产品是否符合用户需求和标准的重要指标,而质量保证则是通过测试、评审、培训等手段来保证软件质量。
4. 软件项目管理软件项目管理是对软件开发过程进行计划、组织、指挥、协调和控制的过程,需要对成本、进度、质量、风险等方面进行有效管理。
5. 软件工具和环境软件工具是为了提高软件开发效率和质量而设计的软件,包括编辑器、编译器、调试器、版本控制系统等。
而软件环境则是软件开发过程所需的硬件和软件的集合。
三、软件开发技术1. 编程语言编程语言是软件开发的基本工具,主要包括C、C++、Java、Python、JavaScript等。
2. 数据库技术数据库技术是用于存储、管理和检索数据的一种技术,主要包括关系数据库、NoSQL数据库、数据仓库、数据挖掘等。
软件开发工具重点笔记

软件开发工具理论1.1 软件开发工具的由来1、软件产品的(质量)(效率)(价格)已成为各方面关注的十分重要的问题。
(多选题)2、名词解释:软件开发工具在高级程序设计语言的基础上,为提高软件的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度帮助的一类广泛的软件。
3、简答:如何理解软件开发工具的概念(1)是一类软件,是开发软件用的软件(2)它是在第三代语言的基础上发展起来的。
(3)强调对软件开发全过程中各个阶段的支持,即不仅包含狭义的编程阶段,而是包括了相当广泛的范围和相当丰富的内容。
4、60年代初期的高级语言有(FORTRAN)(ALGOL)(COBOL)。
(多选或填空题)5、第三代语言实现了对机器的(独立性),(抽象)地(逻辑)地描述处理和算法,提高了程序地(移植性)。
(填空题)6、第三代语言地瓶颈-(处理过程的描述)(单选或填空题)7、名词解释:软件危机认识到软件工作地重要性地同时,也认识到了软件工作地困难性。
8、简答:软件的重要性(1)软件是计算机的灵魂(2)软件是使用者与计算机之间的桥梁(3)软件是人类在各个领域中积累的知识的结晶(4)软件是人类文明与知识得以延续的新的载体(5)软件是人类进一步成为一个整体,得以进一步相互联系的纽带9、简答:软件的困难性(1)人类社会和客观世界的复杂性,决定了软件本身的复杂性(2)人类知识的丰富多彩,决定了软件的极大的多样性(3)客观世界的动态性,决定了软件对可维护性、可重用性越来越高的要求。
10、通用软件的弱点(1)有许多工作是通用软件所无法完成的(2)用通用软件完成某些工作,只能表现其表面的形式,而不能反映其逻辑内涵(3)用通用软件来帮助人们完成软件开发工作时,常常遇到难于保持一致性的困难11、属于专用软件开发工具的有(代码生成器:报表生成器、菜单生成器、对话生成器)(第四代语言)(数据字典管理系统DDMS)(画数据流程图、ER图或程序框图的绘图软件)(多选题)12、进入集成的软件开发环境阶段的标志是IBM公司(AD/Cycle理论框架的提出)(单选题)1.2软件开发工具的概念1、简答:软件开发工具概念的要点(1)它是在高级程序设计语言之后,软件技术进一步发展的产物(2)它的目的是人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助(3)它支持软件开发的全过程,而不是仅限于编码或其它特定的阶段2、认识软件开发工具的概念,应同时认识它的(继承性)与(创造性)(填空题)3、指令是人们在实践中形成的工作(规范)与(步骤)(填空题)4、软件应当包括(程序)和(文档)两个不可缺少的组成部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发工具-知识点整理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、购买软件开发工具时的市场调查应当包括哪些内容?开发工具的功能;这些工具的性能;这些工具所使用或依据的开发方法或开发理论是什么,与自己的方法理论是否一致;这些工具运行环境是什么?这些工具的文档资料是否齐全?使用时的学习、掌握是否简单易行?这些工具的服务、培训条件如何?价格。