软件工程--复习材料(1)

软件工程--复习材料(1)
软件工程--复习材料(1)

一、填空题:

1.软件测试通常有两种方法,一种是从功能上的测试,也称为黑盒测试,一种是从结构

上的测试称为白盒测试。P151

2.软件生命周期通常由问题定义、可行性研究、需求分析、总体设计、详细设计、编码

和单元测试、综合测试、软件维护等阶段构成。P11

3.数据字典的内容通常由4类元素的定义组成:数据流、数据流分量(即数据元素)、

数据存储、处理。P47

4.用面向对象方法开发软件,通常需要建立3种形式的模型:对象模型(静态结构)、

动态模型(交互次序)、功能模型(数据变换)。P232

5.由数据元素组成数据的方式有三种基本类型顺序、选择、重复。P48

6.一个大型软件系统的测试过程基本上由五个步骤组成:模块测试、子系统测试、系统

测试、验收测试、平行运行。P151

7.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不用的整个时期。通

常,软件生存周期包括问题定义、可行性研究、需求分析、设计编码、编测试、运行和维护活动,可以将这些活动以适当方式分配到不同阶段去完成。 P11

8.大型软件测试包括模块测试、子系统测试、系统测试、验收测试四个步骤。P151

9.软件详细设计工具可分为3类,即图形、表格、语言。P124

10.数据流图的基本四种成分:符号、例子、命名、用途。P40

11.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此

导出测试用例。

12.软件过程模型也被称为软件生命周期模型,常用软件过程模型有瀑布模型、快速原型

模型、螺旋模型、增量模型、喷泉模型。

13.在设计构件的过程中,应尽量使用数据耦合,少用控制和特征耦合,完全不用内容耦

合。P98

14.软件开发过程模型主要有瀑布模型、快速原型模型、螺旋模型、增量模型、喷泉模型

等。

15.对象的基本特点是以数据为中心、对象是主动的、实现了数据封装、本质上具有并行

性、模块独立性好。P210

16.软件生命周期由三个时期组成:软件定义时期、开发时期、维护时期。

17.可行性研究通常从三方面研究每种解法的可行性技术可行性、经济可行性、操作可

行性。

18.面向数据流的设计方法把信息流映射成软件结构,信息流的类型主要有两种变换流、

事务流。

19.大多数系统的面向对象设计模型,在逻辑上都可以分解成4大部分:人机交互部分、

问题域部分、任务管理部分、数据管理部分。

20.在软件进行集成测试中,当使用渐增方式把模块结合到程序中去时,有自顶向下、自

底向上两种集成策略。

21.软件生命周期由软件定义时期、开发时期、维护时期三个时期组成。进一步划分,可

分为问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护等阶段构成。

22.软件开发范型主要有瀑布模型、快速原型模型、螺旋模型等。

23.软件开发方法学可分为传统方法学、面向对象方法学等。

24.传统方法学中,建立分析模型,主要建立数据模型、行为模型、功能模型三类模型。

25.增量集成主要有自顶向下、自底向上两种集成方式。?

26.估算技术主要分为两大类:分解和经验建模。

27.根据测试的步骤和规模,可以把测试分为单元测试、集成测试、确认测试。

二、名词解释:

1、软件危机及其典型表现:是指在计算机软件的开发和维护过程中所遇到的一系列严重

问题。1.对软件开发成本和进度的估计常常很不准确。2.用户对已完成的软件系统不满意的现象经常发生。3.软件产品的质量往往靠不住。4.软件常常不可维护的。5.软件通常没有适当的文档资料。6.软件成本在计算机系统总成本中所占的比例逐年上升。

7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

2、面向对象设计的准则:模块化、抽象、信息隐藏、弱耦合、强内聚、可重用。

3、耦合:是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接

口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。P97

4、软件复用:是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护

的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决

定、体系结构、需求、设计、代码和文档等一切有关方面。

5、软件工程:是指导计算机软件开发和维护的一门工程科学,采用工程的概念、远离、

技术和方法来开发与维护让un见,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。6、模块化:就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,

把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。P94

7、内聚:标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念

的自然扩展。

8、软件工程工具(CASE)

9、进度计划:将使产品满足顾客和期望的任务、分配、事件的进度列出的计划、安排进

度计划的目的是为了控制时间和节约时间,而项目的主要特点之一即是有严格的时间期限要求,由此决定了进度计划在项目管理中的重要性。

10、黑盒测试:是在程序接口进行的测试,它只检查程序功能是否按照规格说明书的规

定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性。把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。

11、白盒测试:它的前提是可以把程序看成装在一个透明的白盒子里,测试这完全知道

程序的结构和处理算法。这种方法按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。

三、判断题:试判断下列说法是否正确

1.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(×)

2.发现错误多的程序模块,残留在模块中的错误也多。(×)

3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。(×)

4.软件维护就是改正软件中的错误。(×)

5.质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动。(√)

6.软件开发的主要任务是写程序。(×)

7.测试只能证明程序有错误,不能证明程序没有错误。(√)

8.模块化程序设计中,模块越小,模块化的优点越明显。一般来说,模块的大小都在10

行以下。(×)

9.在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要像写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排,等等。(×)

10.程序设计风格指导原则提出,尽量多使用临时变量。(×)

11.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√)

12.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(×)

13.软件模块之间的耦合性越弱越好。(√)

14.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(×)

15.过程描述语言可以用于描述软件的系统结构。(×)

16.如果通过软件测试没有发现错误,则说明软件是正确的。(×)

17.快速原型模型可以有效地适应用户需求的动态变化。(√)

18.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(×)

19.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√)

20.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。(×)

21.软件项目管理先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。(√)

22.对于规模较大的软件项目往往编码开始得越早,最终完成开发工作所需要的时间就会越短。(×)

23.需求分析的任务是…。()它的基本任务是准确地回答“系统必须做什么?”这个问题。

24.数据字典的作用……。()P47

25.在面向对象的设计方法中,……..()

26.源程序是软件配置的一个成分,用代码行技术……()

27.如果软件通过黑盒白盒测试……。()P162 171

28.模块接口复杂是……。()

29.软件维护需要的工作量……。()

30.可行性研究的主要目的……。()P35

31.可行性分析主要是……。()P35

32.面向对象分析,就是……。()P231

33.扇出是………。()

34.软件中使用的可重用构件越多,软件的可靠性越差。(×)

35.对象模型表示了…………。()

四、论述题:

1、耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?

耦合性7种由高到低内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合

内聚性7种由高到低功能内聚、顺寻内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶当内聚。

2、分析软件危机产生的主要原因有哪些?

a) 软件不同与硬件,是逻辑部件; b) 软件规模庞大,逻辑结构复杂;

c) 软件开发人员和管理人员只重视设计程序而轻视用户的需求分析,导致最后研制出

的软件产品无法满足用户的需求;

d) 软件设计技术和管理技术落后,没有统一的软件质量管理规范;

e) 在软件的开发与维护关系问题上存在错误的概念,重视开发,而轻视维护。

3、耦合性和内聚性有几种类型? 其耦合度、内聚强度的顺序如何?

4、可行性研究的主要目的不是解决问题,而是确定问题是否值得去解。

答:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。主要从技术可行性、经济可行性、操作可行性和法律可行性4个方面考虑。

5、软件的质量主要是由编码阶段决定的。

编码是软件项目实例化的根本途径。目标:按照系统设计阶段产生的文档,进行软件系统功能开发,整合各个功能模块,实现系统的集成运行,并满足需求分析阶段提出的性能要求。任务:将详细设计的结果转化为用具体程序设计语言编写的程序代码。6、测试的目标是为了验证软件正确性。

测试是为了发现程序中的错误而执行的过程,好的测试方案是极可能发现迄今为止尚未

发现的错误的测试方案,成功的测试是为了发现至今为止尚未发现的错误的测试。是为了发现错误不是验证正确性。

7、向一个拖延的项目中增加人手,可以非常有效地加快进度。

这是错误的,项目成功的关键是有高素质的软件开发人员和配合的亲密无间的团队。如果随意的增加人手,会照成之前的开发团队合作被破坏,造成资源的浪费。

8、针对软件危机产生的原因,阐述解决软件危机的途径。

这些情况是由软件危机导致的,导致软件工程发生的主要原因为(1)软件的规

模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产率提高缓慢。解决软件危机的办法是:(1) 充分吸收和借鉴人类长期以来从

在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。 (2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,

(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段

使用的软件工具集合成一个整体,形成一个很好的软件开发环境。

9、结合专业实训、见习、实习经历,阐述软件团队开发中团队协作的重要性。

10、某企业可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不

是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨9,如果是本地电话再接着拨8位电话号码(第一位不是0),如果是外地电话则先拨3位区码,再拨8位电话号码(第一位不是0)。试采用数据字典定义数据的方法,定义上述的电话号码。

电话号码=[校内电话号码|校外电话号码]

校内电话号码=非零数字+ 3 位数字 //后面继续定义

校外电话号码=[本市号码|外地号码]

本市号码=数字零+8位数字

外地号码=数字零+3位数字+8位数字

非零数字=[1|2|3|4|5|6|7|8|9]

数字零=0

3位数字=3{数字}3 //3至3个数字

8位数字=非零数字+7位数字

7位数字=7{数字}7

数字=[0|1|2|3|4|5|6|7|8|9]

11、在面向对象分析过程中,建立动态模型需要经过哪些步骤?

1、编写脚本

2、从脚本中提取时间

3、排列事件中的次序,确定每个事件的动作对象以

及对象有可能的状态以及状态见的转换4、检查一致性。

12、软件的可维护性与哪些因素有关?在软件开发过程中应该采取哪些措施来提高软

件产品的可维护性。

决定软件可维护性的因素主要有可理解性、可测试性、可修改性、可移植性和可重用性。

提高软件产品可维护性的措施有:在各个阶段着重对可维护性进行复审,并指明将来要改进和可能修改的部分;讨论软件的可移植性问题并考虑可能影响软件维护的系统界面;再设计和编码过程中应尽量使用可重用的软件构件等。

五、综合能力题:

1、画出下列PDL程序的程序流程图、盒图:

IF X>100 THEN

WHILE X>0 DO X=X-10

END DO

ELSE

BLOCK

X=X+10

PRINT X

END BLOCK END IF

STOP

2、某程序流程图如右图所示,是一个被测试模块的处理算法。当进行条件覆盖测试时,若所有条件如下:

(1)A>1 (2)A≤1 (3)B=0 (4)B≠0

(5)A=2 (6)A≠2 (7)X>1 (8)X≤1

要使得白盒测试覆盖Sacbd、sacbed、

sabed、sabd路径,

应选择(1)—(8)中的哪些条件,

并给出一组测试数据。

答:

选择(1)(3)(5)(7)

数据 A=2 B=0 X=7

3、某高校制定了教师的课时津贴标准。对于理论课,无论教师是什么职称,每课时津贴费一律是20元;对于讲座课,则根据教师的职称来决定每课时津贴费:教授200元,副教授100元,讲师80元,助教50元。请用判定树表示津贴标准。

4、有如下程序流程图,请用白盒测试中的条件覆盖的方法设计测试用例,并填入下表中(10分)(1)(5分)

b d

c

e

(A>1)^ (B=0)

X=X/A

T

F

(A=2)V(X>1)

X=X+1

T

F

软件综合课程设计报告模板

(课程设计封皮一页上用已经设置好的宋体四号来填写各个项目。) 计算机软件综合 课程设计报告 学院、系:吉林大学珠海学院计算机科学与技术系 专业名称:2015级软件工程专业课程设计科目:计算机软件综合课程设计 题目:******* 系统 学生姓名:(小组所有成员的学号、姓名) 指导教师: 完成时间:2017年9月—2018年1月

目录 1引言 (4) 1.1编写目的 (4) 1.2背景说明 (4) 2 需求分析 (4) 2.1系统总体目标 (4) 2.2 系统功能 (4) 2.3数据需求 (4) 2.3数据流图 (5) 3 数据库概念结构设计 (5) 3.1系统E-R模型 (5) 3.2模块E-R模型 (5) 4 数据库逻辑结构设计 (5) 4.1 逻辑结构设计 (5) 4.2物理结构设计 (6) 5 安全性设计 (6) 5.1 身份验证模式 (6) 5.2 登陆管理 (6) 5.3 权限管理 (6) 6 源代码及其实现 (7)

5.1 系统开发技术 (7) 5.2 模块1设计及其实现 (7) 5.3 模块2设计及其实现 (7) 7 总结 (7) 6.1 课程设计心得体会 (7) 6.2 建议 (7) 8 参考文献 (7)

题目(三号,黑体,居中) 说明:一组只写一份报告,即下面内容,自己也可以根据实际情况进行调整和补充。 每个人写一份《课程设计成绩评定表》附在后面。 1引言 1.1编写目的 1.2背景说明 1.系统名称:公交查询系统 2.该项目的提出者:************ 3.开发者:********** ********* 4.运行该软件的单位:公交公司及广大乘客 2需求分析 2.1系统总体目标 2.2 系统功能 详细阐述系统的用户类型及其所属主要功能 2.3数据需求 根据系统功能整理出出系统中和数据相关的信息,要列出数据的详细信息。

最新公司内部管理系统资料

内部管理系统(人事管理系统+客户关系管理系统) 需 求 分 析 说 明 书 2015.10.9

一、人事管理系统部分 1、系统人员类型 公司的人员类型有以下几种:普通员工、部门经理、总经理、人事部经理和人事助 2、系统基本功能图解 2.1 基本机构图

2.2用例图解

3、功能详情 3.3.1 登录页面 需要登录的人员,对于不同的身份,他们的权限是不一样的。当用户输入ID和密码时,查询数据库,如用户名和密码正确,则进入相应的员工信息页面,若不正确,则提示用户用户名或密码错误,仍显示当前页面

3.3.2 查询员工资料 该模块主要查看自己/同事的资料,以更好促进公司员工之间的相互了解。同时也可以修改自己的部分信息。 主要功能包括: ●查询自己的详细信息:员工ID、员工姓名、电子邮件、所在部门名称(不是部门ID)、经理、 分机和自我介绍等 ●修改自己的自我介绍 ●修改自己的登录密码 ●查询、搜索其他同事的相关信息 3.3.3 员工资料管理 人事部门负责维护员工的基本资料。当员工第一天来公司报道时,人事部门将员工的基本资料(姓名、性别、出生日期、电子邮件及所属部门等)录入到数据中,并打印一份报道单给员工,上门列出了该员工的登录ID、公司邮件的地址、该员工的部门名称以及该员工的同部门同事列表。 主要功能包括: ●添加/修改/删除员工 ●按任意条件搜索员工(支持模糊查询) ●打印员工报道单 上传/修改员工的照片。

3.3.4请假模块 请假申请: 员工根据工龄享受年假。如果员工是本年度才加入公司的,则需根据报到日期按公司规章制度计算假期期数。员工请假不可以超过规定的请假小时数。员工可以通过本模块提交/查看/取消申请。 主要功能包括: ●显示员工本人年假总小时数、已使用小时数、当前可用小时数 ●用日历的方式显示可请假的日期,并突出显示国定节假日 查看员工本人某段时期内的请假记录、申请、批准状态等。 请假审核: 该模块只允许经理访问。经理可以查看下属的请假记录,批准/否决其中申请。 主要功能包括: ●显示经理下属名单 ●显示某段时间内所有/部分员工的请假记录汇总,包括年假总数、已使用小时数、当前可用小时 数、请假理由 显示当前所有待批准的请假记录,可以在上面执行“批准/否决”操作 请假管理: 人事部可以查看公司所有员工的请假记录,同时可以设定国定假日。 主要功能包括: ●设定国定假日 ●按部门汇总某段时期内的请假记录。 请假功能流程图:

软件工程期末试题(含答案)解析

填空题(每空 1 分,共25 分) 1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试 和运行和维护。 2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。 3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案 可行性等方面研究。 4.系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式 描绘系统里面的每个部件 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据 存储文件。 6.结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据 流图DFD_与_ 数据字典_来描述。 7.继承性是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为 3 类,即_图示工具_、_设计语言_和_表格工具_。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___ 测试_。 10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。单项选 择题(每小题2分,共20 分) 1.软件设计中划分模块的一个准则是( C )。 A、低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D. 高内聚高耦合 2.Jackson 设计方法是由英国的M. Jackson 提出的,它是一种面向( C )的软件设计方法。 A 、对象 B.数据流 C.数据结构 D.控制结构 3.试判断下列叙述中,哪个(些)是正确的( C )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B 、b C 、c D 、 b 和 c 4.( A )是用户和设计交换最频繁的方法。 A 、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型 5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主 要保证是( C )。 A 、硬件环境 B 、软件开发的环境 C. 软件开发工具和软件开发的环境D 、开发人员的素质 6.20 世纪50 年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言 ( D )。 A、PASCAL B、VISUAL BASIC C. C++ D、汇编语言 7.软件测试的目的是?( D ) A 、证明软件的正确性 B. 找出软件系统中存在的所有错误 C.证明软件系统中存在错 误 D. 尽可能多的发现软件系统中的错误 8.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。A、程序的内 部逻辑 B 、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 9.软件维护工作的最主要部分是( C )。

软件工程基础知识考试资料

专题七:软件工程专题 1、软件工程知识 1.1概述 软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、减低软件成本。 软件工程是1968年在德国的NATO会议上提出的,希望用工程化的原则和方法来克服软件危机;而软件危机就是软件开发和维护过程中的各种问题,由于软件开发阶段缺乏好的方法的指导和好的工具的辅助,而且缺少有关的文档,使得大量的软件难以维护。 软件生命周期是指由软件定义、软件开发和软件维护等阶段组成的全过程,反映软件生存期内各种工作得组织以及各个阶段如何衔接。下表归纳了软件生存周期各个阶段的任务、参与人员和产生文档。

现功能的扩充和质量的改善而 修改软件 软件由计算机程序、数据及文档组成,同时与硬件、数据库人、过程等共同构成计算机系统。软件工程包括三个要素:方法、工具和过程。 主要的软件开发方法有以下几种方法: 生命周期法:命周期法认为:每一个软件系统都有一定的生命周期。软件的生命周期是指一个软件系统从其提出、调查到分析、设计和有效使用,直至被淘汰或取代的整个期间。软件生命周期法就 是按软件生命周期的各个阶段划分任务,按一定的规则和步骤,有效地进行软件开发的方法。 通常一个软件系统的生命周期可分为五个阶段:准备阶段、分析阶段、设计阶段、实施阶段、运行与维护阶段 原型法:原型法是先根据用户的最主要要求,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,反复修改完善原型,直到等到用户满意的最终系统为止。 原型法分4个阶段:确定用户需求;设计原型;使用、评价原型;修改、完善原型。 1.2软件分析 软件开发模型:瀑布模型;演化模型(原型法);螺旋模型;喷泉模型(迭代和无间隙);软件成本模型;可行性分析的任务是从技术上、经济上、使用上、法律上分析需解决的问题是否存在可行的解。 需求分析是软件生存周期中相当重要的一个阶段。需求分析主要是确定待开发软件的功能、性能、数据、界面等要求。具体有以下几点: ?确定软件系统的综合要求 ?分析软件系统的数据要求 ?导出系统的逻辑模型 ?修正项目开发计划 ?如有必要,可开发一个原型系统 需求分析的基本原则是能够表达和理解问题的信息域和功能域;以层次化的方式进行分解和不断细化;要给出系统的逻辑视图和物理视图; 描述软件需求的方法: 功能层次模型:一般来讲就是系统的功能图,模块分布图等描述整个系统的功能的分布和功能的 层次结构; 数据流模型:就是以数据流为着眼点的分析方法得到的模型,主要通过数据在整个系统的流动情况来确定系统的主要功能主线和流程; 控制流模型:通过了解和界定系统中控制线,通过控制流的走向和控制的对象来确定系统的功能分布和控制与被控制的关系; 结构化分析(SA)方法是一种面向数据流的需求分析方法,它适用于分析大型数据处理系统。结构化分析方法的基本思想是自顶向下逐层分解,这样做可以把一个大问题分解成若干个小问题,经过多次逐层分解,每个最底层的问题都是足够简单、容易解决的,这个过程就是分解的过程。 结构化方法的分析结果由数据流图DFD、数据词典和加工逻辑说明几个部分组成。其中,DFD的基本成分有数据流(data flow)、加工(process)、文件(file)和源/宿(source/sink)。 ?画数据流图的基本步骤:自外向内、自顶向下、逐层细化、完善求精; ?数据流图的父图与子图要平衡, 即输入和输出的数据流一致; ?数据流图中的每个加工至少有一个输入数据流和一个输出数据流; ?局部的数据存储不画出来,只有当局部数据存储作为某些数据加工之间的数据接口才画出,这 有利于信息隐蔽; ?画数据流的时候不画控制流,两者的区别就是控制流中没有数据; ?一个加工的数据流与输出流不应该同名; ?允许一个加工有多条数据流流向另一个加工,也允许一个加工有两个相同的输出流向两个不同 的加工; ?保持数据守恒:一个加工的所有输出数据必须能从该加工的所有的输入流中获得; ?在整套数据流图中,每个文件都必须既有读文件的数据流也有写文件的数据流; 软件开发过程中的软件工程原则(8个): ?抽象; ?自顶向下、逐层细化; ?信息隐蔽和数据封装; ?模块化;

软件工程课程设计报告——人事管理系统

软件工程课程设计 题目人事管理系统 系计算机系 专业班级软件工程(动画方向)(2)班 学生姓名贾秋洪 学号20082358069 指导教师姜青山 2010 年6 月18 日 1.课程题目 人事管理系统设计 2.概述 2.1本课题的来源 A公司是一家以寿险营销为目的的寿险公司,公司员工众多业务流量大,为了方便管理,我制作了一个人事管理系统。主要

通过员工基本信息录入、修改、查询、删除以及员工考勤等方面来对员工综合考评。以便对员工发放工资进行合理分配。这样能提高领导的人事管理水平还能提高员工的积极性。通过现代计算机技术与企业管理相结合,实现人事管理系统的科学化、信息化、现代化,并且适合一般人群使用。 企业人事管理是相对企业内部员工的管理。集人员、考勤、工资、员工培训、系统功能等于一体的大型管理系统,为公司在人事管理等方面提供极大的方便。本软件是以中小型企业为背景而设计开发的,界面美观、使用方便。本系统主要以人员管理、考勤管理、统计分析管理、工资核算等,是企业人事管理必不可缺的好帮手。 2.2本课题目的、实现功能与预期成果 2.2.1目的 目前市面上流行的人事管理系统不少。但是,对于A公司来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。 2.2.2实现功能 能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方

面的工作,基本满足人事日常业务的需要。 2.2.3预期成果 所做出的人事管理系统能让A公司管理层在操作简单的前提下并有效的提高对该公司的人事管理,并通过该系统提高员工的能力。尽量使本系统做到是一个科学化、信息化、简单使用的人事管理系统。 3.系统分析 3.1系统调研 正式开发管理信息系统之前进行调研是非常必要的,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。 3.2可行性分析概述 可行性分析是在A公司的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。 可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。 可行性分析阶段的主要工作包括以下几个方面:

软件系统项目建设项目管理文档

目录 1.项目管理 (1) 1.1项目范围管理 (1) 1.2项目时间管理 ......................................................................... 错误!未定义书签。 1.3项目里程碑 (6) 1.4培训方案 (6) 1.5技术支持与售后服务 (7) 1.6项目进度管理 (8) 信息系统项目建设项目管理文档 1.项目管理 1.1项目范围管理 (1)概述 项目范围管理就是要明确项目目标是什么,界定哪些工作必须做,并将项目目标分解到可以独立分包的程度,形成工作分解结构(WBS),并以此作为控制项目范围变更的基准。即项目范围管理是确保项目包含且只包含项目所必须完成的工作。 很多项目经常由于有做不完的报表、解决不完的问题而导致项目无法验收,很大一部分原因就是因为项目的范围没有定义清楚或者项目范围经常发生无可控制的变更所致。事实证明,缺少正确的项目范围定义和范围的核实是导致项目失败的主要因素。 因此,项目管理最重要的也是最难做的一项工作就是确定项目范围,并使项目范围在控制中,这就是项目范围管理的范畴,即项目范围管理就是项目该做什么,不该做什么,以及确保该做的事情必须做到,不该做的事情不能做。 在项目的规划阶段和蓝图设计阶段的前期,我们通过售前阶段的资料和项目

现场的需求调研,确定项目该做什么,这就是经常说的定义项目范围。 (2)管理内容 1、定义项目范围 1)定义项目范围重要的参考资料和依据一般如下: ●项目售前实施方案; ●项目主合同; ●许可软件通用条款及清单; ●咨询实施服务和工作任务书; ●支持服务条款; ●战略合作承诺书; ●建设单位内部正式发问的项目实施意见书。 2)口头承诺 定义范围除了依据上述可见的项目资料外,售前阶段的一些口头承诺也是定义项目范围的重要信息来源,因此在项目准备阶段与售前进行内部交接时,一定不能忘记交接口头承诺的内容,实践证明,口头承诺的往往是在项目实施过程中难以交付的或者需求范围不好清晰界定的,正是范围管理的难点。 通过范围定义,可形成详细的范围说明书,以及对项目管理计划进行更新。 2、项目范围 范围是指项目所提供的产品或服务的总和,它包括以下两种含义: ●产品范围:产品或者服务的特性与功能,其衡量标准为产品要求,即产 品需求说明书。 ●项目范围:为交付所需产品(具有特定属性和功能)和服务而必须完成 的工作,其衡量标准为项目管理计划、项目范围说明书、WBS及WBS词汇 表。 项目实施的产品范围的描述一般应该通过两个维度,即产品功能模块和公司范围两个维度,清晰的描述出哪些公司具体实施、哪些产品的功能模块,对于集团型企业一定要以企业法人作为实施的公司范围。借用EXCEL建立功能模块与法人

软件工程导论-期末题库(完整版)

1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。 4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。 5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试) ____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。 9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。 11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。

软件工程基础(复习题及答案)

复习题 一、判断题(每题2分,共30分) 1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析 活动。(对) 2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错) 3.JAVA语言编译器是一个CASE工具。(对)。 4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(错) 5.软件模块之间的耦合性越弱越好。(对) 6.数据库设计说明书是一个软件配置项(对) 7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错) 8.过程描述语言可以用于描述软件的系统结构。(错) 9.如果通过软件测试没有发现错误,则说明软件是正确的。(错) 10.快速原型模型可以有效地适应用户需求的动态变化。(对) 11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对) 12.集成测试主要由用户来完成。(错) 13.确认测试计划应该在可行性研究阶段制定(错) 14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错) 15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对) 16.在可行性研究中最难决断和最关键的问题是经济可行性。(╳) 17.耦合是指一个模块内各个元素彼此结合的紧密程度。(╳) 18. 一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。(√)

19.概要设计阶段完成的主要文档是概要设计说明书。(√) 20.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。(╳) 21.程序设计语言中应绝对禁止使用GOTO语句。(╳) 22.类是关于对象性质的描述,由方法和数据组成。(√) 23.随着软件技术的发展,人们逐渐认识到编码不仅要强调效率还要强调清晰。(√) 25.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。(╳) 26.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。(√) 名词解释 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行详细的描述和确切的解释,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——按照程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——按照程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误猜测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变化而对软 件的功能、性能进行修改、扩充的过程称为完善性维护。因为各种用户的业务和机构在相当长的时期内不可能是一成不变的,所以功能、性能的增加是不可避免的,而且这种维护活动在整个维护工作中所占的比重很大 6.软件可靠性——指在给定的时间内,程序按照规定的条件成 功地运行的概率 7.软件配置——是一个软件在生存周期内,他的各种形式、各 种版本的文档与程序的总称

软件综合课程设计任务书

软件综合课程设计任务书

————————————————————————————————作者: ————————————————————————————————日期: ?

软件综合课程设计任务书 一、课程设计的目的、要求 目的:软件综合课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。 实现以下目标: 1.深化已学的理论知识,完成理论到实践的转化 通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将所学的理论知识运用于开发实践中,并在实践中逐步掌握软件工具的使用。 2. 提高分析和解决实际问题的能力 课程设计不仅是一次软件工程实践的模拟训练,同时通过软件开发的实践,积累经验,提高分析问题和解决问题的能力; 3. 培养“开拓创新”能力 大力提倡和鼓励在开发过程中使用新方法、新技术,激励学生实践的积极性和创造性,开拓思路,设计新算法、新创意,培养创造性的工程设计能力; 要求:学生组成开发小组(2~4人),以小组为单位选择并完成一个规模适度的软件项目,在教师的指导下以软件设计为中心,独立完成从需求分析到软件测试的开发过程。 二、设计步骤安排 1.确定课题 由教师命题并给出各课题的具体需求,学生根据课题涉及的知识领域及自己对该领域的熟悉程度和对该课题的兴趣,选择课题,经教师调整审定后确定; 2. 需求分析 建立系统的分析模型,这是系统开发的重要阶段。主要工作是: 分析确定系统应具备的功能、性能,并从经济上、技术上进行可行性分析,建立“需求分析模型”确定开发计划。 3. 软件设计 具体工作是:对系统的分析模型进行修改、细化,进行系统的结构设计,用户界面设计,数据管理部件设计(若系统涉及到数据库,要对数据库结构进行设计) 4. 编码与测试 根据项目的应用领域及语言的特点,选择编程语言进行编码,要求给出程序的详细注释(包括模块名、模块功能、中间过程的功能及变量说明); 由开发小组进行除验收测试以外的测试工作(包括单元测试、组装测试与系统(确认)测试)。所有测试过程都要求采用综合测试策略,先进行静态分析,再进行动态测试。要求制定测试计划、记录测试过程与结果、保留测试用例、写出测试报告。 5. 验收测试 由教师组织验收测试的实施,内容包括:系统能否正确运行,实际系统与设计方案是否一致,是否实现了需求所确定的功能与性能,系统设计有无特色,算法有无创新,系统结构是否合理、新颖,系统界面是否友好、美观,操作是否简单,使用是否方便。6.总结和整理课程设计报告

期末软件工程资料整理

1.软件工程的基本原理? 答:基本原理包括3要素:方法,工具,过程;其中,方法是完成软件开发任务的技术方法回答怎样做的问题;工具是为运用方法提供自动半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,他是完成各任务的工作步骤。 2.RUP中有9个工作流,前6个为过程工作流,后3个为核心支持工作流程。 3.问答:P.32第2题 4.简述结构化范型和面向对象范型的要点,分析优缺点。 5.电话号码有几类:校内电话号码由4位数字组成,第1位不是0;校外电话分本市电话和外地电话,拨校外电话需先拨0,本市电话则再接着拨8位数字(第1位不是0),外地电话则拨3位区码再拨8位电话号码(第1位不是0)。 答案: 电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+3位数字 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9] 6.名词解释:第一范式,第二范式,第三范式 答:第一范式:每个属性都必须是原子值,仅仅是一个简单的值而不能含内部结构。 第二范式:满足第一范式条件,且每个关键字属性都由整个关键字决定。 第三范式:符合第二范式条件,每个关键字属性都仅由关键字决定,且一个费关键字属性不能仅仅是对另一个非关键字属性的进一步描述。 7.储蓄系统:储户填写的存款单或取款单由业务员输入系统,是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 试用数据流图描绘下述系统的功能,并用实体-联系图描绘系统中的数据对象。 答案: 系统的数据流图如下图所示:

软件综合课程设计教学大纲

珠海学院课程教学大纲 课程名称:计算机软件综合课程设计 适用专业: 2015级软件工程专业 课程类别:专业基础课 制订时间:2017年6月 计算机科学与技术系制

目录 1 《计算机软件综合课程设计》教学大纲 2 《计算机软件综合课程设计》(模板) 3 《计算机软件综合课程设计》成绩评定表

《计算机软件综合课程设计》教学大纲 一、课程设计基本信息 课程代码: 课程名称:计算机综合应用课程设计 课程学时:32学时 课程学分:2.0 适用对象:计算机科学与技术专业、软件工程专业 先修课程:高级语言程序设计、数据结构、操作系统、数据库原理与应用 二、课程设计目的和任务 本课程设计是检验计算机专业的学生在大学主干课程完成之后,为了加深和巩固学生对前两年所学理论和应用知识的理解,同时提高学生综合运用的能力和分析问题、解决的问题的能力而开设的一门实践课程。 通过本环节学生能够充分把前两年学到的知识综合应用到实际的编程实践中,可以进一步巩固所学到的理论。通过实现一个中等规模的应用软件,提高利用计算机系统解决实际问题的能力,为顺利毕业、进入社会打好基础;通过对程序的规范编写,可以培养学生良好的编程风格,包括程序结构形式,行文格式和程序正文格式等;并培养学生的上机调试能力。 三、课程设计方式 1、课程设计题目的选定 采用指导教师提供参考题目与学生自主命题相结合的办法选定课程设计题目。要求不多于4个人一个小组,不得重复,所涉及数据库的基本表至少在5张表以上,在尽量满足数据库设计原则的前提下,允许适当冗余以提高检索的速度。其中学生自主命题需要指导教师严格的审核,看是否满足课程要求,检查是否为重复课题。 2、课程设计任务的完成

软件工程教材资料整理

软件工程复习资料 第一章 1、软件的概念:软件是计算机中与硬件相互依存的另一部分,它是包括程序、数据及其 相关文档的完整集合。 2、软件具有下列特点: 1.软件是一种逻辑产品,它具有抽象性和无形性。 2.软件的生产与硬件不同。 3.软件在运行和使用中,不会磨损和老化,但它存在退化问题。 4.软件的开发和运行对计算机系统有一定的依赖性。 5.软件开发至今仍未完全摆脱手工开发方式,大多数软件是“定做”的。 6.软件开发成本高、风险高。 7.相对于计算机硬件技术的发展,计算机软件技术的发展十分缓慢。 3、计算机软件技术的发展经历了三个阶段: 程序设计时期(20世纪40年代中期至60年代中期),软件质量取决于个人编程水平。 程序系统时期(20世纪60年代中期至70年代中期),软件质量取决于开发小组的技术水平 软件工程时期(20世纪70年代以后)。软件质量取决于软件工程管理水平。 软件技术的发展主线是由个体简单的开发方式向着复杂、大规模、标准化、工程化的方向发展,在最高阶段,把软件开发界定为两方面的内容:软件开发和软件维护。 4、软件开发引发的问题: 1.社会对软件需求的不断发展 2.软件开发理念和手段与客观实际存在的差异 ①对软件本身的认识存在差异②对软件的服务对象认识不足 ③对软件开发缺乏科学管理④软件开发手段落后 5、软件危机1)发生时间:软件发展第二阶段(程序系统阶段)的末期 (2)软件危机是指在计算机软件开发和维护过程中遇到的一系列严重问题。 (3)软件危机的主要表现有以下几方面: 1.软件开发经费超支、进度拖延 2.软件不能符合用户的要求 3.软件难以维护 4.软件可靠性差 5.软件开发生产率低 4)主要原因: 1 社会对软件的需求急剧增加 2 软件本身的特点:软件本身存在着复杂性 3软件开发理念和手段与客观实际存在的差异 ①对软件本身的认识存在差异②对软件的服务对象认识不足 ③对软件开发缺乏科学管理④软件开发手段落后 寻找解决软件危机途径的过程就是软件工程形成的过程 6、软件工程 核心:以工程化的原理和方法对软件进行规划、定义、开发和维护; 宗旨:以较少的投入,最快的时间生产出高质量的软件。 定义:“软件工程是软件开发、运行、维护和引退的系统方法”。 软件工程的主要思想是强调软件开发过程中应用工程化原则的重要性。 软件工程的三要素是方法、工具和过程。 软件工程的基本目标:实现软件的优质高产,即在给定成本、进度的前提下,达到要求的软件功能,取得较好的软件性能,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性,并满足用户需求的软件产品。

软件工程期末考试复习资料1

版权声明:本文版权归05112114、05112125 所 有,未经许可,任何任何媒体均不得改变其形 式,进行转载或摘录,违者必究! 软件工程期末考试复习资料一 (仅参考) 拟订人:超越吉他手、朱古力、哖_少オ輕狂第一章:软件工程的产生和发展有关复习资料 一、软件工程的定义: 1、软件危机的产生:软件危机的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。 2、软件危机主要表现:两个方面:①软件产品质量低劣,甚至开发过程就夭折 ②软件生产率低,不能满足需要 3、软件工程的三要素:①方法:完成软件开发各项任务的技术方法 ②工具:研究支撑软件开发方法的工具 ③过程:为开发高质量软件所规定的各项任务的工作步骤 4、软件工程研究的标准及目标: 标准:分为4个层次,国际标准、行业标准、企业规划、项目规划 目标:以较少的投资获取高质量的软件。有易于维护、低的开发成本、高性能、缩短开发期 5、软件工程研究的主要内容:以下两个方面:①软件开发方法、技术;软件开发工具及环境 ②软件管理技术、软件规范(国际规范) 7、软件工程学的目的:①以较少的投资获取高质量的软件 ②运用科学的方法和工程化的规范管理来指导软件开发 ③克服软件危机 8、软件工程的基本原则:如下4条基本原则 ①必须认识软件需求的变动性,采取适当措施来保证结果产品能忠实地满足用户需求 ②稳妥的设计方法大大地方便了软件开发,以达到软件工程的目标 ③软件工程项目的质量与经济开销直接取决于对它所提供的支撑的质量与效用 ④有效的软件工程只有在对软件过程进行有效管理的情况下才能实现 9、软件工程过程及特性:是指在软件工具的支持下,所进行的一系列软件工程活动 包括4类基本过程:1)软件规格说明书2)软件开发3)软件确认4)软件演进 特性:可理解性、可见性、可靠性、可支持性、可维护性、可接受性、开发效率和健壮性等。 二、软件与软件生存周期 1、软件的概念和特点 1)概念:软件是程序以及开发使用维护程序所需的所有文档 2)软件的构成:由应用程序、系统程序、面向用户的文档及面向开发者的文档4部分构成即:软件=程序+文档 3)特点:①软件是一种逻辑实体,不是具体的物理实体

软件工程基础知识点总结复习课程

软件工程基础部分知识点总结 知识点一软件工程的基本概念 1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。 1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。 2)数据是使程序能够正常操作信息的数据结构。 3)文档是与程序开发、维护和使用有关的图文资料。 国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。 2、软件特点: 1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分; 2)软件的生产与硬件不同,它没有明显的制作过程; 3)软件在运行、使用期间不存在磨损、老化问题; 4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题; 5)软件复杂性高,成本昂贵; 6)软件开发涉及诸多的社会因素 3、软件的分类: 按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)

1)应用软件是为解决特定领域的应用而开发的软件。 2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。 3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。 4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要体现在以下几个方面: ①软件开发的实际成本和进度估计不准确 ②开发出来的软件常常不能使用户满意 ③软件产品的质量不高,存在漏洞,需要经常打补丁 ④大量已有的软件难以维护 ⑤软件缺少有关的文档资料 ⑥开发和维护成本不断提高,直接威胁计算机应用的扩大 ⑦软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长 5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。 1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。 2)软件工程的三个要素:方法、工具和过程。 ①方法:完成软件工程项目的技术手段;

《软件工程综合课程设计》评分标准(参考)

《软件工程综合课程设计》评分标准(参考) 说明:按照学校发布的课程设计评分页中的8个评分项,根据《软件工程综合课程设计》实际,分解学校评分项为若干评分子项,并按评分等级记分(见下表),力求做到课程设计评分的精细化、一致行和可比性。各子项分数合计成各项分数,各项分数合计成本次课程设计成绩。 评分等级与记分对照表 1、课程设计中的创造性成果(10分) 1)课题具有国内或国际领先(4分) 2)具有自主创新的算法或应用最新的研究成果(专利)(3分) 3)使用最新的开发工具、技术平台和运行环境(3分) 2、学生掌握课程内容的程度(20分) 1)提供了较好的涵盖了需求、可行性和概要设计等的方案(5分) 2)在设计和实现中应用了软件工程的原理或方法(5分) 3)技术路线(开发工具、运行环境等)合理可行(5分) 4)提供了可行的测试计划(5分) 3、课程设计完成情况(20分) 1)按模板格式和内容提交完整的课程设计文档(5分) 2)提供了较完整的数据字典(数据库表)(4分)

3)完成了系统主要功能的UI设计或实现(4分)4)提供了较完整的测试用例(4分) 4)按时提交课程设计文档(3分) 4、课程设计动手能力(15分) 1)数据库表设计合理满足需求(5分) 2)UI设计一致美观、程序代码清晰规范(5分) 3)考虑系统出错与异常情况(5分) 5、文字表达(5分) 1)阐述问题准确完整(3分) 2)文档文字通顺流畅(2分) 6、学习态度(5分) 1)态度端正、认真负责(3分) 2)及时响应指导老师的通知和任务安排(2分)7、规范要求(15分) 1)文档段落格式规范一致(3分) 2)标题和正文字体大小一致(3分) 3)图形和表格格式规范(4分) 8、课程设计论文的质量(10分) 1)文档摘要和目录完整准确(2分) 2)参考文献完整正确且被引用(2分) 3)段落和层次结构合理、处理逻辑清晰(3分)4)表述准确、内容通畅、结论正确(3分)

人事档案管理软件系统

为了提高人事档案规范化管理水平,加强和规范公司员工档案管理,推进人事档案资料管理系统化、科学化、规范化,很多企业公司都选择了使用现代信息化的管理软件系统。该软件是一款功能丰富、易于使用的人员管理软件,不仅方便用户使用,还大大提高了工作效率。 一、人事档案管理软件系统功能包括: 1.灵活配置人事业务流程: 不得使用转移流程、黑名单管理、合同管理、培训奖惩等数十项人员职能,支持定制功能的灵活配置,以满足企业在开发过程中的个性化管理需求。 2.员工完整生命周期在线管理: 基于人事管理和不同业务场景的不同业务角色,提供员工就业,成长,交易等流程管理,实现员工生命周期的闭环管理。 3.组织规划和调整既高效又方便: 支持多组织结构共存和调整,明确各部门的准备和管理,实现人员配置规划和调整,支持权限管理的灵活配置和切换,推动内部流程

的有效运行。 二、该系统产品特色功能: 组织结构管理、员工流失管理、黑白名单管理、多场景自动提醒管理、固定岗位管理、员工电子档案管理、多维人事报告、公共参数设置。 三、人事档案管理软件系统产品作用: 1.实现人事信息的透明管理: 实现人员信息的在线管理,确保人员信息的透明性和清晰度。 2.降低企业合规风险: 实现对不同就业模式的遵守,并显着降低就业风险。 3.提高人力资源生产力: 减少人力资源部门的交易工作,大大提高工作效率。 4.提高员工敬业度: 建立多维度的员工关怀机制,以减少员工流动。 5.实现数据资源的集成: 基础人员数据的可视化和制图推动了企业的有效运作。

喔趣科技,作为中国劳动力综合管理专家品牌,致力于为大中型企业实现劳动力预测、劳动力管理、劳动力满足全过程的信息化、数字化、智能化,是为企业提供人事管理、智能排班、智慧考勤、绩效薪资、数据罗盘,灵活用工服务等全链劳动力综合管理与满足的云服务商。目前,有超过12万家企业和超过400万的企业员工在使用喔趣科技的产品服务,主要分布在零售连锁、生产制造、现代服务业、餐饮行业、国企事业单位等多个行业。

软件工程期末复习知识点整理

复习整理 一、绪论 1.软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 ●是指导计算机软件开发和维护的一门工程学科; ●采用工程化的原理及方法对软件进行计划、开发和维护; ●把证明正确的管理技术和最好技术综合运用到软件开发中; ●研究经济地开发出高质量的软件方法和技术; ●研究有效维护软件的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。

⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1) 过程式编程范型:把程序理解为一组被动的数据和一组能 动的过程所构成;程序=数据结构+算法;着眼于程序的过程和基本控制结构,粒度最小 (2) 面向对象编程范型:数据及其操作被封装在对象中;程序 =对象+消息;着眼于程序中的对象,粒度比较大 (3) 基于构件技术的编程范型:构件是通用的、可复用的对象 类;程序=构件+架构;眼于适合整个领域的类对象,粒度最大 二、软件生存周期及软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么, 有哪几个主要活动 ●定义:一个软件从开始立项起,到废弃不用止,统称为软件的 生存周期 ●目的:软件生存周期划分为计划、开发和运行3个时期;把整 个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的 任务,就能够化简每一步的工作内容,使因为软件规模而增长 而大大增加了软件复杂性变得较易控制和管理。 ●主要活动:需求分析、软件分析、软件设计、编码、软件测试、 运行维护(P19) 2、软件生命周期划分为哪几个阶段

大学软件工程复习资料

五、简答题 1.层次图和层次方框图之间区别何在?P92 ①层次图描绘软件的层次结构,层次方框图描绘数据结构 ②层次图中方框代表一个功能模块,层次方框图方框代表数据的子集或数据元素 ③层次图中连线表示模块间调用关系,层次方框图连线表示组成关系。 2.2、软件设计过程中为什么要采用模块化设计方法?P85 参考答案: (1)、采用模块化原理可以使软件结构清晰,不仅容易设计,也容易阅读和理解; (2)、模块化使软件容易测试和调试,因而有助于提高软件的可靠性; (3)、模块化可以提高软件的可修改性; (4)、模块化有助于开发过程的组织和管理; 3.用某种软件复杂性度量算法来度量不同类型的程序时。得出的度量值是否真正反映了它们的复杂性? 如果对同类型的程序进行度量,其结果是否就比较有价值? 参考答案: 开发规模相同,但复杂性不同的软件,花费的成本和时间会有很大的差异。因此到目前为止,还没有一个软件复杂性度量的方法能够全面、系统地度量任一软件的复杂性,某一种度量方法只偏重于某一方面。所以,用某种软件复杂性来度量不同类型的程序,所得到的度量值不一定真正反映它们的复杂性。但对同一类里的程序,按某种视点来度量它们的复杂性,其结果还是比较有价值的。 4.数据流图的作用是什么?它有哪些基本成分? 参考答案: 数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度.以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制.也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。 基本成分有:数据原点/终点数据处理数据流数据存储 5.常用的估算软件规模的方法有哪些?试比较这些方法的优缺点。 代码行技术的优点,容易计算,缺点是太片面,因为源程序只是软件配置的很少一部分,不同语言实现同一个软件所需的代码行数不同; 功能点数的特点:与编程语言无关,但是判断信息域复杂性级别和技术因素的影响程度时,存在着相当大的主观因素。 6.CMM的全称是什么?其基本思想是什么?为什么要对CMM进行分级?P321 其基本思想是:软件开发和维护过程中的问题是由于管理软件过程的方法不当引起的,即使是应用新的软件技术,也不会自动提高软件的生产率和质量。能力成熟度模型有助于软件开发机构建立一个有规律的、成熟的软件过程。改进后的软件过程将有利于开发出高质量的软件,使更多的软件项目免受时间和费用超支之苦。················································································································3分 对于任何软件开发机构的软件过程的改进都是在完成一个又一个小的改进的基础之上不断进行的渐进过程,而不是一蹴而就的彻底革命。CMM将软件过程从无序到有序的进化过程分为5个等级,用于测量软件机构的软件过程成熟度和评价其软件过程能力 什么是软件配置管理? 答:软件配置管理,简称SCM(Software Configuration Management),是在软件的整个生命周期内管理变化的一组活动。具体地讲,这组活动包括:①标志变化,②控制辩化,③确保适当地实现变化,④向需要指导这类信息的人报告变化。软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高

相关文档
最新文档