文档库 最新最全的文档下载
当前位置:文档库 › 软件工程复习

软件工程复习

软件工程复习
软件工程复习

软件工程复习

选择和判断

第一章

1、软件定义:软件=程序+数据+文档

程序:按事先设计的功能和性能需求执行的指令序列

数据:是程序能正常操纵信息的数据结构

文档:与程序开发、维护和使用有关的图文材料

2、软件危机

定义:计算机软件的开发和维护过程所遇到的一系列严重问题。

表现:对软件开发成本和进度的估算很不准确

用户很不满意

质量很不可靠

没有适当的文档

软件成本比重上升

供不应求:软件开发生产率跟不上计算机应用迅速深入的趋势

3、软件工程方法学的目的是使软件生产规范化和工程化。

4、瀑布模型存在的问题:阶段间具有顺序性和依赖性。各阶段的工作具有线性性,即前一阶段工作完成后才能开展后一阶段的工作。前一阶段的输出文档就是后一阶段的输入文档(是文档驱动的),开发过程一般不可逆,否则代价太大。

推迟编码。在编码之前先进行系统分析和系统设计。

瀑布模型很难适应需求改变、模糊不定的软件系统的开发,在开发过程中,用户很难参与进去,只有到开发结束才能看到整个软件系统。这种线性的开发过程,缺乏灵活性,不适应实际的开发过程。

5、螺旋模型的特点:螺旋模型(Spiral Model)是结合了瀑布模型和快速原型模型的迭代开发模型,强调了其他模型均忽略了的风险分析(风险识别、风险分析、风险控制),特别适合于大型复杂的系统。

第二章

1、若设年利率为i,现已存入P元,则n年后可得到的钱数为:F=P*(1+i)n,F就是P元钱在n年后的价值。反之,若n年后能收入F元,那么这些钱现在的价值为:P=F/(1+i)n。

2、网络图(可能会考)计算最早时间和最迟时间,选出关键路线

最早时间:起始工作的最早开始时间,如无规定,定为0;其他工作的最早开始时间按“顺箭头相加,箭头相碰取最大值”计算。

最迟时间:终止事件的最早时间和最迟时间相等;其他工作的最迟完成时间按“逆箭头相减,箭尾相碰取最小值”计算。

关键事件:若两个事件的最早时间和最迟时间相等,则称其为关键事件。

关键路线:由关键事件连接的各个活动所组成的路线称其为关键路线。关键路线的线路时间代表整个网络计划的计划总工期。

第三章

需求分析的文档是软件需求规格说明书

第四章

1、总体设计的概念和原理

总体设计的过程:设想供选择的方案,选取合理的方案,推荐最佳方案,功能分解,设计软

件结构,设计数据库,制定测试计划,书写文档,审查和复审。

原理:模块化(Modularization)

模块化是软件工程时代大型软件设计的基本策略,是软件设计的一条基本原理。

模块是程序中表现为数据说明、可执行语句等程序对象的集合,是单独命名和编址的元素。模块化是把软件系统划分成可独立命名和访问的模块,这些模块集成起来完成整体功能需求的过程。

采用模块化原理来设计软件:

可以使软件结构清晰易于设计,易于阅读、理解

使软件易于测试有助于提高软件可靠性

提高软件的可修改性有助于开发工作的组织管理

抽象(Abstraction)——思维工具

定义:抽象是人们把现实世界中的事物、状态、过程的相似性(共性)集中和概括起来,而暂时忽略它们之间的差异。

应用:一个复杂系统可以用一些高级的抽象概念构造和理解,这些高级概念又可以用一些较低级的概念构造和理解,如此进行下去,直至最低层次的具体元素。

软件工程过程的每一步都是对软件解法的抽象层次的一次精化。

抽象与模块化的关系:软件结构顶层的模块,控制系统的主要功能并且影响全局;在软件结构底层的模块,完成对数据的一个具体处理,用自顶向下由抽象到具体的方式分配控制,简化软件的设计和实现,提高软件的可理解性和可测试性,并且使软件更容易维护。

信息隐藏与局部化——指导思想

定义:划分模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。即隐藏每个模块所包含的私有信息。

所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。局部化有助于实现信息隐藏。

应用:在模块中,隐藏的是模块的实现细节;模块之间的交互是为了完成系统功能而必须交换的信息。

优点:易修改。

模块独立(Module Independence)

定义:是指每个模块完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单。模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。

优点:

容易设计和开发。功能分割相对独立,可以简化接口,并且便于分工合作开发。独立的模块比较容易测试和维护。

度量标准(Yourdon & Constantine,1978):

耦合(Coupling):衡量不同模块彼此间互相依赖(连接)的紧密程度。

内聚(Cohesion) :衡量一个模块内部各个元素彼此结合的紧密程度。。

耦合是模块之间的联系,是对一个软件结构内不同模块之间互连程度的度量。

模块间的耦合程度直接影响着系统的可理解性、可测试性、可靠性和可维护性。

耦合性按独立性由强到弱包括7种:内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合、非直接耦合

内聚是模块内部各成分之间的联系(块内联系),是对一个模块内部各成分彼此结合的紧密程度的度量。

内聚性由低到高包括7种:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚和功能内聚。

事实上,对模块的内聚和耦合的级别没有必要去精确界定,重要的是能够辨认出低内聚、高耦合的模块,有能力通过修改设计提高模块的内聚程度和降低模块间耦合程度,做到高内聚、低耦合,从而提高模块的独立性。

2、变换流和事务流的特点

变换流:信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。

数据进入系统,以顺序的方式经过输入->变换->输出

事务流:基本系统模型意味着变换流,因此,原则上所有信息流都可以归结为变换流。

但是,当数据流图的数据是“以事务为中心的”,也就是说,数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这类数据流应该划分为一类特殊的数据流,称为事务流。

数据进入系统,到达事务中心,根据数据计算结果从若干动作路径中选择一条路径离开事务中心

第五章

详细设计的基本任务:

1、为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。

2、对模块内的数据结构进行设计。对需求分析、概要设计确定的概念性的数据结构进行确切的定义。

3、对数据库进行物理设计。确定数据库的物理结构(数据库存储记录格式、存储记录的安排、存储方法等,这些取决于使用何种数据库系统)。

4、其它设计。如代码设计、输入/输出格式设计、人机对话设计等。

5、模块测试用例设计。

6、编写详细设计说明书。

7、评审。

第六章

编码原则:源程序文档化:1)符号名的命名,名字应精练且有意义。2)程序的注释3)

层次结构

数据说明方法:原则:

1)数据说明的次序应规范化,使得数据属性容易查找,并且有利于测试、排错和维护;

2)当多个变量使用一个说明语句时,变量名表应按字母排序;

3)对于复杂的数据结构,应当使用注释说明程序实现时数据结构的固有特点。

语句结构:

语句构造应力求简单、直接,易于理解,不要为片面追求效率而使程序复杂化。

(1)一行内只写一条语句。

(2)程序的编写首先考虑清晰性,不要刻意追求技巧性。(3)合理利用空行、空格隔离符体现语句结构。

(4)嵌套层次不要过深。

输入和输出

由于输入输出信息和用户紧密相关,输入和输出的方法和格式应当尽量方便用户的使用,避免因设计不当给用户带来麻烦,使用户因输入和输出的风格不好而拒绝接受整个系统。

设计时需注意以下几点:

(1)输入简单,并有简单明了的提示;

(2)具有完备的出错检查和出错恢复功能,不能出现让用户摸不着头脑的问题,一切的问题都应由软件解决;

(3)输入/输出格式的保持一致性。

第七章

1、软件测试的目的:

软件测试是为了发现错误而运行程序的过程。

一个好的测试用例能够发现至今尚未发现的错误。

一个成功的测试是发现了至今尚未发现的错误的测试。

2、根据程序流程图画出数据流程图,计算环形复杂度,写出基本路径

环形复杂度=关键节点数+1或边数-节点数+2

独立路径:是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含一条在其他独立路径中未有过的边的路径。

3、白盒测试和黑盒测试的特点

白盒测试:对程序的执行细节进行测试,通过设计测试数据,验证程序模块的每个路径的执行情况,执行路径包括所有的逻辑判定、循环的边界条件和界限内条件等,当程序的逻辑相对简单时,基本能够保证验证所有路径,但是,当遇到多重选择或多层循环嵌套时,不同的路径组合后数目是非常庞大的,无法实现完全的验证。(课本)

白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部结构为基础,设计测试用例。(ppt)

黑盒测试:“黑盒”测的是功能,它检查的内容只包括程序功能是否能按照规格说明书的内容正常使用,程序是否接收输入数据产生正确的输出信息

4、边界值分析法的特点

边界值分析也是一种黑盒测试法,是对等价类划分法的补充。

实践经验表明,程序往往在处理边界情况时发生错误。边界情况指输入等价类、输出等价类边界上的情况。检查边界情况的测试用例是比较高效的,可以查出更多的错误。

选取刚好等于、刚好大于、刚好小于边界的值作为测试用例

5、集成测试的种类

(1)一次性组装方式

一次性组装方式的基本思想是首先分别测试每个模块,然后将所有模块全部组装起来进行测试,形成最终的软件系统。

缺点:

①一次将所有模块组装后的程序会很庞大,各模块之间相互影响,情况十分复杂

②在测试过程中会同时出现很多错误,对这些错误的定位难度增大,修改的过程中可能又会引发其它错误或激发其它潜在的错误

③测试工作十分的漫长。

2)增殖式组装方式

增殖式组装方式是采用循序渐进的方式,每次增加一个模块到已测试好的模块中

1)自顶向下增殖方式

具体的结合策略如下:

①将低层模块组合成实现某个子功能的簇;

②写一个驱动模块,用来提供该功能簇的执行入口和输入/输出界面;

③对该功能簇进行测试;

④在低层继续寻找模块,将该功能簇扩大,重新修改驱动程序,以适应对当前功能簇的测

试。

⑤不断重复第3、4步,完成测试。

2)自底向上增殖方式

具体的结合策略如下:

①将低层模块组合成实现某个子功能的簇;

②写一个驱动模块,用来提供该功能簇的执行入口和输入/输出界面;

③对该功能簇进行测试;

④在低层继续寻找模块,将该功能簇扩大,重新修改驱动程序,以适应对当前功能簇的测

试。

⑤不断重复第3、4步,完成测试。

(3)混合增殖式测试

自顶向下增殖方式和自底向上增殖方式各有优缺点,在实际的测试过程中,可根据具体情况将两种方法结合起来使用。

1)改进的自顶向下的增殖测试:它的基本思想是对涉及输入/输出模块和复杂算法的

模块先采用自底向上的测试方法,将这些模块组装成为功能相对完整且相对独立的子系统,然后由主模块开始自顶向下进行增殖测试。

2)混合测试法:它首先对软件结构中较底层的模块自底向上组装测试,然后对软件结

构中较上层的模块采用自顶向下的方法进行组装与测试。

第八章

1、软件维护的类型及所占比例

改正性维护(21%)适应性维护(25%)完善性维护(50%)预防性维护(4%)

2、软件维护的特点

(1)软件维护活动花费的工作量占整个生存期工作量的70%以上。

影响软件维护的因素有以下几种:

1)系统规模:系统越大就需要越多的维护工作量;

2)程序设计语言:语言的功能越强,生成程序的模块化和结构化程度越高,所需的指令数越少,程序的可读性越好;

3)系统年龄:老系统大多存在很多问题,如结构混乱,难于理解,没有文档或文档少,文档与程序实现不一致等;

4)所应用技术:应用先进的数据库技术和软件开发技术可减少大量的工作量;

(2)维护的代价高昂:软件的维护代价分为有形的代价和无形的代价

(3)维护的问题很多:与软件维护有关的绝大多数问题,都可归因于软件定义和软件开发的方法有缺点。在软件生命周期的头两个时期没有严格而又科学的管理和规划,几乎必然会

导致在最后阶段出现问题。

(4)结构化维护与非结构化维护差别巨大。

3、维护的副作用

(1)修改代码的副作用。在修改源代码时,由于软件的内在结构等原因,任何一个小的修改都可能引起的错误。因此在修改时必须特别小心。

(2)修改数据的副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件出错。数据副作用就是修改软件信息结构导致的结果。修改数据副作用可以通过详细的设计文档加以控制,此文档中描述了一种交叉作用,把数据元素、记录、文件和其他结构联系起来。

(3)修改文档的副作用。对软件的数据流、软件结构、模块逻辑等进行修改时,必须对相关技术文档进行相应修改。但修改文档过程会产生新的错误,导致文档与程序功能不匹配,缺省条件改变等错误,产生文档的副作用。

为了控制因修改而引起的副作用,应该:按模块把修改分组;自顶向下的安排被修改模块的顺序;每次修改一个模块。

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

软件工程实验报告最终版

合肥师范学院实验报告册 2012 / 2013 学年第一学期 系别计算机科学与技术系 实验课程软件工程 专业计算机科学与技术 班级2010级计算机应用 姓名马军福董国运李思贤 学号1010411024 1010411008 1010411076 指导教师范庆春

实验一:结构化方法建模的基本应用 1.实验目的 (1)了解Visio工具软件的功能特色、安装、工作环境和基本操作等基本知识; (2)掌握应用Visio工具的基本使用方法和基本绘图操作; (3)熟悉结构化分析建模的基本应用。 2.实验内容 (1)使用Visio 建立期刊管理系统的实体-关系图; (2)使用Visio 建立期刊管理系统的数据流图。 3. 实验要求 使用Visio 建立期刊管理系统的实体-关系图、数据流图。数据流图要绘 制三层。 4.实验结果和体会 (1)需求陈述 在图书管理系统中,管理员要为每个读者建立借阅账户,,账户内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员借阅、归还期刊,读者可通过互联网或图书馆内查询终端查询期刊信息和个人借阅情况,以及续借期刊。 借阅期刊时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还期刊时,输入读者借阅卡号和期刊号,系统显示读者和期刊的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或期刊淘汰处理。然后提交还书请求,系统接受后删除借阅纪录,并登记修改可借阅期刊的数量。 期刊管理系统包括:1.读者信息管理a:借阅请求b归还请求c:查询请求d:修改自身信息2.期刊管理a:修改书目、出版日期、编辑b:增加书目数据、删除书目数据。3.期刊借阅a:增加所借读者信息b:删除所借读者信息4.期刊查询a:已借出图书列表b:未借出图书列表5.期刊的征订6.期刊内容登记题目、作者姓名、作者单位7.期刊内容查询

软件工程实验报告

软件工程实验报告 姓名:冯巧 学号 实验题目:实验室设备管理系统 1、系统简介: 每天对实验室设备使用情况进行统计,对于已彻底损坏的作报废处理,同时详细记录有关信息。对于有严重问题(故障)的要即时修理,并记录修理日期、设备名、修理厂家、修理费用、责任人等。对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后立即对新设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。 2、技术要求及限定条件: 采用C#语言设计桌面应用程序,同时与数据库MySql进行交互。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案实施相对容易,成本低,工期短。 一:可行性分析 1、技术可行性分析 计算机硬件设备,数据库,实验室设备管理软件与实验室设备管理系统的操作人员组成,能够实现实验室设备管理的信息化,提高工作效率,实现现代化的实验室设备管理。系统需要满足实验室设备管理(包括对实验设备的报废、维修和新设备的购买)、实验室设备信息查询(包括按类别进行查询和按时间进行查询)、实验室设备信息统计报表(包括对已报废设备的统计、申请新设备购买的统计和现有设备的统计)。这些功能框图如下图所示: 2、经济可行性分析 依据用户的现实需求、技术现状、经济条件、工期以及其他局限性因素等等因素,考虑到工期的长短、技术的成熟可靠、操作方便等因素,本方案具备经济可行性。

3、系统可选择的开发方案 ①方案A用C#开发系统的特点是:开发工具与数据库集成一体,可视化,开发速度较快,但数据库能够管理的数据规模相对较小。系统对硬件的要求低,不需要网络支持,在单机环境下也能运行,在局域网环境下也能使用。方案的实施相对容易,成本低,工期短。 ②方案B:以小型数据库管理系统为后台数据库,该前台操作与数据库分离,也能够实现多层应用系统。系统对硬件的要求居中,特别适合在网络环境下使用,操作方便。但系统得实现最复杂,成本最高,工期也较长。 二:软件需求分析 1.软件系统需求基本描述: 实验室设备管理系统是现代企业资源管理中的一个重要内容,也是资源开发利用的基础性工作。实验室设备在信息化之前,在用户系统管理、设备维修管理、设备的增删改查管理等方面存在诸多不利于管理的地方,不适应现代的企业管理形势和资源的开发利用。 2.软件系统数据流图(由加工、数据流、文件、源点和终点四种元素组成): 1)顶层数据流图 2)二层流程图 3)总数据流图

软件工程实验二66217

软件设计实验 一、实验目的 学会使用Case工具完成描述软件结构的软件结构图和软件层次图的设计,并熟练地掌握几种常用的软件详细设计的工具,如程序流程图、盒图、PAD图和判定表,并能把给定的软件问题描述转化为过程设计结果。 二、实验内容 1、软件结构设计: (1)采用visio绘制教材的图4.26中的软件结构图; (2)采用visio绘制教材的图4.41的软件层次图。 (3)分析如下所示的数据流图,并把它转换成软件结构图,然后 用visio把结果画出来。(注意,请用结构图) 图1 某系统的数据流图 2、软件的详细设计:某航空公司规定,乘客可以免费托运重量不超过20公斤的行李,当行李重量超过20公斤,对头等舱的国内乘客超重部分每公斤收费6元,对其他舱的国内乘客超重部分每公斤

收费

8元,对外国顾客超重部分每公斤收费比国内乘客多1.5倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。 实验包含三部分的内容: a)用word设计描述其详细设计结果的PAD图、判定表。 b)用viso画出它的程序流程图,并计算它的Mccabe程序复杂度。 (要求把计算过程写到实验报告中) 三、实验结果 【本人用诚信保证,实验都是本人自己实践完成的,标准原创】 1.(1)教材的图4.26中的软件结构图

(2)教材的图4.41的软件层次图

2. a)PAD图

开 开 开开 开开 开开 开开 T F P1 P1开开开20kg T P2 F P2开开开开开 P3 开开开开开开开开6开/kg 开开开开开开开开9开/kg 开开开开开开开开3开/kg P3开开开开开开开开 T F P4 P5 开开开开开开开开 4.5开/kg P6 T F 开开开开开开开开8开/kg 开开开开开开开开4开/kg 开开开开开开开开12开/kg 开开开开开开开开6开/kg P4开P5开开开开开开开 P7 P8 P7开P8开开开开开开开 PAD 开 P6开开开开开开开开开 判定表【原创】

软件工程测试实验

淮海工学院计算机科学系实验报告书 课程名:《软件工程》 题目:软件测试实验 班级:软件121 学号:2012122722 姓名:朱德坤

软件测试验报告要求 1目的与要求: 1)系统学习和理解结构化软件工程实现阶段的基本概念、原理、技术和方法; 2)掌握软件测试的基本技术和方法,特别是白盒测试与黑盒测试技术和方法; 3)通过实验,要逐步提高白盒测试与黑盒测试技术的实际应用能力; 4)熟悉C++编程环境下编写、调试单元代码的基本操作技术和方法; 5)按照实验题目要求独立完成本次试验任务,严禁拷贝、抄袭他人设计成果; 6)认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例,测试结果分析等),并于5月5日以前提交。 2 实验内容或题目 1.选择结构化详细设计试验中自己设计的某一具有代表性控制结构模块(含有分支和循环结 构),并用C语言实现(提前准备好,每种测试用例分别写在作业本上,上机时带上检查),而后分别完成下述2、3、4各题测试用例设计和测试结果分析; 2.采用白盒测试技术中逻辑覆盖方法(至少包含语句覆盖、判定覆盖、条件覆盖、条件组合 覆盖)设计测试用例,完成测试(测试屏幕截图)和测试结果分析; 3.采用白盒控制结构测试技术的基本路径测试和边界测试方法设计相应测试用例,并完成测 试和测试结果分析; 4.采用黑盒测试技术中的等价类划分方法设计相应测试用例(可重选适合黑盒测试技术的模 块),并完成程序测试和测试结果分析; 3 实验步骤与源程序 程序流程图:

流图:

程序: //拥有超级用户superuser,密码zdk #include #include #include #include #include using namespace std; int PD; //全局判断执行码 void SetPos(int i,int j) //界面光标位置函数{ COORD pos= {i-1,j-1}; HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE);

软件工程试验

软件工程实验内容及要求 一、实验内容 软件工程实验是《软件工程》课程的一个重要的、不可或缺的实践环节。其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件总体设计、软件详细设计、软件测试等阶段的方法和技术。通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。同时课程设计应充分体现“教师指导下的以学生为中心”的教学模式,以学生为认知主体,充分调动学生的积极性和能动性,重视学生自学能力的培养。 学生通过结组选择下面的题目,完成软件工程实验要求。 1、QQ实时聊天程序 2、期刊在线投稿审稿管理系统 3、出卷系统 4、列车时刻查询决策系统 5、员工培训管理系统 6、中小学智能排课系统 7、网上求职与招聘系统的设计与实现 8、城市公交查询系统的设计与实现 二、实验要求 本课程设计要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。具体要求如下: 1. 每个班级按项目小组进行分组,每组5人,分别负责需求分析、设计、编码、测试和质量保证; 2. 每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目。项 目经理负责制定“项目开发计划”、管理项目并根据项目进展情况对项目开发计划进行调整; 3. 项目开发计划必须由粗到细通过GANT图给出,每项任务要落实到人且规定该任务的起止日期和时 间;明确每个阶段提交文档的日期和时间;每个项目小组必须明确指定文档的审查小组和审查人员以及审查结果的返回日期;审查小组和审查人员不得是完成被审查内容的完成者;审查结果至少包括:存在的问题、出现问题的所在文档的位置及页码、具体建议等; 4. 每个项目小组必须按照给定的文档规范标准提供下列文档,文档中必须注明执笔者、完成者(签 名)和完成日期,其中完成需求分析和设计工作的人员不能相同,完成编码和审查/测试的人员不能相同;文档包括:编码清单(部分或全部)、详细设计规格说明、概要设计规格说明、需求分析规格说明、项目开发计划(包括调整的项目开发计划)、测试报告等。 5. 每个项目小组可以选择完成编码、测试等阶段的部分任务。 6. 根据合理的进度安排,一步一步、踏踏实实地开展课程设计活动,按时完成每部分工作。课程设 计过程中,坚持独立完成,分成小组进行的要有明确的分工,并在报告中给以说明。 课程设计内容主要包括:

软件工程实验报告(总)

信息工程学院软件工程实验报告 专业: 班级: 学号: 姓名: 指导老师:

实验一:软件开发的过程计划 实验课时:2课时 一、实验目的 项目计划的目的是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照计划有条不紊地开展工作。 ⑴估计项目的总体规模、工作量和成本。 ⑵制定项目计划,重点放在产品生命周期中的主要关键任务。 ⑶制定项目时间表和预算。 二、实验环境 1.硬件环境 P4以上的个人计算机环境,要求内存不少于512MB,硬盘不小于20G.。 2.软件环境 操作系统:Windows XP 数据库:Sql Server 2000以上或Access 2003以上 3.通用工具软件 通用绘图工具:MicroSoft Visio 2003以上 文本编辑工具:MicroSoft Word 2003以上 4.CASE工具 UML建模工具:Rational Rose 2000 三、实验要求、实验内容 1、实验要求: 在进行实验之前,必须掌握软件开发过程的一些基础知识,准备参考资料和阅读相关的过程模型的文档。 2、实验内容 熟悉RUP(Rational Unified Process)软件开发统一过程的思想,RUP(Rational Unified Process)是由Rational公司(现已是IBM公司的一部分)提出的过程模型,它软件工程史上最完整、最成熟、最优秀的过程模型之一。 学习软件开发的组织和管理,将项目开发各阶段的任务明确,掌握各阶段的里程碑,并熟悉相应的工具。

四、思考题 1、项目开发首先要做的事是什么? 答:进行需求分析和定义,了解客户或用户的需求,然后再进行后续。 2、你认为该软件应具备的最重要的特性是什么。 答:安全性、实用性、灵活性。 3、你认为怎样分工是最合理的? 答:该项目已经采取项目经理制,但是在具体开发过程中,情况也许会比预计的复杂,因此,在了解了各组员的工作风格的情况下,根据性格类型进行工作分配,比如:外向而且善于交流的,可以给他安排和客户交流沟通,让客户随时了解我们 的工作情况,并且反应客户的需求改变;为了让项目更好的组织和管理,可以采取 主程序员负责制;这样,在项目经理的带领下,内部安排主程序员和副程序员,工 作员有问题的话,内部自己解决,只要按时汇报工作就可以了。 五、实验内容: 项目背景 项目名称:银行计算机储蓄系统 随着社会经济的发展,XX银行的业务不断增长,传统的依靠手工的存取款业务办理方式已经不能满足不断增长的业务需求。其一,业务需求的增加需要消耗大量人力物力资源;其二,业务复杂化导致人工处理方式出错率增加,从而引起储户不满。一方面可以减轻银行业务员的工作量,另一方面可以减少工作的出错率,从而提高工作效率。现在计算机网络的告诉发现使越来越多的人更喜欢在网购物、在家存款取款。在这样的背景下,很明显现在的银行储蓄系统已经不能满足人们越益增长的需求,急切需要建立一个新的、高效的、方便的、互联的计算机储蓄系统。为解决此问题,拟为其开发计算机储蓄系统。 项目进度: 项目在项目经理的制度下,在整个开发过程中,树立“里程碑”,而且严格按照计划进行,各阶段任务必须完成,现把任务进度历程绘制如下:

软件工程实验报告

软 件 工 程 实 验 报 告 班级:计算机科学与技术1102班 学号:1108030209 姓名:蒙雨茹

实验一:使用Microsoft Visio 1.1实验目的: (1)熟悉Visio的工作环境及组成。 (2)掌握Visio软件绘制图表的基本操作。 (3)掌握基本流程图的设计方法。 1.2实验内容: 绘制基本流程图 1.3实验步骤: (1)打开一个模板,,在主菜单中依次选择【文件】->【新建】->【选 择绘图类型】,出现“选择绘图类型”窗口,在【类别】下,单击 【流程图】,在【模板】下,单击【基本流程图】。 (2)添加形状,将【形状】窗口中模具上的自己需要的形状拖到绘图页 面中合适的位置。并添加文本、连接不同形状,使流程图完整的显 现出来。 1.4实验结果:

实验二:数据流图 2.1 实验目的 (1)熟悉Visio的工作环境及组成。 ⑵掌握Visio软件绘制图表的基本操作。 ⑶掌握数据流图的设计方法。 2.2 实验内容 习题3-3,3-4,3-5 2.3 实验步骤 (1)打开模板 ①在主菜单中,依次选择【文件】——【新建】——【选择绘图类型】,出现“选择绘图类型”窗口。 ②在左侧【类别】下,单击【软件】。 ③在右侧【模板】下,单击【数据流模型图】。 (2)绘制顶层图 ①在顶层进程页面中添加、移动图形元素并调整其大小。将所需要元素用鼠标拖动到模板里,添加所需的元素符号。 接口:输入源点或输出终点,其中注明源点或终点的名称。 进程:即处理,输入数据在此进行变换产生输出数据,其中注明进程的名称。数据存储:用于代表系统中存储的信息,其中注明信息的名称。 数据流:被加工的数据及其流向。流线上注明数据名称,箭头代表数据流动方向。 ②向图形元素中添加文本,并修改数据流图中的文字和格式。 连接图形元素。 ③使用“数据流”连接线将“接口”、“进程”和“数据存储”等形状互相连接起来。 逻辑连接:将数据流起点、终点拖拽到进程或接口中央位置,进程或接口被红色框包围时松开鼠标,这时可看到数据流符号相应端点为红色方框。拖动进程或接口,可看到流据流的端点随着进程或接口的移动而移动。

软件工程课后习题答案

第一章 1.1举出至少5个例子来说明“意外效应法则”在计算机软件方面的应用。 答:典型的例子包括使用“数字汽车仪表板”的软件,赋予高科技,高品质的图像的软件;如广泛的消费类电子产品的软件;个人电脑,工业仪器仪表和机器的软件。软件分化出的在电子商务方面的应用。 1.2举例说明软件对社会的影响(包括正面影响和负面影响)。 答:这是一个很好的课堂讨论问题(如果时间允许),而不是专注于老生常谈的(但很重要)隐私问题,生活质量等问题。您可能想要讨论关于”技术恐惧“方面的问题,软件也许会使它恶化但也可能减少”技术恐惧“。另一个有趣的方面是使用诺依曼的“风险”列在中做重点讨论。你也可以考虑基于软件的“现金”经济,新模式的互动娱乐,虚拟现实,电子商务等方面来思考软件对社会的影响。 1.3针对1.1节提出的5个问题,请给出你的答案,并与同学讨论。 答:软件需要如此长的开发时间: a)设施不上线 b)开发工具并不如预期般运作 c)客户提出的新要求,需要重新设计和返工 d)产品依赖于政府的规定,被意外更改。 e)严格的要求,与现有系统的兼容性需要超过预期更多的测试,设计和实现。 f)多个操作系统下运行的任务需求比预期需要更长的时间。 g)软件项目风险管理比预期需要更多的时间。 h)依赖的技术仍处于开发阶段,从而延长日程安排。 开发成本高: a)比当时预期低得令人无法接受的质量,需要进行更多的测试,设计和实施工作。 b)制定了错误的软件功能需要重新设计和实施。 c)开发错误的用户界面,而导致重新设计和实施。 d)开发了不需要的额外的软件功能而延长了开发日程安排。 在将软件交付顾客使用之前,我们无法找到所有错误: a)产品依赖于政府监管,意外而改变。 b)产品技术标准草案,会意外更改。 c)有时会在项目后期添加新的开发人员。 d)因为团队内的冲突有时会导致沟通不畅,而产生糟糕的设计。 e)破坏高效调度产生的项目管理成果和无效的规划 f)有时装备部件质量差,导致额外的测试,设计和集成工作和管理额外的客户关系。 软件开发和维护的过程仍旧难以度量: a)有时该项目的目的是不明确。 b)有大量的业务所涉及的风险。 c)如果产品内置没有装好。 d)我们需要不断检讨我们的工作。 e)进行维护检查的时间。 f)在整个软件开发过程中要彻底组织项目团队。 1.4在交付最终用户之前,或者首个版本投入使用之后,许多应用程序都会有频繁的变更。

软件工程实验答案

实验一 实验内容: 1.上网了解查询软件工程网站和相关软件工程知识 2.了解软件工程环境概念、层次、组成和开发要求。 3.查询现有主流的软件工程工具及其功能、用途、特点及适用范围。 4.浏览CASE工具。通过互联网了解现有软件工程主流工具,完成表的内容。 表1-2软件工程工具分类

Firefly 开源奇葩: CVS 5、 1:自动化测试工具,其中有Web的,应用软件的,还有单兀测试的?以上具有代表]性常用的软件是: Sele nium, Watir, Winrunner, Loadr unner, Junit 等等 2:软件测试管理工具。代表性常用软件 有:Testdirector , ClearQuest 和bugzilla 等 6、版本控制工具;文档 分析工具;开发信 息库工具;逆向工 程工具;再工程工 具。 7、DbgView 调试信息查 看器 8、SFRE 9、gprof 上的存储目录以供客户端访问,这将带来 F /V 虫 定安全隐忠 Firefly服务器上的存储目录不用共享,对客户端不透明,客户端不可直接访问存储目录,使 系统更安全可靠 CVS采用C/S模式,不需要共享服务器上的存储目录,安全性较好 PVCS基于文件系统共享,而且需要以"可 写"的权限共享存储目录,存在较大的安全隐患VSS基于文件系统共享实现对服务器的访问,需要共享存储目录,这将带来一定安全隐患 5、提高测试人员的工作效率和质量 6、 7、bgView调试信息查看器不仅仅能作为调试信息输出,而且可以作为一个信息输出软件,监视您的软件运行,目前支持mfc和windows 下dos信息输出. &从整体上支持该分析阶段的再工程自动化工具 9、用gprof对程序进行分析主要分以下三个步 骤: l 用编译器对程序进行编译,加上-pg 参数。 l 运行编译后的程序。 l 用gprof命令查看程序的运行时信 息 1-3

软件工程实验内容

实验指导(Experiments) 实验题目:在以下范围内任选一道题目或自定一个题目。

题目医院病房监护系统 在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(组合)实时地传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。系统根 据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。

实验内容 实验一软件需求分析 1.实验目的: 1) 根据所选定题目进行需求分析工作; 2) 通过实例掌握结构化数据流分析技术; 3) 进行业务需求分析、用户需求、功能需求、非功能需求分析; 2.实验要求: 要求做到使用结构化数据流分析技术分析课题需求,写出详细的数据流图和数据字典,数据流图的基本处理的个数不得少与2 个。 3.实验内容: 用结构化数据流分析技术进行软件系统需求分析,得出系统得数据流图和数据字典。 4.实验步骤: 1) 通过相关途径进行需求分析。 2) 综合利用Internet 网和相关书籍整理并完善需求分析。 3) 画出系统数据流图。 4) 得出系统数据字典。 5.实验学时:3学时。 6.实验结果:上交实验报告。 实验二软件设计 1.实验目的: 1) 建立初始结构图; 2) 对初始结构构图进行改进、优化; 2.实验要求: 用面向数据流的软件设计技术,对上一实验的数据流图和数据字典,进行总体设计;要求做到对上一实验的软件需求进行软件结构设计。 3.实验内容: 主要解决实现该系统需求的程序模块设计问题。(包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。) 4.实验步骤: 1.首先确定系统总体设计方案。 2.完成系统的模块结构图及模块的功能说明 3.完成系统的接口设计 4.完成系统的数据结构设计 5.实验学时:2 学时。 6.实验结果:上交实验报告。

软件工程实验二

实验二熟悉面向对象建模过程 一、实验目的与要求 1.掌握 UML 工具 Enterprise Architect(Visio 或 Rational Rose)的使用; 2.了解面向对象软件建模过程; 3.把握类图、对象图、顺序图之间的关系。 二、实验环境 1.PC,CPU:P4 2.0GHz 以上,内存:512M,硬盘:40GB 以上; 2.操作系统:Microsoft Windows 2000 /2003/XP; 3.软件:E.A.、Microsoft Visio 或 Rational Rose 三、实验要求: 1.绘制的图形清楚,排版美观 2.类图、对象图和顺序图之间的关系设定正确 3.代码与模型相互印证,能按模型实现代码。 四、实验内容与步骤 B.领养电子宠物游戏 电子宠物是多种人工玩伴的其中一种,一般作陪伴人类或娱乐用途。人们可以饲养电子宠物以取代真正的宠物,玩家从宠物商店领养一只电子宠物。玩家可以“喂养”宠物,与宠物玩耍。描述比较简单,可以发挥想象完善宠物游戏。 参照书本上的分析与设计过程,选择 A 或者 B,重新建立系统的用例模型(包括用例文本)、领域模型、对象交互的顺序图、类图等模型,并按照模型实现。 请注意模型的顺序与前后关系,以及代码与模型的关系。要求每个人独立完成,并演

示。

1. 定义用例: 用例图: uc pet 领养宠物 查看宠物资料玩家 与宠物互动 用例规约: 用例编号:UC01用 例名称:领养宠物 简要说明:该用例描述玩家是如何领养宠物的。 参与者:玩家前置条件:玩家通过身份认证 后置条件:玩家成功领养电子宠物,正确记录交易日志。触发事件:玩家在主菜单中选择领养宠物。 基本流: 1.玩家选择“领养宠物”操作。 2.系统提醒玩家选择所要领取的宠物的类别。 3.系统提醒玩家填写宠物姓名。 用例编号:UC02用例名 称:查看宠物资料 简要说明:该用例描述玩家是如何查看宠物资料的。 参与者:玩家前置条件:玩家通过身份认证 后置条件:玩家成功查看宠物资料。 触发事件:玩家在主菜单中选择查看宠物资料。 基本流:

软件工程实验课题

图书管理系统 组长:杨晓华 组员:巴雅尔图、那日苏、张天、 牛莉、杨宇婷 作业提交日期:二О一五年十月3三十日

作者简介 组长:杨晓华学号:120714241 学院:经济管理学院 组员:巴雅尔图学号:110412185 学院:生态环境学院那日苏学号:111710874 学院:兽医学院 张天学号:120714242 学院:经济管理学院 牛莉学号:120714767 学院:经济管理学院 杨宇婷学号:120715553 学院:经济管理学院

图书管理系统 摘要 简单介绍了图书管理系统数据库的设计和系统功能的实现过程。该系统是运行在学校网络上的网络图书管理系统,由图书编目,图书管理,读者管理,资料管理,Web查询等几个子系统组成,,实现了图书资料的计算机网络管理和Web查询功能。计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求,建设图书馆信息网络系统,是图书馆现代化建设的客观要求。建设以计算机为核心的图书馆信息网络,实现图书馆管理和服务的自动化,更好地为科技工作服务,是图书馆发展的必由之路。目前,国内大部分高校图书馆都实现了网络管理,目前图书馆都在在朝着这个方向发展。 关键词:图书,网络,数据库,管理系统,VC

一、系统可行性分析 1.总体功能设计 根据高校图书馆的实际情况和校园网网的现状,我们确定了网络图书系统应该具备8个方面的功能,它们是图书编目,图书采购,图书管理,读者管理,标准管理,资料管理,系统维护,Web查询。其中Web查询是该系统突出的特点,它的实现是因为有学校校园网的支持。系统组成和功能框图见图1。 图2 业务流程图 图3 读者

(上课)软件工程实验一

实验指导书课程名称软件工程导论 学院信息工程学院 班级 学号 姓名 2018年 2 月 24 日

系统简介:某单位准备开发一个购买办公用品与设备的总务办公管理系统。办公用品的购买申请由各科室提出,由负责总务工作的办公室统一收集。其中,购买申请的金额低于500元(含500元)可以由总务办公室直接审批,而高于500元的购买申请由机构主管领导审批,批准的购买申请形成采购清单由采购员负责购买,同时应记录每次实际购买清单,进行入账。在提出购买申请时要包括下述数据:申请单位、物品名称、物品数量、预计价格、物品用途等。每次购买完成后应记录以下数据:物品名称、物品数量、价格、总金额、购买日期、经办人等。 案例二:火车票预订系统 系统简介:某高校后勤集团为了学生寒暑假返乡,办理代学生预订返乡火车票事务,订票必须提前三天办理,后勤订票处提前三天向火车站办理购票事务。订票处使用一台微机处理订票后购票事务,学生订票一次称为一个事务,由订票员将其输入在微机中,系统核实订单后,将订票信息记录放在订票库中。系统每天打印预订三天的购票单,并更新订票库。 请对以上系统进行业务流程分析后,绘制出该系统的系统流程图。 实验原理: 系统流程图就是描绘物理系统的传统工具。就是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。表达的就是信息在系统各部件之间流动的情况,而不就是对信息进行加工处理的控制过程。 系统业务流程图的符号:

基本符号 系统符号实验过程与结果: 一、操作步骤: 1.运行Microsoft Office Visio 2010

2.选择流程图中的基本流程图模板 3.用鼠标选拉图标进行绘图 二、实验结果:

软件工程教育的三个视角

软件工程教育的三个视角 李晓华 河北省城乡规划设计研究院,河北石家庄(050021) E-mail:lixiaohuacn@https://www.wendangku.net/doc/5a11965112.html, 摘要:系统分析员与软件架构师视角的软件工程教育强调培养学生获取用户需求和设计软件架构的能力,即培养学生对企业逻辑进行分析、抽象、设计和表现的能力。软件设计师视角的软件工程教育则强调培养学生对企业逻辑进行细化、优化、完善和表现的能力。程序员视角的软件工程教育则强调培养学生对企业逻辑进行编程实现的能力。还简明地阐述了“在做中学的软件工程教育理念”。 关键词:角色,需求分析,构件,类,编程 中图分类号:TP311 1. 引言 软件工程教育向学生传授关于大规模软件生产的知识、理念、技术和经验。软件工程的思想贯穿于整个软件生产过程----软件过程,软件过程的不同阶段需要不同的软件工程角色的参与,软件工程角色是由软件开发者扮演的。要胜任软件工程角色,软件开发者需要接受必要的软件工程教育和训练。不同的软件工程角色所要求接受的软件工程教育的内容和特点是不一样的。从系统分析员与软件架构师、设计师、程序员的角度研究软件工程教育,形成了软件工程教育的三个视角。 2. 软件工程教育的三个视角 软件工程的系统分析员与软件架构师、设计师、程序员角色之间并没有决然的界限,也并没有高低之分,只是职责不同而已,随着角色扮演者的知识、技术、技能、经验的侧重点发生转移,可以从一个角色过渡到另一个角色,或同时扮演几个角色。软件工程项目、角色、阶段、人员之间的关联关系用UML(Unified Modeling Language 统一建模语言)的类图描述,如图1所示。 图1 软件工程角色等要素的UML类图描述 2.1 系统分析员与软件架构师视角 从系统分析员与软件架构师的角度来看,软件工程教育的目的是培养学生的思维从企业领域向计算领域过渡的综合能力,这种能力表现为:企业领域知识;获取企业逻辑(企业

软件工程实验

软件工程实验 实验一结构化分析实验(2学时) 实验目的:通过此实验了解结构化分析的特点和步骤,以及结构化分析所采用的基本图形工具。 实验内容: 假设你在一所职业高中工作,负责该校信息系统的建设和维护。财务科长请你研究用学校拥有的pc机生成工资明细表和各种财务报表的可能性。 实验要求: 1.问题定义:请在这个阶段描述你需要解决的问题。包括用户面临的问题和预期的项目规模。最后生成一份问题定义报告书。 2.可行性研究:在这个阶段产生处理工资事务的大致过程,画出高层逻辑模型,并且画出相应的数据流图,建立数据字典。 3.对此系统进行成本效益分析。 实验二结构化设计实验(2学时) 实验目的:能够通过结构化分析的结构进行设计,了解设计过程中的模块化原理。 实验内容:在上一次实验已经用结构化分析方法详细地分析了这个工资支付系统,请从结构化分析所得到的结果(完整数据流图),判断为事务流或是变换流,采用模块化的方法,设计工资支付系统的结构。最终生成一个工资支付软件结构。 实验要求: 写出设计过程、画出工资支付软件结构,用层次图表现。 实验三软件测试实验(2学时) 实验目的:了解软件测试的基本概念,以及黑盒、白盒测试的基本过程。 实验内容: 设计测试下列函数的测试方案: 函数Search(somearray,size,value)的功能是,在一个整数数组somearray中搜索一个值为value的整数,如果数组中有这个数,则函数值等于该数的下标,否则函数值等于-1。数组的长度由参数size指定。假定数组第一个元素的下标为1。 实验要求: 1.采用黑盒测试的方法,写出相应的测试用例 2.用c语言实现此函数,并且由此设计白盒测试方案(选做)。 实验四面向对象分析(2学时) 实验目的:通过采用面向对象的方法对问题进行分析,建立系统的对象模型和功能模型。动

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

[软件工程]关于软件工程教育的几点思考

关于软件工程教育的几点思考 摘要:软件工程是一门应用性较强的学科,该学科的教育方式有其自身的特点,在教学过程中,重视软件工程教育的多元化、工程化、本地化和国际化,根据各个特点安排合适的课程,以提高该学科的教学效果,促进软件行业的发展。多元化主要培养学生对行业领域区分的能力;工程化则重点培养学生对工程领域基本概念的了解;本地化是突出软件工程与地方企业之间的互相影响;国际化体现了软件工程学科当前的发展现状。 关键词:软件工程;工程化;本地化;国际化;多元化 一、概述 软件工程是一门利用计算机知识、数学知识和管理学科知识,开发软件的工程。软件工程教育的主要目标是使学习者了解软件开发的方法和工程学的相关知识,并能将所学理论应用于实践。软件工程教育的目标要求在人才培养的过程中,应将软件工程与多元化、工程化、本地化和国际化相结合,以培养社会对软件工程专业人才的需求。 二、软件工程教育的特点 2.1 多元化特点信息技术不断发展,应用领域扩展的范围也越来越广,由此对软件提出的要求也将更加苛刻。信息化社会对软件的依赖性越来越大,若软件出现问题,将直接影响人们的工作和生活。软件在多个行业领域内被广泛使用,教育、休闲、娱乐、购物、化工、商务等各个活动都离不开软件工程。软件人才要了解和掌握所有领域的知识是不现实的,如何在教育中体现软件工程的多元化是当前面临的一大问题。在教育教学中,应给学生树立行业领域的概念,使学生形成系统集成的意识,并体现已有的行业优势。行业的种类是多种多样的,学生在校期间不可能,也没有必要了解各个行业的知识,但可以结合学校的已有专业进行行业领域的概念了解,并进一步了解企业文化等深层次内容;每个软件工程学习者都具有一定的优势,同时也存在一系列不足,组建专业团队,利用每个人的专业优势完成软件工程的部分任务。 2.2 工程化特点软件是一类特殊的智力产品,软件的研发过程就是软件生命周期的过程,也是整个软件工程所涉及的知识体系再现的一个过程。工程应用于软件,体现了软件工程领域中方法学和工程学的实施。传统计算机和软件教学课程中,重视程序设计,忽视程序与软件之间的区别,造成了学生在程序-软件-系统-工程之间往往顾此失彼。随着现代软件研发技术的发展,软件研发已经从简单的编程,发展至包括从最初的需求、设计、交付过程中所有的技术和非技术类知识,将程序设计、文档设计、工具使用、模块继承、测试与安全等多项内容联系到一起,其中任何一个环节出现问题,都将影响整个软件的开发质量。软件工程教育应给学生树立工程的概念,以软件的生命周期为主线,将科学和工程进行融合,对学生从实施技术、管理能力方面进行能力培养。学生应了解工程的概念;了解工程型人才的能力和要求;熟悉项目和项目的管理内容;了解企业文化,在此基础上进行软件工程研发工作。 2.3 本地化特点随着经济的全球化发展,国外企业在激烈的市场竞争中,不断抢占我国市场;而我国的企业也在竞争中,逐渐抢占国际市场。由于我国软件工程的研发工作相对较晚,因此在技术、资金、标准方面处于劣势地位;而国外企业开发的软件要投入我国市场,仍需要

软件工程实验指导

软件工程实验指导书 适用专业:计算机科学与技术、软件工程、编写人: 信息技术学院 2012年8月

前言 软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。 按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。因此设置五个实验项目,从项目发的准备工作,系统分析过程,系统设计过程,软件测试到系统实施,覆盖软件开发的整个过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。 通过实验训练,达到如下目的: 使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。

相关文档