当前位置:文档之家› 软件工程习题解答(含基本章节应试例子以及一个UML案例)

软件工程习题解答(含基本章节应试例子以及一个UML案例)

软件工程习题解答(含基本章节应试例子以及一个UML案例)
软件工程习题解答(含基本章节应试例子以及一个UML案例)

软件工程习题解答

一、软件生存周期各阶段的基本任务?

1. 问题定义:

(1)回答要解决的问题是什么。

(2)系统分析员应该提出关于问题性质、工程目标和规模的书面报告。

(3)经过和用户讨论,澄清含糊不清的地方,改正理解不正确的地方,得出一份双方都满意的文档。

(4)问题定义是软件生命周期中最简短的阶段。

2.可行性研究:

(1)前一阶段定义的问题有可行的解决办法吗?

(2)系统分析员要进行一次大大压缩和简化了的系统分析和设计。导出高层逻辑模型(用数据流图表示)。确定工程规模和目标,准确估计系统的成本和效益。

(3)使用部门的负责人根据可行性研究的结果决定是否继续进行该工程的开发工作。

3.需求分析:

(1)主要确定目标系统必须具备哪些功能。

(2)系统分析员和用户密切配合,充分交流,得出经用户确认的系统逻辑模型(数据流图、数据字典、算法描述)。

4.总体设计:

(1)回答如何解决问题。

(2)系统分析员

应使用系统流程图或其他工具描述每种可能系统;

估计每种方案的成本和效益。

推荐一较好的系统──有其详细计划。

设计软件的结构(用层次图或结构图描述)。

5.详细设计:

(1)回答应该怎样具体地实现这个系统。

(2)设计出程序的详细规格说明(用HIPO层次图加输入/处理/输出图)或PDL语言(过程设计语言)。

6.编码和单元测试:

(1)写出正确的容易理解,容易维护的程序模块。

(2)程序员:

选取一种适当的用高级语言书写程序(或汇编语言)。

仔细测试编写出的每一个模块。

7.综合测试:

(1)通过各种类型的测试,使软件达到预定的要求。

(2)最基本的测试是集成测试和验收测试方法。

集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配的过程中对程序进行必要的测试。

验收测试是按照需求规格说明书的规定,由用户对目标系统进行验收。

(3)用正式文档将测试计划、详细测试方案以及实际测试结果保存。

(4)以正式或非正式的方式对用户进行培训。

8.软件维护:

(1)使系统持久地满足用户的需要。

(2)四类维护:

改正性维护:诊断和改正使用过程中发现的软件错误。

适应性维护:修改软件以适应环境变化。

完善性维护:根据用户要求,改进或扩充软件。

预防性维护:修改软件为将来的维护预先准备。

第二章可行性研究

1.已知某软件包具有三个主要功能:输入数据、更新数据、产生报表。根据历史资料记载,实现每个功能所需源代码行数估算如下:

①输入数据:a=l00 m=200 b=300

②更新数据:a=200 m=300 b=400

③产生报表:a=300 m=400 b=500

三个功能的软件生产率都是200行/人月,每行成本lO元/行,请用LOC技术估算出该软件包的成本和工作量。

解:

2.某计算机系统投入使用后、5年内每年可节省人民币2 O0O元,假设系统的投资额为5 000元,年利率为12%。试计算投资回收期和纯收入。

解:

1、投资回收期

最初投资额为5000元,经过3年后可以节省4814.28元,比最初投资还少185.72元,

第4年一年再次节省1273.89元,则

185.72÷1273.89=0.15

3 + 0.15=3.15

因此这项工程的投资回收期是3.15年。

2、纯收入

7224.53 - 5000=2224.53元> 0,值得投资。

第三章需求分析

1.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?

数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。

作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.

基本符号有四种:

→,箭头,表示数据流; ○,圆或椭圆,表示加工; =,双杠,表示数据存储;□,方框,表示数据的源点或终点.

2.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。请用DFD 和IDEF0描绘该功能的需求,并建立相应的数据字典。

(1)数据流条目:

数据流名称:存款单

别名:无

简述:储户存款时填写的项目

来源:储户

去向:记帐

数据流量:未知

组成:姓名+住址+存款类型+存款日期+利率

数据流名称:取款单

别名:无

简述:储户取款时填写的项目

来源:储户

去向:统计

数据流量:未知

组成:姓名+住址+取款类型+取款日期+利率

数据流名称:清单

别名:无

简述:储户取款后得到的项目

来源:记录

去向:储户

数据流量:未知

组成:姓名+住址+取款类型+取款日期+利率+余额

(2)数据存储条目:

数据存储名称:账单

别名:无

简述:存放储户信息及其账目

组成:姓名+住址+余额+存款类型+最后修改日期+利率

组织方式:未知

查询要求:能立即查询

(3)数据项条目:

未知

(4)加工条目:

加工名:分类检查

编号:无

激发条件:接收到存/取款单

优先级:优先

输入:存/取款单

输出:存/取款单

加工逻辑:IF 存款单THEN 把存款单输出到统计

ELSE

把取款单输出到统计

ENDIF

加工名:统计

编号:无

激发条件:取款单

优先级:无

输入:取款单

输出:清单

加工逻辑:根据账单检查此储户是否存在,不存在输出错误{

IF 取款数<余额THEN 余额=余额-取款数输出清单到储户,输出现金到储户

ELSE

输出错误清单到储户

ENDIF

}

加工名:记录

编号:无

激发条件:存款单

优先级:无

输入:存款单

输出:存款单

加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{

余额=余额+存款数

输出存款单到储户

}

3.某公司承担空中和地面运输业务。计算货物托运费的比率规定如下:

空运,如果货物重量小于等于2kg.则一律收费6元;如果货物重量大于2 kg而

又小于等于20 kg,则收费3元/kg;如果货物重量大于20 kg,则收费4元/kg。

地运,若为慢件每kg收费为l元,若为快件,当重量小于等于 20 kg时,收费为 2

元/kg,当货物重量大于 20 kg时,则收费为 3元/kg。

请画出对应于计算托运费比率的判定树和判定表。

解:

判定表:

4.选择一个系统(例如人事档案管理系统、图书管理系统、医院监护系统、足球俱乐部管理系统、财务管理系统、学生选课系统、飞机订票系统等),用 SA方法对它进行分析,画出系统的分层 DFD图。

解: 下面是一个学生选课系统的DFD 。

新补充:

1、某图书出版公司希望每月定期向固定客户邮寄最近一个月的图书分类目录。客户可在其收到的目录上圈定自己要买的书。出版公司按照客户的反馈信息邮寄图书。要求为出版公司设计软件,以实现以下功能:(1)自动生成图书分类目录;

(2)自动处理客户反馈信息。

试用面向数据流的方法给出系统的数据流图,并设计出软件结构图。

第四章概要设计

3.衡量模块独立性的两个标准是什么?它们各表示什么含义?

两个定性的度量标准:耦合与内聚性

耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。

6.什么是软件结构?简述软件结构设计优化准则。

软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。

软件结构设计优化准则:

a.划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。

b.一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近

c.软件的深度、宽度、扇入、扇出应适当。

D.模块的大小要适中。

E.模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。

2、已知模块C中的一个判定影响到模块B,如图所示,它违反了SD的设计原则。试问: 可以采用哪些手段对结构图作改进,请说明改进办法并画出改进的结构图。

3、已知有一抽象的DFD图如下所示,请用SD方法画出相应的结构图。

答:

4、高考录取统分子系统有如下功能:

(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流程图,并将其转换为软件结构图。

答:

(1) 数据流图:

(2) 软件结构图:

5、图书馆的预定图书子系统有如下功能:

(1) 由供书部门提供书目给订购组。

(2) 订书组从各单位取得要订的书目。

(3) 根据供书目录和订书书目产生订书文档留底。

(4) 将订书信息(包括数目,数量等)反馈给供书单位。

(5) 将未订书目通知订书者。

(6) 对于重复订购的书目由系统自动检查,并把结果反馈给订书者。试根据要求画出该问题的数据流程图,并把其转换为软件结构图。答:

(1) 数据流图:

(2) 软件结构图:

第五章详细设计

1.给出一组数从小到大的排序算法,分别用下列工具描述其详细过程:

(1)

第六章 实现

第七章 软件测试

1、对下列子程序进行调试: procedure example(y,z: real; var x: real) begin if (y>1) and (z=0) then x:=x/y; if

(y=2) or (x=l) then x:=x+l;

end.

该子程序接受x, y, z 的值,并将计算结果x 的值返回给调用程序。答题要求: (1)画出流程图。

(2)用白盒法设计测试用例,并写出它所满足的是何种覆盖标准、预期结果以及路径。

N-S 图

答:(1)流程图

(2)用白盒法中条件组合覆盖设计测试用例:

①y=2, z=0, x=4;

②y=2, z=1, x=1;

③y=1, z=0, x=2;

④y=1, z=1, x=1.

2、某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。现要求用黑盒测试法中的边界值法写出测试用例。

答:

输入条件测试用例说明测试数据

报表日期的1个数字字符 5

类型及长度5个数字字符20035

7个数字字符2003005

有1个非数字字符2003.5

全部是非数字字符MAY---

6个数字字符200305

日期范围在有效范围200301

边界上选取200812

数据200300

200813

月份范围月份为1月200301

月份为12月200312

月份<1 200300

月份>12 200313

3、对以下程序进行测试:

PROCEDURE EX(A,B:REAL;VAR X:REAL);

BEGIN

IF(A=3)OR(B> 1)THEN X:=A×B

IF(A>2)AND(B=0)THEN X:=A-3

END

先画出程序流程图。再按不同逻辑覆盖法设计一种(写出名称)测试数据。

答:

语句覆盖A=3 B=0

4、程序功能说明书指出,某程序的输入条件为:每个学生可以选修1至3门课程,试用黑盒法设计测试用例。

(1)按等价分类法设计测试用例(要求列出设计过程)

(2)按边缘值分析法设计测试用例。

答:

1)合理等价类

选修1门

选修2门

选修3门

不合理等价类

没选课

选3门以上

测试用例

选修=2

选修=0

选修>3

2) 边缘值法

0,1,3,4

5、设被测试的程序段为:

begin

s1 ;

if (x=0) and (y>2)

then s2;

if (x<1) or (y=1)

then s3 ;

s4 ;

end

可供选择的测试数据组为:

x y

Ⅰ 0 3

Ⅱ 1 2

Ⅲ -1 2

Ⅳ 3 1

找出实现(1)语句覆盖;(2)条件覆盖;(3)判定覆盖至少要选择的数据组。

答:(1)Ⅰ(2)Ⅰ,Ⅳ(3) Ⅰ,Ⅱ

二.某电力公司有A、B、C、D共四类收费标准,并规定,居民用电每月200度以下按A类收费, 200度以上按B 类收费。动力电以每月1万度为分界,非高峰用电不足1万度按B类收费,达到或超过1万度按C类收费。高峰用电不足1万度按C类收费,达到或超过1万度按D类收费。试用基于逻辑的测试方法为它设计足够的测试用例实现条件组合的完全覆概。

三.如图显示某程序的逻辑结构。

试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。

四.某城市电话号码由三部分组成。它们的名称和内容分别是:

地区码:空白或三位数字;

前缀:非‘0’或‘1’的三位数字;

后缀:4位数字。

假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。

1.

第八章软件维护

1、软件维护有哪些内容?

a、校正性维护

b、适应性维护

c、完善性维护

d、预防性维护

第九章

第十章面向对象技术

1、说明对象、类、类结构、消息的基本概念?

答:对象:是客观实体在问题域中的抽象。

类:具有相似或相同性质的对象的抽象就是类。

类结构:类的结构通常有一般----具体(分类结构)整体---抽象(组装结构)消息:对象之间通信的构造。

2、面向对象的特征和要素?

答:特征:一致性、多态性、分类性、继承性。要素:共享、封装、抽象。

第十二章软件工程管理

3、软件开发成本估算方法有哪几种?

答:COCOMO、PUTANM 。。。。

4、什么软件配置管理?什么是基线?

答:软件配置管理:软件配置管理(SCM)用于整个软件工程过程,目标是表示变更,控制变更,确保变更的正确实施,报告变更。SCM是用在整个软件生存周期个阶段中的变更活动。基线:是软件生存周期中各开发阶段的一个特定点,它的作用是把开发各阶段的工作划分的更加明确化,使本来连续的工作在这些点上断开,便于检查于肯定阶段成果。

图书馆信息系统UML实例

一、如何理解UML

1、UML统一建模语言

统一建模语言(Unified Modeling Language,UML)是一个通用的可视化建模语言,跨越软件开发的整个生命过程,详细描述系统结构的方法,为规范化、可视化、文档化软件系统提供了一致的建模语言。使用UML主要目的是是便于用户、开发人员、分析人员、测试人员、管理人员、其他涉及项目人员之间的通信。

建立“立体”的模型需要:点、线、面

UML描述模型有三种词汇:要素、关系、图

2、UML有四种要素:

(1)表示结构的要素:Use Case、类、接口、协作

(2)表示行为的要素:交互、状态机

(3)表示组织的要素:包(Package)

(4)表示辅助说明的要素:注释(Notes)

3、UML中有四种类型的关系:

(1)关联关系:表示两个类之间存在稳定的连接(传递消息)

关联关系(Association)的访问方向:单箭头表示一方的实例能够访问另一方实例

关联关系有两种强化形式:聚合关系(Aggregation)、组合关系(Composition)

聚合关系:表示两个类的实例之间“整体”与“部分”关系,处于空心菱形符号一端的类是整体。

组合关系:是进一步强化的聚合关系,增加“皮之不存,毛将焉附”的语义,“整体”一端用实心的菱形表示。

(2)依赖关系:表示“被依赖者”类的变化有可能影响“依赖者”类,用带有箭头的虚线表示。

(3)泛化关系:表示类A是类B的一种。

(4)实现关系:一方提出请求,另一方履行要求中声明的任务。

4、UML中有九种图,共三大类:

三种静态图

(1)业务用例图(Business Use Case Diagram):显示整个系统提供的功能。

(2)用例图(Use Case Diagram):从系统的用户角度出发,描述系统应该具有的功能。主要用于展示用例(Use Case)、角色(Actor)及其关系。用例是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用

(3)类图(Class Diagram):主要用于展示类、接口、包及其关系。类(Class)是指一些具有相同属性(Attribute))和操作(Operation)的对象的集合,其中操作包含一组有序的参数(parameter),类之间的关系有联系(Association)和泛化(Generation)等。

四种动态图:

(4)状态图(State chart Diagram):展示对象在其生命周期中可能经历的状态、在这些状态上对事件的响应能力。(5)活动图(Activity Diagram): 是状态机的一个变体,用来描述执行算法的工作流程中涉及的活动,活动状态代表着一个活动、一个工作流程步骤或一个操作的执行,活动视图描述一组顺序的或并发的活动,

展示系统从一个活动转到另一个活动的可能路径与判断条件。

(6)顺序图(Sequence Diagram):用于按时序展示对象间的消息传递。当执行一个用例行为时,顺序图中的每条消息对应一个类操作或状态机中引起转换的触发事件。

(7)协作图(Collaboration Diagram):其核心内容与序列图相对应,强调(收发消息的)对象间的结构组织。

两种执行图:

(8)组件图(Component Diagram):显示系统中的组件及其相互依赖性。开发人员知道有哪些代码库,相互间

有什么关系,编译人员知道组件所需的编译的顺序。

(9)部署图(Deployment Diagram):它考虑应用程序的物理部署,如网络布局和组件在网络上的位置的问题。显示网络上的所有结点、结点间的连接、每个结点上运行的进程。

二、图书馆信息系统UML实例介绍

1、理解需求

图书馆信息系统文本需求说明:

(1)图书馆将书和杂志借给读者,读者、书、杂志系统中注册。

(2)图书馆负责购买图书、删除书目。

(3)图书管理员与借书者打交道,他们的工作要得到系统的支持。

(4)借书者可以增删预订书目

(5)图书馆可维护与书目、借书者、借阅(Loan)和预订等有关的信息。

(6)系统能够在Unix、Windows、OS/2等环境下运行,有一个非常友好的用户图形界面(GUI)

(7)系统应该具有很好的扩展性。

2、需求分析

2.1、定义业务用例:描述图书馆提供的功能

Business Use case框图:显示业务用例与业务角色之间的交互。

业务用例:表示公司的执行的过程,为什么要建立系统。

业务角色:表示业务要交互的角色,如客户与厂家,不表示公司内的角色或人员。

业务工人:表示公司内的角色或人员。

2.2、定义用例,即描述图书馆系统的功能

Use Case 框图:显示使用案例与角色的交互。

使用案例:表示从用户角度对系统的要求(系统功能)。

角色:表示接受和提供系统信息的人或系统(系统主体)。

图书馆中的角色:图书馆管理员、借书者

图书馆信息系统中的用例(使用案例)如下:

借出书目(Lend Item)、返回书目(Return Item)、预订(Make Reservation)、删除预订(Remove Reservation)增加标题(Add Title)、更新或删除标题(Update or Remove Title)、增加书目(Add Item)、删除书目(Remove Item)、增加借书者(Add Borrower)、更新或删除借书者(Update or Remove Borrower)

“标题(Title)”与“书目(Item)”的区别:在图书馆中,一个流行的标题可能有好几本,标题可能是书名或书的作者,这样可让借书者预定。

图书馆信息系统的用例图:增加系统用例模型包、Use Case框图、用例与角色

东北大学考试《软件工程与UML建模X》考核作业参考395

东北大学继续教育学院 软件工程与UML建模X 试卷(作业考核线上2) A 卷 . D 是在系统之外,透过系统边界与系统进行有意义交互的任何事物 A).相关系统B).Use Case C).Class D).Actor 2.软件工程是以 D 为核心 A).过程B).面向对象C).软件开发D).质量 3.“系统开发过程和可交付文档将遵照ZCo-SP0STAN-95中相关规定”,这属于 D A).功能性需求B).客观需求C).主观需求D).非功能性需求 4.“系统每天晚上自动生成进货报表”,Actor是: C A).系统B).其它系统C).时间D).报表审阅者 5.数据流程图是一个分层的概念模型,分三个层次: C ,分别描述系统的不同特征 A).总体图、二级图、三级图B).总体图、二级图、细节图 C).总体图、零级图、细节图D).总体图、次级图、细节图 6.以下用例命名中,最合理的是 B A).进行宠物搜索B).查询宠物 C).宠物查询D).进行宠物查询 7.某系统中有两个用例:一个用例的参与者是用户,用例是“注册”;另一个用例的参与者是系统管理员,用例是“审核用户注册”。这两个用例之间是什么关系? B A).包含关系B).没有关系C).扩展关系D).泛化关系 8.在软件的层次结构中,“一个模块被其他模块直接调用的调用者的数量”是指 B A).深度B).扇入 C).扇出 D).耦合 9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)

软件工程与UML期末试题及答案

软件工程与U M L建模复习题B 一:单选题 1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物 A).相关系统B).Use Case C).Class D).Actor 2.软件工程是以为核心 A).过程B).面向对象C).软件开发D).质量 3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于 A).功能性需求B).客观需求C).主观需求D).非功能性需求 4.“系统每天晚上自动生成进货报表”,Actor是: A).系统B).其它系统C).时间D).报表审阅者 5.数据流程图是一个分层的概念模型,分三个层次:,分别描述系统的不同特征 A).总体图、二级图、三级图B).总体图、二级图、细节图 C).总体图、零级图、细节图D).总体图、次级图、细节图 6.正式运行系统后能够产生的收益被称为 A).直接效益B).运营效益C).最佳效益D).启动效益 7.“以相对短的时间和相对低的成本来确定给定的问题在其约束条件内是否有解、有几种解以及哪个是最佳解”,这指的是软件开发过程中的 A).问题定义B).可行性研究C).需求分析D).设计 8.在处理过程定义中,有时存在多重嵌套的情况,对于复杂的条件组合问题,用自然语言往往不能直观、清楚地表述处理的过程,因此,常常使用方法。 A).数据字典B).判定表和判定树C).用例图D).螺旋模型 9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问

题p1和p2,一般情况下如果C(p1)E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)

软件工程与UML关系概述

本栏目责任编辑:谢媛媛软件设计开发Computer Knowledge and Technology 电脑知识 与技术第6卷第21期(2010年7月)软件工程与UML 关系概述 刘小海 (北京航空技术研究中心,北京100076) 摘要:随着计算机技术的发展,软件工程技术已经进入了一个新的阶段。人们开始使用面向对象的技术,同时UML 融合了多种面向对象建模方法以及多种软件工程方法,成为软件系统设计建模的主要工具。该文从软件工程概述、UML 概述以及UML 在软件工程的应用为基础,对软件工程与UML 管理进行概述。 关键词:软件工程;UML ;建模;关系 中图分类号:TP312文献标识码:A 文章编号:1009-3044(2010)21-5774-02 Overview of Relationship between Software Engineering and UML LIU Xiao-hai (Beijing University of Aeronautics Technology Research Center,Beijing 100076,China) Abstract:With the development of computer technology,software engineering technology has entered a new stage.People began to use of object-oriented technology,and a variety of fusion UML modeling method of object-oriented software engineering methods and soft -ware system,the main tool design modeling.This overview of software engineering,UML overview and UML in software engineering,based on the application of software engineering and UML management are summarized. Key words:software engineering;UML;modeling;relationship 1软件工程的概述 软件工程(Software Engineering ,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程开发和维护软件是通过工程的概念、原理、技术和方法进行的,经过实践而得到的管理技术与当前较好的技术相结合,发开出高质量的软件,并对其进行维护。而传统方法学和面向对象方法学是目前使用较广泛的软件工程方法学。 软件工程的基本原理:1)用分阶段的生命周期计划严格管理;2)坚持进行阶段评审;3)实行严格的产品控制;4)采用现代程序设计技术;5)结果应能清楚的审查;6)开发小组的人员应该少而精;7)承认不断改进软件工程实践的必要性。 2UML 的概述 面向对象的系统分析与设计出现在较晚时期,即20世纪80年代。这是一段试验时期。20世纪90年代早期,在各种方法和建模应运而生并已开始应用的同时,讨论的主要中心是比较方法。在1997年,在行业联盟对象管理组织(OMG )发起人号召之下,工作组发布了一套用于描述和建模面向对象系统的标准,这就是统一建模语言(UML )。UML 是一种建模语言而不是一种方法,UML 本身是独立于过程的。 标准建模语言UML 的主要特点可以归结为五点: 1)统一的标准。UML 已被OMG 接受为标准的建模语言,赿来越多的开发人员开始使用UML 进行开发,越来越多开发厂商开始支持UML 。 2)面向对象。UML 是支持面向对象软件开发的建模语言。 3)可视化、表达能力强大。 4)独立于过程。UML 不依赖于特定的软件开发过程,这也是UML 能被众多软件开发人员接受的一个原因。 5)概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。 3软件开发过程与建模 在软件工程中,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又进一步划分若干个阶段,分别为:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试以及软件维护。 在软件开发过程中,整个软件生命周期受软件范型影响。所谓软件范型(Software paradigms )就是软件开发过程模型,毋庸置疑,选择一个良好的开发范型对于一个软件产品(项目)的开发至关重要。一般情况下,软件范型可分为四种,分别为:过程性范型、面向对象范型、面向进程范型以及混合范型。在建立软件的需求分析和设计模型时,建模的方法要根据不同的范型选择。 收稿日期:2010-05-26 作者名称:刘小海(1966-),男,河北人,高级工程师。 ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.6,No.21,July 2010,pp.5774-5775E-mail:xsjl@https://www.doczj.com/doc/885741902.html, https://www.doczj.com/doc/885741902.html, Tel:+86-551-569096356909645774

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

软件工程课程设计 题目人事管理系统 系计算机系 专业班级软件工程(动画方向)(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.软件的特点: ①软件具有抽象性。 ②软件与硬件的生产方式不同。 ③软件与硬件的维护方式不同。 ④软件具有复杂的逻辑性。 ⑤软件的成本较高。 ⑥软件的使用和社会因素有关。 2.软件危机产生的原因: ①用户需求不明确。 ②缺乏正确的理论指导。 ③软件开发规模越来越大。 ④软件开发复杂度越来越高。

3.软件危机的主要表现: ①软件开发进度难以预测。 ②软件开发成本难以控制。 ③用户对产品功能难以满足。 ④软件产品质量无法保证。 ⑤软件产品难以维护。 ⑥软件缺少适当的文档资料。 4.软件工程学的基本原则有哪些: ①抽象。 ②信息隐蔽。 ③模块化。 ④局部化。 ⑤确定性。 ⑥一致性。 ⑦完备性。 ⑧可验证性。 5 什么是软件的生命周期? 答案:软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。 这就是软件的生存周期。 6 软件工程过程有哪几个基本过程活动?试说明之。 答案:软件工程过程的基本过程活动有4步: ①软件规格说明(需求定义)。规定软件的功能及其运行的限制; ②软件设计与开发(设计开发)。产生满足规格说明的软件; ③软件确认(测试)。确认软件能够完成客户提出的要求; ④软件演进(维护)。为满足客户的变更要求,软件必须在使用的过程中演进。 四、综合题 1.详细说明软件生命周期分哪几个阶段? 答案:软件生命周期主要分为6个阶段:软件项目计划、软件需求分析和定义、软 件设计、程序编码、软件测试,以及运行维护。 (1)软件项目计划:在这一步要确定软件工作围,进行软件风险分析,预计软件

开发所需要的资源,建立成本与进度的估算。根据有关成本与进度的限制分 析项目的可行性。 (2)软件需求分析和定义:在这一步详细定义分配给软件的系统元素。可以用以 下两种方式中的一种对需求进行分析和定义。一种是正式的信息域分析,可 用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格 说明。另一种是软件原型化方法,即建立软件原型,并由用户进行评价,从 而确定软件需求。 (3)软件设计:软件的设计过程分两步走。第一步进行概要设计,以结构设计和 数据设计开始,建立程序的模块结构,定义接口并建立数据结构。此外,要 使用一些设计准则来判断软件的质量。第二步做详细设计,考虑设计每一个 模块部件的过程描述。经过评审后,把每一个加细的过程性描述加到设计规 格说明中去。 (4)程序编码:在设计完成之后,用一种适当的程序设计语言或CASE工具生成源 程序。应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详 细设计描述。 (5)软件测试:单元测试检查每一单独的模块部件的功能和性能。组装测试提供 了构造软件模块结构的手段,同时测试其功能和接口。确认测试检查所有的 需否都得到满足。在每一个测试步骤之后,要进行调试,以诊断和纠正软件 的故障。 (6)软件维护:为改正错误,适应环境变化及功能增强而进行的一系列修改活动。 与软件维护相关联的那些任务依赖于所要实施的维护的类型。 2.试论述瀑布模型软件开发方法的基本过程。 答案:瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分 析和定义,软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相 互衔接的固定次序,如同瀑布流水,逐级下落。然而软件开发的实践表明,上述各 项活动之间并非完全是自上而下,呈线性图式。实际情况是,每项开发活动均应具 有以下特征: (1)从上一项活动接受本项活动的工作对象,做为输入; (2)利用这一输入实施本项活动应完成的容; (3)给出本项活动的工作成果,做为输出传给下一项活动; (4)对本项活动实施的工作进行评审。若其工作得到确认,则继续进行下一项 活动,否则返回前项,甚至更前项的活动进行返工。

《软件工程与UML》期末试题

《软件工程与UML》期末试题 适用专业:考试时间120分钟 一、单项选择题(本大题共小题,每题分,共分) 1. UML图不包括(D ) A. 用例图 B. 类图 C. 状态图 D. 流程图 2. 下面哪一项不是包图中的关系(D ) A .<> B. <> C. <> D. <> 3. 在类图中,下面哪个符号表示继承关系(C ) A. B. C. D. 4. 在类图中,“#”表示的可见性是(B ) A. Public B. Protected C. Private D. Package 5. 消息的组成不包括(C ) A. 接口 B. 活动 C. 发送者 D.接收者 6. 下面哪个视图属于UML语言的交互图(D ) A. 行为图 B. 状态图 C. 实现图 D. 顺序图 7. UML语言包含几大类图形(B ) A. 3 B. 5 C. 7 D. 9 8. RUP中有(C )个核心过程工作流。 A. 1 B. 3 C. 6 D. 9 9. 类之间的关系不包括(D ) A. 依赖关系 B. 泛化关系 C. 实现关系 D. 分解关系 10. 在UML中,协作图的组成不包括(C ) A. 对象 B. 消息 C. 发送者 D. 链 11. 下面哪个符号代表包图(A ) A. B. C. D. 12. 下列对状态图描述不正确的是(C ) A. 状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为。 B. 状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可以说明事件如何随着时间的推移来影响这些状态。 C. 状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率。 D. 状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件做出反应。 13. 在UML的顺序图中,通常由左向右分层排列各个对象,正确的排列方法是(A ) A. 执行者角色控制类用户接口业务层后台数据库 B. 执行者角色用户接口控制类业务层后台数据库 C. 执行者角色控制类用户接口后台数据库业务层 D. 执行者角色用户接口业务层控制类后台数据库 14. 多对象是UML哪个视图中的概念(C ) A. 类图 B. 状态图 C. 协作图 D. 组件图 15. 构件图的组成不包括(C )

软件工程课程设计报告案例

网上招聘系统分析设计

目录 第一章网上招聘系统需求规格说明书.................... - 3 - 第二章软件项目的概要设计说明书. (16) 第三章网上招聘系统详细设计 (54) 第四章软件项目的编码案例说明 (67) 第五章网上招聘系统客户端系统测试计划 (74) 第六章网上招聘系统客户端系统测试设计 (78) 第八章网上招聘系统客户端系统测试报告 (95)

第一章网上招聘系统需求规格说明书 1.导言 1.1 目的 该文档是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求,是概要设计阶段的重要输入。 本文档的预期读者是: ·设计人员; ·开发人员; ·项目管理人员; ·测试人员; ·用户。 1.2 围 该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。 1.3 编写说明 HR,Human Resource(人力资源管理)的缩写。 JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。 UML,Unified Modeling Language(统模语言)的缩写,是一个标准的建模语言。 1.4 术语定义 无 1.5 引用标准 [1]《企业文档格式标准》,****************软件工程过程化组织 [2]《需求规格报告格式标准》,************软件工程过程化组织 1.6 参考资料 [1]《UML说明》,***********************软件 [2]《需求规格报告格式标准》,************公司软件工程过程化组织 1.7 版本更新信息 本文档的更新记录如表A-1所示。 表A-1 版本更新记录 修改编号修改日期修改后版本修改位置修改容概述 001 002 003 004 005 2008.9.5 2006.9.10 2006.9.15 2006.9.16 2006.10.18 0.1 0.2 0.3 0.4 1.0 全部 第3.1节 第4.1节 第5.1节 第7章 初始发布版本 增加 修改 修改 增加 2.系统定义 我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。 2.1 项目来源及背景 本项目是为某公司开发的一个网上招聘系统,由于这个公司的规模比较大,需要招聘 的员工也很多,每次招聘总能收到成千上万的简历,如何挑选合适的应聘者常常是公司比较

软件工程案例教程答案

1.下列所述不是软件特点的是(A) A.软件是有形的 B.软件不存在磨损和消耗问题 C.软件开发成本高 D.软件没有明显的制作过程 2.软件工程的出现主要是由于(C) A.程序设计方法学的影响 B.其他工程学科的影响 C.软件危机的出现 D.计算机的发展 3.以下(C)不是软件危机的表现形式 A.开发的软件不满足用户的需要 B.开发的软件可维护性差 C.开发的软件价格便宜 D.开发的软件可靠性差 4.软件工程的目的是(C) A.建造大型的软件系统 B.开发的软件可维护性差 C.软泥吉安质量的保证 D.研究软件开发的远离 5.下列所述不是软件组成的是(D) A.程序 B.数据 C.界面 D.文档 6.下列对“计算机软件”描述正确的是(A) A.是计算机系统的组成部分 B.不能作为商品参加交易 C.是在计算机硬件设备生产过程中生产出来的 D.之存在语计算机系统工作时 7.软件工程的方法的产生源于软件危机,下列(D)是产生软件危机的内在原因 A.软件的复杂性 B.软件维护困难C软件成本太高. D.软件质量难保证 8.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题 A.软件危机 B.质量保证 C.开发效率 D.生产工程化 9.软件工程学中除重视软件开发的研究外,另以重要组成内容是软件的(A)和过程改进 A.项目管理 B.成本核算 C.人员培训 D.工具开发 10.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴 A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 二、填空题 1.软件工程的目的是成功的建造大型的软件系统,主要内容是开打软件开发技术、软件项目管理和软件质量管理。 2.螺旋式开发模型主要是针对风险比较大的项目而设计的 3.由于软件产生的复杂性和高成本,使大型软件产生出了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。 4.增量模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。 5.喷泉模型比较适合用于面向对象的开发方法。 三、判断题 1.软件开发方法的主要目的是克服软件手工生产带来的问题,使软件开发能进入工程化和规范化的环境(Y) 2.软件工程的提出起源于软件危机,其目的书最终解决软件的生产工程化(Y) 3.软件工程改进也是软件工程的范畴(Y)

东北大学《软件工程与UML建模》期末考试必备真题集(含答案)44

软件工程与UML建模复习题A 一:单选题( 1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物 A).相关系统B).Use Case C).Class D).Actor 2.软件工程是以为核心 A).过程B).面向对象C).软件开发D).质量 3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于 A).功能性需求B).客观需求C).主观需求D).非功能性需求 4.“系统每天晚上自动生成进货报表”,Actor是: A).系统B).其它系统C).时间D).报表审阅者 5.数据流程图是一个分层的概念模型,分三个层次:,分别描述系统的不同特征 A).总体图、二级图、三级图B).总体图、二级图、细节图 C).总体图、零级图、细节图D).总体图、次级图、细节图 6.以下用例命名中,最合理的是 A).进行宠物搜索B).查询宠物C).宠物查询D).进行宠物查询 7.某系统中有两个用例:一个用例的参与者是用户,用例是“注册”;另一个用例的参与者是系统管理员,用例是“审核用户注册”。这两个用例之间是什么关系? A).包含关系B).没有关系C).扩展关系D).泛化关系

8.在软件的层次结构中,“一个模块被其他模块直接调用的调用者的数量”是指 A).深度B).扇入C).扇出D).耦合 9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)

《软件工程与UML》期末试题及答案教学文案

《软件工程与U M L》期末试题及答案

软件工程与UML建模复习题B 一:单选题 1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物 A).相关系统B).Use Case C).Class D).Actor 2.软件工程是以为核心 A).过程B).面向对象C).软件开发D).质量 3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于 A).功能性需求B).客观需求C).主观需求D).非功能性需求 4.“系统每天晚上自动生成进货报表”,Actor是: A).系统B).其它系统C).时间D).报表审阅者 5.数据流程图是一个分层的概念模型,分三个层次:,分别描述系统的不同特征 A).总体图、二级图、三级图B).总体图、二级图、细节图 C).总体图、零级图、细节图D).总体图、次级图、细节图 6.正式运行系统后能够产生的收益被称为 A).直接效益B).运营效益C).最佳效益D).启动效益

7.“以相对短的时间和相对低的成本来确定给定的问题在其约束条件内是否有解、有几种解以及哪个是最佳解”,这指的是软件开发过程中的 A).问题定义B).可行性研究C).需求分析D).设计 8.在处理过程定义中,有时存在多重嵌套的情况,对于复杂的条件组合问题,用自然语言往往不能直观、清楚地表述处理的过程,因此,常常使用方法。 A).数据字典B).判定表和判定树C).用例图D).螺旋模型 9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)E(p2) B).C(p1+p2)=C(p1)+C(p2) C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)

软件工程课程设计方案报告范例

西安科技大学 软件工程课程设计报告 题目:图书馆管理系统 班级:软件工程** 学号: ********** 姓名: ******* 2013年1月

目录 1绪论 (1) 2 可行性研究报告 (1) 3 需求规格说明书 (4) 4 总体设计说明书 (7) 5 数据库设计说明书 (8) 6 详细设计说明书 (9) 7 系统实现 (11) 8测试分析报告 (23) 参考文献

1.绪论 1.1 选题目的及意义 随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。 对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习Java程序设计和Oracle数据库课程,我觉得这个题目虽然没有那么难(涉及算法的内容很少),但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用Java程序设计语言编写界面,访问Oracle数据库中的数据,完成本系统。 1.2 系统概述 本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。 2.可行性研究报告 2.1 编写目的 本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。 本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱好者。 2.2 相关背景 工程名称:图书馆管理应用软件 工程产品名称:高校图书馆管理系统应用软件 工程的组织者:西安科技大学计算机学院软件工程系 产品用户:高校图书馆、中小学图书馆; 产品的生产者:西安科技大学计算机学院软件工程062班袁震; 产品设计者:西安科技大学计算机学院软件工程062班袁震; 2.3 可行性研究的前提 本图书管理系统在功能上要求完成以下基本功能: a).读者、管理员登陆;

软件工程期末考试题3

试卷一 中南大学考试试卷 2006--2006 学年学期时间110分钟 专业年级:总分100分,占总评成绩 100% 注:此页不作答题纸,请将答案写在答题纸上 填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于()软件项目的开发。 2. 需求分析的基本任务是()。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()。 4. 根据程序流程图划分的模块通常是()内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、()和应用软件。 6. UML的定义包括UML语义和()两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( )。 8. IDEF1X图用来描述系统的()模型,主要有实体、联系和()三种成分,其中实体可分为独立实体和(),且一个实体只能在图中出现一次。 二、简答题(本题30分,每小题5分) 1. 什么是软件工程?软件工程和计算机科学有何区别?

2. 面向对象方法和结构化方法有何区别与联系? 3. 什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内? 4. 什么是设计模式?试举例说明组合设计模式的应用。 5.什么是依赖倒置原则?它和开闭原则有何联系? 6. 软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点? 三、绘图题(本题34分) 1. 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。 (1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。 (2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。

软件工程课程设计必备指导书

《软件工程》课程设计指导书 福建农林大学 计算机与信息学院 2010年12月

软件工程课程设计指导书 一、软件工程课程设计指导书适用范围 (3) 二、课程设计基本目的 (4) 三、课程设计选题方案及备选题目 (5) 四、可采用技术简介 (5) 五、课程设计过程与具体要求 (5) 六、角色分工 (8) 七、课程设计交付说明 (10) 八、主要参考文献与网址 (10) 附录A:软件工程课程设计报告格式 (13)

一、软件工程课程设计指导书适用范围 所属课程:软件工程 所属专业:计算机科学与技术、软件工程等 领域方向:软件工程与软件开发实践、网页设计与Web应用、数据库应用与电子商务、Java/.net语言及其应用等等 参考学时:2周或以上 适用学生:学习《软件工程》课程的计算机科学与技术、软件工程等专业的本科生 先修课要求:程序设计、操作系统、数据库等

二、课程设计基本目的 1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。 2.为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、操作系统、数据库、网络编程等)创造实践机会。为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java 开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、积极探索与大胆创新的机会。 3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。 4.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,网页设计技术与常见工具;基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;商用数据库Access(或SQL Server、Oracle、MySql等)设计与实现;客户机/服务器结构)。 5.通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。

软件工程案例教程

第一章 1.下列所述不是软件特点的是(A) A.软件是有形的 B.软件不存在磨损和消耗问题 C.软件开发成本高 D.软件没有明显的制作过程 2.软件工程的出现主要是由于(C) A.程序设计方法学的影响 B.其他工程学科的影响 C.软件危机的出现 D.计算机的发展 3.以下(C)不是软件危机的表现形式 A.开发的软件不满足用户的需要 B.开发的软件可维护性差 C.开发的软件价格便宜 D.开发的软件可靠性差 4.软件工程的目的是(C) A.建造大型的软件系统 B.开发的软件可维护性差 C.软泥吉安质量的保证 D.研究软件开发的远离 5.下列所述不是软件组成的是(D) A.程序 B.数据 C.界面 D.文档 6.下列对“计算机软件”描述正确的是(A) A.是计算机系统的组成部分 B.不能作为商品参加交易 C.是在计算机硬件设备生产过程中生产出来的 D.之存在语计算机系统工作时 7.软件工程的方法的产生源于软件危机,下列(D)是产生软件危机的内在原因 A.软件的复杂性 B.软件维护困难C软件成本太高. D.软件质量难保证 8.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题 A.软件危机 B.质量保证 C.开发效率 D.生产工程化 9.软件工程学中除重视软件开发的研究外,另以重要组成内容是软件的(A)和过程改进 A.项目管理 B.成本核算 C.人员培训 D.工具开发 10.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴 A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济

二、填空题 1.软件工程的目的是成功的建造大型的软件系统,主要内容是开打软件开发技术、软件项目管理和软件质量管理。 2.螺旋式开发模型主要是针对风险比较大的项目而设计的 3.由于软件产生的复杂性和高成本,使大型软件产生出了很多问题,即出现软件危机,软件工程正是为了克服它而提出的一种概念及相关方法和技术。 4.增量模型假设需求可以分段,成为一系列增量产品,每一增量可以分别开发。 5.喷泉模型比较适合用于面向对象的开发方法。 三、判断题 1.软件开发方法的主要目的是克服软件手工生产带来的问题,使软件开发能进入工程化和规范化的环境(Y) 2.软件工程的提出起源于软件危机,其目的书最终解决软件的生产工程化(Y) 3.软件工程改进也是软件工程的范畴(Y) 第二章 一、选择题 1.结构化分析方法是面向(B)的自顶向下逐步求精的分析方法。 A.目标 B.数据流C功能. D.对象 2.在进行软件设计时应该遵循的最主要的原理是(C) A.抽象B模块化. C.模块独立D信息屏蔽. 3.在结构化分析方法中,常用的描述软件功能需求的工具是(C) A.业务流程图、处理说明B软件流程图、模块说明. C.数据流程图、数据字典 D.系统流程图、程序编码

软件项目管理案例教程(第三版)课后习题答案

项目管理案例教程(第三版)习题及答案 第一章软件项目管理概述 一、填空题 1、实现项目目标的制约因素有(项目范围)、(成本)、(进度计划)、(客户满意度)等。 2、项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、(收尾过程组)5个过程组。 二、判断题 1、搬家属于项目。(对) 2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。(错) 3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。(对) 4、项目具有临时性的特征。(对) 5、日常运作存在大量的变更管理,而项目基本保持连贯性的。(错) 6、项目开发过程中可以无限制地使用资源。(错) 三、选择题 1、下列选项中不是项目与日常运作的区别的是(C) A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。 B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。 C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。 D.项目是一次性的,日常运作是重复性的。 2、下列选项中最能体现项目的特征(C) A.运用进度计划技巧 B.整合范围与成本 C.确定期限 D.利用网络进行跟踪 3、以下都是日常运作和项目的共同之处,除了(D) A.由人来做 B.受限于有限的资源 C.需要规划、执行和控制 D.都是重复性工作 4、项目经理的职责不包括(D) A.开发计划 B.组织实施 C.项目控制 D.提供资金 5、下列选项中属于项目的是(C) A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁 6、下列选项中正确的是(C) A.一个项目具有明确的目标而且周期不限 B.一个项目一旦确定就不会发生变更 C.每个项目都有自己的独特性 D.项目都是一次性的并由项目经理独自完成 7、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。 A.过程 B.项目 C.项目群 D.组合 8、(B)是一系列伴随着项目的进行而进行,目的是确保项目能够达到期望结果的一系列管理行为。

软件工程期末复习-北邮范文

1、软件是一种(逻辑实体),而不是具体的物理实体,因而它具有抽象性。 2、需求分析研究的对象是软件项目的(用户/客户/功能+性能/功能)要求。 3、需求分析的任务就是借助于当前系统的(逻辑模型)导出目标系统的(逻辑模型),解决目标系统的(“做什么”)的问题。 4、结构化需求分析方法由对软件问题的(信息/数据)和(功能)的系统分析过程及其表示方法组成。 5、确认测试包括:有效性测试和(软件配置审查,文档审查)。 6、白盒测试的逻辑覆盖方法包括语句覆盖、(判定/判断覆盖)、条件覆盖、(判定/判断-条件覆盖)、条件组合覆盖、(路径覆盖/路径测试/基本路径测试)。注:次序无关 7、为了提高模块的独立性,模块之间最好是(数据耦合) 为了提高模块的独立性,模块最好是(功能内聚) 8、下列关于功能性注释不正确的说法是( B ) A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据 的状态 B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释 9、在UML状态图中,与转移上的事件联系在一起的瞬时操作是(动作) 10、测试的关键问题是(如何选择测试用例) 11、以下说法不正确的是(A)。 A.原型思想是在研究概要设计阶段的方法和技术中产生的。 B.探索型和实验型原型采用的是抛弃策略。 C.进化型原型采用的是追加策略。 D.快速原型方法是利用原型辅助软件开发的一种思想。 12、需求规格说明书的作用不包括(C) A.软件验收的依据 B.用户与开发人员对软件要做什么的共同理解 C.软件可行性研究的依据 D.软件设计的依据 13、软件结构图中,模块框之间若有直线连接,表示它们之间存在(调用关系) 14、下面关于DFD中的加工的描述正确的是( C ) A. 每个加工只能有一个输入流和一个输出流

相关主题
文本预览
相关文档 最新文档