首页 > 编程知识 正文

自考本科软件开发,自考软件工程笔记

时间:2023-05-06 11:57:52 阅读:227737 作者:4399

第1章绪论

1.【简答题】软件开发工具:

在高级程序设计语言的基础上,为提高软件的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度帮助的一类广泛的软件。

2.【简答题】如何理解软件开发工具的概念:

(1)是一类软件,是开发软件用的软件

(2)它是在第三代语言的基础上发展起来的。

(3)强调对软件开发全过程中各个阶段的支持,即不仅包含狭义的编程阶段,而是包括了相当广泛的范围和相当丰富的内容。

3.【选择题】(20世纪60年代)初期的高级语言有(FORTRAN)(ALGOL)(COBOL)。

4.【填空题】第三代语言地瓶颈-(处理过程的描述).第三代语言实现了对机器的(独立性),(抽象)地(逻辑)地描述处理和算法,提高了程序地(移植性)。第四代语言——(非过程化语言的思想)。

5.【简答题】软件的重要性:

(1)软件是计算机的灵魂

(2)软件是使用者与计算机之间的桥梁

(3)软件是人类在各个领域中积累的知识的结晶

(4)软件是人类文明与知识得以延续的新的载体

(5)软件是人类进一步成为一个整体,得以进一步相互联系的纽带

6.【简答题】软件的困难性

(1)人类社会和客观世界的复杂性,决定了软件本身的复杂性

(2)人类知识的丰富多彩,决定了软件的极大的多样性

(3)客观世界的动态性,决定了软件对可维护性、可重用性越来越高的要求。

7.【选择题】进入集成的软件开发环境阶段的标志是IBM公司(AD/Cycle理论框架的提出)。

8.【填空题】进入21世纪以来,第一个特点是:面向网络。第二个特点是:开源软件。

9.【简答题】软件开发新阶段的特点(表现):

(1)自动化程度的提高

(2)这一阶段的工作明确地把需求分析包括进了软件工作地范围之内,从而使软件开发过程进一步向用户延伸,离用户更近了。

(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程地局限,而扩展到了作为一个不断发展地客体生长完善地全过程。

(4)这一阶段的研究吸收了许多管理科学的内容与方法

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

11.【填空题】软件开发工作的起点是初始要求的提出。

12.【填空题】总体设计文件应包括结构图,模块清单,公用数据结构。程序的编写与文档的编写是两件并行的工作。

13.【简答题】软件开发工具的功能要求:

(1)认识与描述客观系统

(2)存储及管理开发过程中的信息

(3)代码的编写或生成

(4)文档的编制或生成

(5)软件项目的管理

14.【简答题】软件开发工具的性能:

(1)表达能力或描述能力:选择软件开发工具时首先要考虑的

(2)保持信息一致性的能力

(3)使用的方便程度

(4)工具的可靠性  

(5)对硬件和软件环境的要求  :

15.【填空题】按工作阶段划分:设计工具,分析工具,计划工具。

第2章软件开发过程及其组织

1.【简答题】软件开发的基本问题(单个程序员遇到的问题)

(1)第一个转换是用户对软件功能的理解与程序员对软件功能的理解之间的转换

     手段:用尽可能标准化的方法编写程序设计任务书

(2)第二个转换解决的是人和机器之间的交流与协调问题:人和机器之间的思维方式、工作方式上都有许多根本的区别。

     关键在于程序员的知识水平与实际经验

2.【简答题】大型软件开发中的困难

(1)一致性的保持成为十分困难的问题

(2)测试的困难大大增加。

(3)工作进度难以控制

(4)文档与代码的协调十分困难

(5)版本更新带来的困难

3.【简答题】大型软件开发困难产生的原因

(1)这些困难来自大系统的复杂性

(2)许多具有主动性的个人之间的组织与协调本身也会带来大量的困难

(3)各个应用领域之间的差别也导致这些困难的加重

(4)时间的因素、变化的因素也给软件开发工作开来许多困难

4.【填空题】结构化程序设计:把程序的结构分解成三种基本模块:处理单元、循环机制、二分决策机制

5.【简答题】如何实施结构化程序设计的思想?

(1)限制甚至不用GOTO语句,绝对禁止超越模块边界的GOTO语句

(2)子程序尽可能做到只有一个入口、一个出口

(3)程序风格尽量明确、清晰

(4)在程序编写的同时完成有关的文档编撰,不要拖延时间

6.【选择题】结构化程序设计方法主要是为(程序员)服务的。

7.【填空题】客观世界的任何事物都是对象,它们都有一些静态属性,也都有一些有关的操作。作为一个整体,这些对象对外不必公开这些属性与操作,称为“封装性”

8.【填空题】即插即用 在软件生产过程中,一部分人专门生产软件组件,而另一部分人则设计整个软件的结构,并且把软件组件插入这个结构,以便迅速地完成大型软件地研制工作。

9.【选择题】尽量避免逻辑耦合,而仅限于数据耦合。

10.【简答题】

好软件:

1.预定的输出

2.界面友好

3.可靠性

4.代码易读,文档齐全

5.速度快,处理快

好程序员:

1.基本知识和技能

2.开发领域有所了解

3.技术环境熟悉

好项目组:

1.工作规范,文档标准

2.严格的分工

3.时间表

项目组中的一员必须具有高度的(组织纪律性)和(团队精神

如何建立一个好的项目组:

1.有严格的、成文的工作规范和文档标准。

2.分工明确

3.制定计划时间表

 

第3章软件开发工具的理论基础

1.【简答题】软件开发过程中涉及的信息主要有哪些?

(1)有关系统环境、现状及需求的信息。由用户提出。

(2)有关软件的功能设计与物理设计的各种信息。由分析人员设计。

(3)软件成果本身,包括程序与文档。由程序员编制。

(4)用户对系统的各种变更要求,以及系统的各种变更的记录。

前三类是一个开发周期内形成的,第四类信息是跨越开发周期的。(选择)

2.【简答题】用户界面的基本原则
(1)用户界面的主要功能是通信。

(2)界面必须保持一致

(3)界面必须使用户随时掌握任务的进展状况

(4)界面必须能提供帮助

(5)能可让程序多干,不可以让用户多干

3.【填空题】人机界面设计时主要(灵活性)和(一致性)矛盾的权衡。

4.【填空题】人机交互手段的八个方面:键盘操作、屏幕滚动、菜单选择、帮助系统、鼠标操作、色彩应用、数据录入、信息显示。

5. 【简答题】简述时序网络的作用:

主要用于描述系统状态及其转换方式,因此常常用于一些实时控制方面的软件的功能。它的基本概念是状态与转换。

6. 【简答题】信息库的主要内容:

       1.有关软件外部环境信息

       2.逻辑设计阶段文档和系统说明书。

       3.系统设计阶段的文档

       4.编码阶段的所有成果

       5.运行与使用情况的详细记录

       6.维护记录

       7.项目管理与版本管理信息(有关信息,人员变更,资金投入,进度计划,实施情况)

7.【简答题】项目管理的特点

(1)子任务多,关系复杂

(2)任务不可重复,形势不断变更

(3)协调组织的任务十分突出,资源浪费闲置的风险与合理地优化组合、提高效益的机会并存。

(4)信息处理工作的作用与意义更为突出。浪费和效益究竟何者成为现实,取决于指挥决策的正确与否,而决策的正确则立足于这种管理工作。

8.【简答题】项目管理的任务(目标)

(1)使产品(或工程)的质量得到有效的控制。

(2)保证整个系统按预定的进度完成。

(3)有效地利用各种资源,尽可能使资源的闲置与浪费减少。

(4)控制与降低成本。

9.【选择题】项目管理中方法有工程计划网络方法,如棒状图检查点方法排队论等。

第4章软件开发工具的技术要素

1.【简答题】软件开发工具的基本功能

(1)提供描述软件状况及其开发过程的概念模式,以协助软件开发人员认识软件工作的环境与要求、合理地组织与管理软件开发的工作过程。

(2)提供存储和管理有关信息的机制与手段。

(3)帮助使用者编制、生成及修改各种文档。

(4)帮助使用者编写程序代码,即代码生成。

(5)对于历史信息进行跨生命周期的管理,把项目运行与版本更新的有关信息科学地管理起来。

2.【简答题】软件开发工具的一般结构

(1)总控部分和人机界面:处于中心位置,是整个工具的信息入口和调度中心,是使用者和软件开发工具之间交流信息、实现所有的支持功能的桥梁。

(2)信息库及其管理:信息库的结构框架反映了人们对软件产品及软件开发过程的基本看法,信息库内容的丰富程度则是软件开发工具的功能与作用的最根本的保证。

(3)代码生成和文档生成:是软件开发工具的两种主要输出功能,是最重要的两个信息出口。

(4)项目管理和版本管理:跨越生命周期的信息管理

3.【填空题】软件开发工具的技术原则:面向使用者、保证信息的准确传递、保证系统的开放性或灵活性

4.【简答题】简述信息库中保存的设计阶段资料的内容:

第二类信息是设计成果,包括逻辑设计与物理设计的成果。主要包括数据流程图、数据字典、系统结构图、数据库的逻辑设计、各模块的设计要求以及由此形成的设计文档。

5.【简答题】信息库的管理功能

(1)具备一般的数据库的管理功能:录入更新、使用查询、一致性维护等

(2)与一般数据库管理系统不同的两点:

1)  信息之间逻辑联系的识别与记录

2)  如何实现定量信息与文字信息的协调一致

6.【简答题】项目管理的范围

(1)研究与确定开发工作的方针与方法

(2)开发任务的划分与分工

(3)资源状况,即有多少人力、物力、设备、软件、资金,它们现在都在做什么,是否得到充分利用,是否需要增加投入

(4)人员情况,每个人的进度如何,技术水平如何,是否需要重新培训,是否需要调动工作

(5)变更情况,需求有什么变更,环境有什么变更,人员有什么变更,在开发期间设备与技术有什么变更

(6)质量情况,检验的标准是什么,如何检验,由谁来检验,用什么数据检验

7.【填空题】版本信息包括(版本的编号)(功能改变)(模块组成)(文档状况)(退出时间)(用户数量)(用户反映)(封存情况)

第5章软件开发工具的使用与开发

1.【简答题】购置与开发软件开发工具的权衡因素

(1)取决于准备开发的软件的性质与要求,这是决定购置还是自行开发的最基本的因素。

(2)取决于开发人员对支持工作与支持程度的实际需要。

(3)工作环境也是决定购置工具还是自制工具的一个重要因素

(4)人员的因素也是必须考虑的。

2.【简答题】引入软件开发工具后的组织管理工作有哪些

(1)制定严格的使用制度

(2)纪录使用的详细过程

(3)培训使用人员

(4)经常进行审计与评价工作

3.【简答题】软件开发工具的购置方法与步骤

(1)明确购买软件开发工具的目的与要求,这是正确使用软件开发工具的基础工作

(2)明确购买软件工具的环境条件与制约条件

(3)市场调查

(4)对于可供选择的各种工具进行综合比较

(5)进行测试和检验

(6)正式签约购置

(7)安装与试用

4.【简答题】自发研制软件开发开发工具注意的问题

(1)首先需要从实际出发,设定现实的、有限的目标

(2)自行开发工具一定要坚持短小实用、逐步积累,避免期望过高、贪大求全。

(3)要注意文档的齐全与资料的积累

(4)开发面向实际应用领域的、商品化的软件开发工具,其难度要比开发为自己用的工具大得多

第6章软件开发工具的现状与发展

1.【简答题】软件开发工具的发展趋势

(1)智能化:就是在软件开发工具的研究与使用中引入人工智能、神经网络等技术,使得软件开发工具对于不确定的信息、模糊信息具有更强的处理功能。(名词解释)

(2)网络化:网络的应用是计算机应用领域中的一个重要方向,目前利用网络提供条件提高工作效率的软件开发工具,以及在网络上开发应用软件工具,正在成为当前发展的一个热点。

(3)一体化:一体化的趋势在80年代后期已经十分明显,进来关于信息库的内容及处理功能的讨论,从理论上为实现一体化提供了基础。

(4)标准化:标准化的问题是由软件部件、组合软件的想法引起的,为了解决大型软件开发的困难,需要把软件开发工作分成两部分:软件构件的开发和用这些构件组成大型软件,要做到这一点,软件构件必须实现标准化,用构件组成的大型软件的结构也必须符合一定的标准,否则就不可能提高生成效率。

如何使用CSS设置div半透明的效果

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。