软件工程II实验资料及答案
软件工程第二版答案

里面包含绝大部分的软件工程第二版中的课后习题答案瞿中编第一章仿真试题1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、具体设计、编码、测试和运营、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( )。
A、具体计划B、可行性分析C、运营阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节犯错,对软件的影响最大( )。
A、具体设计阶段B、概要设计阶段C、需求分析阶段D、测试和运营阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目的( )。
A、需求分析阶段B、具体设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现重要是由于( )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实行的重要保证是( )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( )A、互相排斥B、互相补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它重要应用于哪种软件开发方法( )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发规定最高( )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实行时强调的是分析对象的( )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划提成( )A、计划阶段、开发阶段、运营阶段B、计划阶段、编程阶段、测试阶段C、总体设计、具体设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特性而一般称其为( )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为也许占用人员最多的阶段是( )A、分析阶段B、设计阶段C、编码阶段D、测试阶段13、软件开发模型是指软件开发的所有过程、活动和任务的结构框架。
软件工程试验二——画数据流程图

F5安全范围 E2 病人 P2 分析信号 F2生理信号 F2生理信号 P1 接收信号 F2生理信号 E3 时钟 P4 定时取样 生理信号
D2患者安全范围 P3 产生警告信息
危及病人信息
F4警告信息
E1 护士
F3日前、时间
定时的生理信号 F6日志
P5 更新日志
D1患者日志 F6日志 E1 护士 F1要求报告
E1 护士
习题二
银行计算机储蓄系统的工作过程大致如下: 银行计算机储蓄系统的工作过程大致如下:储 填写的存款单 取款单由业务员键入系统 存款单或 键入系统, 户填写的存款单或取款单由业务员键入系统, 如果是存款则系统记录存款人姓名、住址(或 如果是存款则系统记录存款人姓名、住址 或 记录存款人姓名 电话号码)、身份证号码、存款类型、 电话号码 、身份证号码、存款类型、存款日 到期日期、利率及密码(可选 等信息, 可选)等信息 期、到期日期、利率及密码 可选 等信息,并 印出存单给储户; 存单给储户 印出存单给储户;如果是取款而且存款时留有 密码,则系统首先核对储户密码, 核对储户密码 密码,则系统首先核对储户密码,若密码正确 或存款时未留密码,则系统计算利息 印出利 计算利息并 或存款时未留密码,则系统计算利息并印出利 息清单给储户 给储户。 息清单给储户。 请用分层数据流图描绘本系统的功能。 请用分层数据流图描绘本系统的功能。
调资标准
13:07:42
工资标准
请用分层数据流图描绘本系统的功能。 请用分层数据流图描绘本系统的功能。
作业及解答(第5章)
13:07:42
作业及解答(第5章)
13:07:42
作业及解答(第5章)
航空 公司 航班信息 旅客信息 旅客信息 航班信息 P2.1 安排航班 机票 机票 机票 航班信息 航班信息 P2.1 设置航班
软件工程实验二

软件工程实验二软件工程实验二引言在软件工程领域,实验是学习和巩固相关知识的重要方式之一。
实验二是软件工程课程中的一项重要实践,旨在让学生了解软件开发过程中的需求分析和设计阶段,并通过实践,掌握软件工程的基本技巧和方法。
本文档将介绍实验二的内容、目的和具体要求,并给出一些实验中可能遇到的问题和解决方案。
通过阅读本文档,学生可以更好地理解和完成实验任务。
实验目的实验二的目的是让学生学会进行需求分析和设计,并通过合理的系统设计来满足用户的需求。
通过本次实验,学生将了解以下内容:- 需求分析的基本概念和方法- 系统设计的基本原则和技巧- 使用UML工具进行建模和设计实验内容实验二的内容主要包括需求分析和系统设计两个部分。
在需求分析中,学生需要对给定的需求进行分析和理解,并编写需求规格说明书。
在系统设计中,学生需要根据需求规格说明书,设计出满足需求的系统结构和功能模块,并进行相应的UML建模。
具体的实验步骤如下:1. 需求分析部分- 仔细阅读并理解实验二所提供的需求文档- 根据需求文档,编写需求规格说明书,包括功能需求和非功能需求- 确定系统的用例,并绘制用例图2. 系统设计部分- 根据需求规格说明书和用例图,进行系统架构设计,确定系统的组成模块和模块之间的关系- 绘制类图,定义类的属性、操作和关联关系- 绘制时序图,描述类之间的交互和消息传递过程可能遇到的问题和解决方案在实验过程中,学生可能会遇到一些问题,以下是一些建议的解决方案:1. 对需求理解不清:如果对需求文档理解不清,可以参考相关的软件工程教材或网络资料,学习和了解需求分析的基本概念和方法。
2. UML建模不熟悉:如果对UML建模的相关知识不熟悉,可以通过学习UML教程或参考资料,加强对UML建模语言的理解和应用。
3. 架构设计不合理:在进行系统设计时,可能会遇到架构设计不合理的情况。
此时,可以与同学或老师进行讨论,寻求意见和建议,或者参考相关的系统设计案例。
软件工程试验二答案

姓名班级学号实验二实验目的与要求1.熟悉软件工程标准化的概念、国家标准规范和意义。
2.了解支持国家标准和行业标准信息的网站。
3.深入学习和掌握软件产品开发文件的基本内容。
4.结合软件工程课程,重点学习编写软件需求文档、软件设计文档和软件测试文档。
实验方法与步骤5.了解软件工程国家标准6.上网搜索和浏览:了解国家标准咨询服务的专业网站、了解信息技术标准、软件工程国家标准,并记录搜索结果。
7.软件工程标准化的概念:查阅资料国内外标准状况和代号说明。
8.了解软件工程国家标准制定单位、情况、内容。
9.熟悉和掌握国家标准GB/T8567-2006.10.深入分析软件产品文件规范内容以及与软件生存周期各阶段的关系,文件编写、阅读和使用人员。
11.了解软件文档管理的基本要求。
12.部分软件文档的编写13.软件需求规格文档(引言、任务概述、功能需求、数据描述、运行要求、其他需求)14.概要设计文档(总体设计、接口设计、系统数据结构设计、系统出错处理设计)15.软件测试计划(基本情况分析部分、计划部分、测试项目说明部分、评价部分)实验报告目的内容(1)国内外软件工程标准及网站(2)软件生存周期个阶段中的文件编制软件生存周期各阶段中的文件编制见表2-1,通过查阅资料填写。
(3)文档的读者和编写者及其关系文档的读者和编写者及其关系见表2-2,通过查阅资料填写。
表2-2 文档的读者和编写者及其关系国标GB/T8567-2006给出的软件文件允许有一定的灵活性,可根据具体项目的规模进行扩展,另外文档存在某些重复,表2-3给出他们的重复性比较,请填写。
(5)文件编制实施国标GB/T8567-2006之处,对于具体的软件项目,应根据开发单位的管理能力、任务规模、复杂性和成败风险等因素确定编制文档类型。
表2-4用12项主要因素来衡量一个应用软件和组织情况,并据此确定应该编制的文件种类。
表2-5给出根据上面的得分确定应编制的文件种类。
软件工程第二版习题答案

软件工程第二版习题答案软件工程第二版习题答案修改浏览权限 | 删除第一章1.什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。
(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。
(2).软件生产技术进步缓慢2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。
采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。
3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。
答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。
当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。
新方法在推行初期,总有人不愿接受和采用。
若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。
(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。
软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。
所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。
4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。
答:用C++开发一个软件,是校园一卡通的模块。
首先,要在编辑程序支持下在计算机中输入源程序。
然后编译程序,把源程序翻译成目标程序。
如果发现错误,就重新调入编辑程序对源程序进行修改。
编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。
编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。
离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。
软件工程2答案

IF A >O THENCA=1A(EIL)SE A2 ENDIF;
S1;
I=I+1
输出 C, D
IF B>0 THEN B1;
WHILE C DO S2;S3 ENDWHILE;
ELSE B2
ENDIF;
B3 ENDWHILE;
3、 请用判定表画出以下问题的行为逻辑。(5分) 人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也 可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
试卷 A 参考答案
一、 选择题(每小题2分,共20分)
1.以下哪一项不是软件危机的产生的原因( C ) A、轻视维护 B、软件本身的特点 C、软件质量不可靠 D、没有准确了解需求
2.HIPO 图中的 P 代表的是( B )。 A、程序 B、处理 C、问题 D、层次
3.哪一种模型可以有效地避免软件开发中的风险( D )。 A、喷泉模型 B、瀑布模型 C、增量模型 D、螺旋模型
Y
i=i+1
Y I<=10 N
输出 C,D
C=A(i)
结束
参考答案:
输入 A(1),A(2),…. A(10)的值 D=A(1) ,I=2
I<=10
F D>=A(I) T D=A( I ) I=I+1
2、画出下面C用=AP(1D)L, I写=2出的程序的 PAD 图。(8分)
WHILE P DO
I<=10 F D>=A( I )>=C T
要提交实验项目,然后选择有空闲的机房,再查询学生的空余时间。安排好每次的实 验时间后,经过汇总形成实验安排报表)(10分)
软件工程实用教程2版课后答案

软件工程实用教程2版课后答案第1章软件工程引论1.什么是软件危机?它和软件工程有什么关系?答案要点:由于软件规模的扩大、功能的增强和复杂性的增加,使得在一定时间内仅依靠少数人开发一个软件变得越来越困难。
在软件开发中经常会出现时间延迟、预算超支、质量得不到保证、移植性差等问题,甚至有的项目在耗费了大量人力、财力后,由于离目标相差甚远而宣布失败。
软件危机的突出表现:1)软件生产率低2)软件产品常常与用户要求不一致3)软件规模的增长,带来了复杂度的增加4)不可维护性突出5)软件文档不完整、不一致。
人们提出“软件工程”的概念,就是为了用工程的方法和管理手段,将软件开发纳入工程化的轨道,以便开发出成本低、功能强、可靠性高的软件产品。
由于引入了软件工程的思想,把其他工程技术研究和开发领域中行之有效的知识和方法运用到软件开发工作中来,提出了按工程化的原则和方法组织软件开发工作的解决思路和具体方法,在一定程度上缓解了“软件危机”。
2.简述软件和软件工程的定义以及软件工程的形成过程。
答案要点:计算机软件是由计算机程序的发展而形成的一个概念。
它是与计算机系统操作有关的程序、规程、规则及其文档和数据的统称。
软件由两部分组成:一是机器可执行的程序和有关的数据;二是与软件开发、运行、维护、使用和培训有关的文档。
软件工程是指导计算机软件开发和维护的工程学科。
它强调按照软件产品的生产特性,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前最好的技术结合起来,以便经济地开发出高质量的软件并有效地维护它。
第一阶段:20世纪70年代,为了解决软件项目失败率高、错误率高以及软件维护任务重等问题,人们提出软件生产工程化的思想,希望使软件生产走上正规化的道路,并努力克服软件危机。
第二阶段:20世纪80年代,面向对象的方法与技术受到了广泛的重视,Smalltalk-80的出现标志着面向对象的程序设计进入了实用和成熟阶段。
大工20春《软件工程实验(二)》实验报告答案

大工20春《软件工程实验(二)》实验报
告答案
本次实验要求同学们使用 Git 进行版本控制,将代码提交到GitHub 上,并记录提交的过程,在实验报告中详细描述 Git 的使用。
实验步骤:
2. 创建一个本地版本库;
3. 在 GitHub 上创建一个远程版本库;
4. 将本地版本库与远程版本库进行关联;
5. 在本地版本库中进行修改,并提交到本地;
6. 完成修改后,再将本地版本库与远程版本库同步。
实验中遇到的问题及解决办法:
1. 如何在 GitHub 上创建一个远程版本库?
解决办法:先创建一个空的远程版本库,然后将本地版本库与
远程版本库进行关联即可。
2. 如何将本地版本库与远程版本库进行关联?
解决办法:使用命令 git remote add origin 远程版本库地址。
3. 如何将本地修改提交到本地版本库中?
4. 如何将本地版本库与远程版本库同步?
解决办法:使用命令 git push -u origin master。
本次实验让我初步了解了 Git 的使用,通过实践,进一步掌握了版本控制的原理和方法,并在 GitHub 上创建了自己的远程版本库,实践出真知,受益匪浅。
软件工程II实验资料及答案

软件工程II实验资料及答案软件工程(II)实验教程.实验一用例图一、实验目的1.学会分析系统中的参与者和用例2.掌握用例图的绘制方法二、实验器材1. 计算机一台;2. Rational Rose 工具软件;三、实验内容画出ATM系统的用例图四、实验步骤1.分析ATM自动取款机:客户可以取钱,存钱,查询余额,转帐,修改密码。
通过分析可找出如下几个参与者:1.A TM2.客户通过分析得到如下用例:(1)存款(2)取款(3)查询余额(4)转帐(5)修改密码(6)打印收据2.绘图步骤:下面介绍在Rose2003中创建用例图的过程:(1)在“Use Case View“中双击Main图,或者右击“UseCase View“,弹出在快捷菜单中选择“New”->“UseCase Diagram”,双击图标,出现图1,为编辑用例图做好准备。
(2)在用例视图中,从工具栏中选择Actor图标,在右边的绘图区中添加一个新元素,并取名客户表明新增一个参与者,如图2所示。
图2(3)同样的方法添加参与者“A TM”,如图3所示。
图3(4)在工具栏上选择用例的图标,依次添加存款、取款、查询余额、转帐、修改密码、打印收据,如图4所示。
(5)添加参与者和用例间的关联关系,如图5所示。
图5另外,练习其它现实系统中用例建模,要涉及用例描述、用例之间的关系、参与者与用例之间单向关联双向关联、参与者之间关系。
参与者、用例的版型、命名等知识点。
五、实验报告要求1.整理实验结果。
2.小结实验心得体会。
实验二交互图一、实验目的1.学会用协作图实现用例2.掌握顺序图的绘制方法以及顺序图和协作图的相互转换。
二、实验器材1. 计算机一台;2. Rational Rose 工具软件;三、实验内容画出ATM取款的顺序图,并转换为协作图。
四、实验步骤1.分析ATM取款的场景:(1)通过读卡机,用户插入A TM卡;(2)ATM系统从卡上读取银行ID、帐号、加密密码、并用主银行系统验证银行ID和帐号;(3)用户输入密码,A TM系统根据上面读出的卡上加密密码,对密码进行验证;(4)用户输入取款数量;(5)ATM系统通知主银行系统,传递储户帐号和取款数量,并接收返回的确认信息;(6)ATM系统输出先进、A TM卡和显示帐户余额的收据;(7)ATM系统记录事务到日志文件。
软件工程实验二

软件工程实验二软件工程实验二1. 实验背景软件工程实验二是软件工程课程的实践性实验环节,旨在帮助学生加深对软件工程原理和方法的理解,并通过实践掌握相关的技术和工具。
本实验将重点围绕软件测试展开,学生需要学习并运用测试策略、测试用例设计、测试执行等软件测试的基本知识和技术。
2. 实验目标本实验的主要目标如下:1. 掌握软件测试的基本概念和流程;2. 学习并运用常用的测试策略和测试用例设计方法;3. 熟悉常见的软件测试工具和环境;4. 进行实际的软件测试实践,提高解决问题、分析问题和沟通协作的能力。
3. 实验内容3.1 实验准备在开始实验之前,需要进行一些准备工作:1. 了解软件测试的基本概念和流程;2. 学习并掌握常用的测试策略和测试用例设计方法;3. 选择合适的软件测试工具,并进行安装和配置;4. 根据实验要求选择合适的实验项目,并进行代码的准备。
3.2 实验步骤1. 分析实验项目的需求和设计文档,理解项目的功能和逻辑;2. 根据需求和设计文档,制定测试策略和测试计划;3. 进行测试用例设计,包括黑盒测试和白盒测试;4. 根据测试用例,编写测试脚本或测试程序;5. 使用选择的测试工具执行测试用例,并记录测试结果;6. 分析测试结果,修复问题,并重新执行测试用例,直至通过所有测试用例;7. 撰写实验报告,测试过程和结果,并提出改进建议。
4. 实验要求1. 按照实验内容和步骤完成实验,确保测试结果准确;2. 实验报告中需要包含测试策略、测试用例设计、测试工具选择和使用情况、测试结果分析等内容;3. 实验报告需要清晰、有条理,并注明实验人员的姓名和学号。
5. 实验评分标准实验评分主要根据以下几个方面评估:1. 实验步骤的完整性和正确性;2. 测试策略和测试用例设计的合理性;3. 测试工具的选择和使用情况;4. 测试结果分析的深度和准确性;5. 实验报告的结构和表达风格。
6. 实验参考资料1. 《软件工程》(第5版),作者:Ian Sommerville2. 《软件测试基础教程》(第2版),作者:张彩云、陆俊林、杨玉飞3. 《软件测试技术》(第3版),作者:陈艳、章伟、崔海云7. 实验通过本次实验,我对软件测试的基本流程和方法有了更深入的理解,学会了运用测试策略和测试用例设计方法进行软件测试。
软件工程许家怡教材习题答案《《软件工程——理论与实践》(第2版)习题答案》

《软件工程——理论与实践》(第2版)习题答案习题答案习题一答案一、选择题1. 软件的主要特性是(A B C)。
A) 无形B) 高成本C) 包括程序和文档D) 可独立构成计算机系统2. 软件工程三要素是(B)。
A) 技术、方法和工具B) 方法、工具和过程C) 方法、对象和类D) 过程、模型、方法3. 包含风险分析的软件工程模型是(A)。
A) 螺旋模型B) 瀑布模型C) 增量模型D) 喷泉模型4. 软件工程的主要目标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于面向对象开发方法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太高B) 软件产品的质量低劣C) 软件开发人员明显不足D) 软件生产率低下7. 软件开发方法的主要工作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件工程的目标有(A B C)。
A) 易于维护B) 低的开发成本C) 高性能D) 短的开发期9. 软件工程学的目的和意义是(A D)。
A) 应用科学的方法和工程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训工作D) 以较低的成本开发出高质量的软件二、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
(×)3. 结构化方法的工作模型是使用螺旋模型进行开发。
(×)4. 结构化方法和OO方法都是一种面向过程的软件开发方法。
(×)5. 原型化开发方法包括生成原型和实现原型两个步骤。
(×)6. 面向对象的开发方法包括面向对象的分析、面向对象的设计和面向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件工具的作用是为了延长软件产品的寿命。
软件工程实验二

实验二:需求分析报告实验学时:2 课后2学时实验类型:技能性一、目的与任务目的:明确需求分析任务的重要性,掌握需求分析的主要具的使用方法和步骤,写出需求规格说明书。
二、实验安排1、装有Offic软件,Visio 2010的微机系统.2、实验安排方式:本实验为开放实验,各组可同时进行实验,每组8-10人。
三、实验内容及步骤1、选择一个管理系统(人事管理系统、工资管理系统、学生档案管理系统等)。
2、软件工程的原理对该系统的问题进行分析;3、分析系统的数据需求获得当前系统的物理模型,然后抽象出当前系统的逻辑模型,再建立目标系统的逻辑模型;理出系统的数据流程图;4、用Visio 2010画出该系统的数据流图,用结构化分析方法对整个系统进行分析细化,用数据流图描绘系统的逻辑模型,描绘信息在系统中流动和处理的情况;数据流图是分析和设计的工具,它主要描述系统完成的功能而不是系统的物理实现。
5、在Microsoft Word文档下写出该系统的数据字典,用数据字典对人们不了解的条目进行解释,对所有被加工引用的数据流和数据存储进行解释;6、用小说明来描述最底层的基本加工逻辑,小说明并不描述具体的加工过程,而只是这个加工的输入数据和输出数据的逻辑关系。
7、用Visio 2007画出该系统的IPO图,它的基本形式是左边框中列出有关的输入数据,在中间的框中列出主要的处理,在右边的框中列出产生的输出数据;8、用层次方框图或Warnier图对系统进行说明;层次方框图是由树型结构的一系列多层次的矩形框描绘数据的层次结构数型结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素。
四、思考题1、软件需求分析在整个软件生存周期中的地位?2、在软件需求分析中要完成哪些任务,所完成的资料在以后的工作中起什么作用?3、做需求分析的过程中有没有做社会调研?附录一:实验要求软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。
软件技术基础2实验任务2带解答

《软件技术基础2》实验报告2学院专业年级姓名任课教师葛卫民实验指导葛卫民年月日实验二一、实验目的通过本试验,使学生进掌握循环程序的设计方法;掌握计数、求和、字符串处理等基本算法的设计方法。
二、实验内容1.通过程序实例,理解程序的三种基本结构及控制语句。
2.编写教材第二章习题中4、6、7、8、10、11要求的程序,并完成上机调试的实验任务。
三、实验准备1.复习第二章的2.4 -2.6节内容;2.编写教材第二章习题中6、7、8、10、11要求的程序。
四、实验任务任务一:第4题1.内容:编写程序,输入10个学生的考试分数(0~100),然后根据每个学生的分数,判断并显示每个学生的学号和等级。
学号由1到10,等级关系为:A 90<=分数<100等级= B 80<=分数<90C 60<=分数<80D 0<=分数<602.源程序:#include<iostream.h>void main(){int i;double s;cout<<"每次输入一个学生的分数(0~100),输10次"<<endl;for( i=1;i<11;i++){ cin>>s;if(s>=90) cout<<i<<" "<<"A"<<endl;else if(s<90&&s>=80) cout<<i<<" "<<"B"<<endl;else if(s<80&&s>=60) cout<<i<<" "<<"C"<<endl;else if(s<60&&s>=0) cout<<i<<" "<<"D"<<endl;}}3.运行结果:4.实验中遇到的主要问题及解决方法任务二:第6题1.内容:编写程序,用公式π/4=1-1/3+1/5-1/7+……求π的近似值,直到最后一项的绝对值小于10^(-6)为止。
软件工程部分参考答案《二》

第4题(3)(1)语句覆盖测试用例语句覆盖的含义是,选择足够多的测试数据,使被测试程序中的每个语句至少执行一次。
(2)路径覆盖测试用例路径覆盖的含义是,选取足够多测试数据,使程序的每条可能路径都至少执行一次。
302010604020TTT2321111FFF1ZYXCBA321 预期的输出输入判定序号语句覆盖的测试用例3020 10 60 40 20 TTT83 20 10 1 40 20 F T T 7 302 10 60 1 20T F T 6 3210 1 120 F F T 5 30 20 1 60 40 1 T T F 4 320 1 140 1 F T F 3 30 2 1 60 1 1 T F F 2 3 2 1 1 1 1 F F F 1 Z Y X C B A 3 2 1 预期的输出输入 判定 序号 路径覆盖的测试用例第5题5.某图书馆由一个使用CRT终端的信息检索系统,该系统有下列4个基本检索命令:要求:(1)设计测试数据以全面测试系统的正常操作。
(2)设计测试数据以测试系统的非正常操作。
答:根据系统说明,可以划分为如下等价类:有效的输入等价类有A.b(关键字)----s(屏幕上的行号)----d(索引号)B.f(作者姓名)----d(索引号)无效的输入等价类有A.不输入任何字符。
B.输入的第一个命令非b或fD.输入b命令后没有输入关键字E.输入s命令后,没有输入行号F.输入f命令后,没有输入作者姓名G.输入d指令后,没有输入索引号H.未按顺序输入命令或输入非b/s/d/f命令(1)根据上面划分的等价类,设计测试数据如下:A.输入:b(软件工程)----s(10)----d(10)预期的结果:系统在屏幕上显示与给定的索引号有关的信息。
B.输入:f(张海藩)----d(10)预期的结果:系统在屏幕上显示与给定的索引号有关的信息。
(2)根据上面划分的等价类,设计测试数据如下:A.输入:空预期的结果:提示错误“没有输入任何命令,请重新输入!”B.输入:r预期的结果:提示错误“系统不支持此命令,请重新输入!”C.输入:b()预期的结果:提示错误“您没有输入关键字!”D.输入:b(软件工程)----s(abc)预期的结果:提示错误“没有输入指定行号,或输入的行号不正确!”F.输入:f()预期的结果:提示错误“没有输入作者姓名,或输入的姓名不正确!”G.输入:b(软件工程)----s(10)----d(--)预期的结果:提示错误“没有输入索引号,或输入的索引号不正确!”H.输入:f(张海藩)----display(10)预期的结果:提示错误“您输入的是非法命令,操作失败!”第6题(1)用正常的输入数据作为测试数据①向程序输入常规的出发点,目的地,飞机型号,5个位置校核点,高度和速度。
软件工程实验二

软件工程实验二软件工程实验二实验背景软件工程是一门研究如何在规定的时间、质量和成本限制下,对软件进行开发、维护和管理的学科。
在软件工程实验二中,我们将学习并实践软件过程中的需求工程和项目管理。
需求工程需求工程是软件开发过程中的关键环节,它主要涉及以下几个方面:1. 需求获取:在需求获取阶段,开发团队与用户进行沟通,明确用户的需求和期望。
这可以通过面对面交流、采访、问卷调查等方式进行。
2. 需求分析:需求分析阶段旨在准确理解用户需求,并将其转化为可执行的功能和特性。
需求分析包括定义功能、特性和约束,确定优先级,并创建用户故事等。
3. 需求规格说明:在需求规格说明阶段,我们将用户需求转化为详细、一致且无歧义的规范文档。
这些规范文档可以使用自然语言、图形化表示或使用特定的建模语言来完成。
项目管理项目管理是软件工程中的核心要素之一,它包括以下方面:1. 项目规划:项目规划是在项目启动前确定项目的目标、范围、资源以及时间进度的过程。
通过制定详细的计划,项目团队可以更好地理解项目的要求和限制,并建立合理的项目执行计划。
2. 项目执行:项目执行是指根据项目计划实施项目的过程。
在项目执行阶段,项目团队将资源分配给相应的任务,并协调各项工作,确保项目按计划完成。
3. 项目监控:项目监控是指对项目进展进行持续跟踪和评估的过程。
通过合理的监控措施,可以及时发现项目中的问题和风险,并采取相应的措施进行调整和应对。
4. 项目收尾:项目收尾是指项目完成后的一系列工作,包括项目验收、总结经验教训、整理文档等。
项目收尾的目标是确保项目的交付成功,并为未来的项目提供有价值的经验和教训。
实验过程在软件工程实验二中,我们将分为小组进行以下实验步骤:1. 小组成员通过讨论,确定一个实际的软件项目作为实验的对象,并明确项目的需求和目标。
2. 小组成员进行需求获取阶段的工作,与用户进行沟通,收集用户需求,并将其整理成文档形式。
3. 小组成员进行需求分析阶段的工作,根据用户需求,定义功能、特性和约束,并创建用户故事等。
软件工程实验二

软件工程实验二在软件工程的学习过程中,实验是帮助我们深入理解理论知识、提升实践能力的重要环节。
本次软件工程实验二,让我对软件的开发流程和技术有了更深刻的认识。
实验二的主要任务是开发一个小型的信息管理系统。
这个系统需要实现用户信息的录入、查询、修改和删除等功能。
听起来似乎并不复杂,但在实际操作中,却涉及到众多的细节和技术难题。
首先是需求分析阶段。
为了明确系统的功能需求,我们需要与用户进行充分的沟通。
了解他们对于信息管理的期望和具体要求,比如用户希望能够按照不同的字段进行查询,或者对某些敏感信息进行加密处理。
这个过程就像是在搭建房屋之前,要先明确房屋的用途、居住人数等基本信息,以便设计出符合需求的建筑结构。
接下来是系统设计。
根据需求分析的结果,我们开始规划系统的架构和模块划分。
这就好比是在绘制房屋的设计图纸,确定各个房间的布局和功能分区。
在这个系统中,我们将其划分为用户界面模块、数据处理模块、数据库操作模块等。
同时,还要设计数据库的表结构,确定每个字段的数据类型和长度,以保证数据的存储和检索的高效性。
然后就是编码实现阶段。
这是整个实验中最为关键和耗时的部分。
选择合适的编程语言和开发工具,按照设计好的架构和模块,逐步实现各个功能。
在编码过程中,要时刻注意代码的规范和可读性,添加必要的注释,以便日后的维护和修改。
同时,还要处理各种可能出现的异常情况,保证系统的稳定性和可靠性。
例如,在用户信息录入功能的实现中,需要对用户输入的数据进行合法性校验。
如果用户输入的手机号码格式不正确,或者姓名为空,系统要能够给出相应的提示,并拒绝录入。
在查询功能的实现中,要根据用户输入的条件,构建合理的数据库查询语句,以快速准确地获取所需的数据。
测试环节也是不容忽视的。
对编写好的代码进行单元测试、集成测试和系统测试,检查系统的功能是否符合预期,是否存在漏洞和错误。
通过测试,我们发现了一些在编码过程中没有考虑到的边界情况和异常情况,并及时进行了修复和优化。
软件工程实验二

软件工程实验二在软件工程的学习道路上,实验是巩固理论知识、提升实践能力的重要环节。
本次软件工程实验二,让我对软件开发的流程和方法有了更深入的理解和体验。
本次实验的目标是开发一个小型的图书管理系统。
这个系统需要具备图书的录入、查询、借阅、归还等基本功能。
在开始实验之前,我们首先进行了需求分析。
通过与图书馆管理人员的交流以及对现有图书管理系统的调研,我们明确了系统的用户需求和功能需求。
需求确定后,接下来就是系统设计。
在系统设计阶段,我们首先确定了系统的整体架构。
考虑到系统的规模和复杂性,我们采用了分层架构,将系统分为表示层、业务逻辑层和数据访问层。
表示层负责与用户进行交互,接收用户的输入并展示系统的输出;业务逻辑层负责处理系统的业务逻辑,如图书的借阅和归还流程;数据访问层负责与数据库进行交互,实现数据的增删改查操作。
在数据库设计方面,我们根据系统的功能需求,设计了图书表、读者表、借阅记录表等相关数据表,并确定了表之间的关系。
为了提高数据库的性能和数据的完整性,我们还设置了适当的索引和约束。
系统设计完成后,就进入了编码实现阶段。
在编码过程中,我们遵循了良好的编程规范,如变量命名规范、代码注释规范等。
同时,为了提高代码的可读性和可维护性,我们采用了模块化的编程思想,将不同的功能模块封装成独立的函数或类。
在实现图书录入功能时,我们需要对用户输入的图书信息进行有效性验证,如书名是否为空、ISBN 码是否符合规范等。
如果输入信息无效,我们需要给出相应的提示,让用户重新输入。
在实现图书查询功能时,我们提供了多种查询方式,如按书名查询、按作者查询、按出版社查询等,以满足用户的不同需求。
在实现借阅和归还功能时,我们需要处理一些复杂的业务逻辑。
例如,在借阅图书时,需要检查读者是否有未归还的图书、图书是否可借阅等。
如果借阅成功,需要更新借阅记录表和图书表中的相关信息。
在归还图书时,需要检查归还日期是否逾期,如果逾期需要计算罚款等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)开课教室
(3)课程号
(4)授课教师
(5)选课的学生
(6)开课起始时间
(7)允许选课的学生人数
(8)设置课程号
(9)设置课程名称
(10)查询课程号
(11)查询允许选课的学生人数
2.绘图步骤:
下面介绍在Rose2003中创建类和它们之间关系的过程:
(1)在“Logical View“中双击Main图,或者右击“Logical View“,弹出在快捷菜单中选择“New”->“Class Diagram”,双击图标,出现图1,为编辑类图做好准备。
模式是应用程序使用的基本单元。它还是一个可以被授予特权的单元。模式在下一个细节级别上被指定给数据库组件。
模式是在类图中组织的。
图5类图解释了模式依赖关系
模式应该分配给数据库,因为数据库定义了语言约束、数据类型、可用触发器、可能的数据库约束以及存储过程类型。
模式不仅仅是一个组织单元;它还是一种安全机制。类图允许数据库管理员和分析人员找出基于应用程序的包和数据之间的依赖关系,从而产生数据库的使用模式。
(2)在顺序图编辑窗口中,从工具栏中选择Object图标,在右边的绘图区中添加一个新元素,并取名Customer表明新增一个对象,如图2所示。
图2
(3)同样的方法,添加ATM对象和Account对象,如图3所示。
图3
(4)根据ATM取款的场景,获得第一条消息为“客户向ATM机提交取款需求”,向图中添加消息,如图4所示。
部署图对于数据管理员配置服务器和跟踪问题很重要(首先开始部署,然后开始钻研细节)。
表空间
表空间是数据的存储器,代表了一个数据库系统。它是称为Database的用户透明物理结构(在下文中描述)和节点之间的链接。表空间是UML数据建模配置文件中的原型化组件。
表空间可理解为物理存储上的一个区域,其中该物理存储由数据库来维护。数据库本身可以被分发给数个表空间,这些表空间由数据的大小、数据访问需求和安全需求来决定。
1.整理实验结果。
2.小结实验心得体会。
实验四
一、实验目的
1.熟悉状态图和活动图的基本功能和使用方法。
2.掌握如何使用建模工具绘制状态图和活动图方法。
二、实验器材
1.计算机一台;
2. Rational Rose工具软件;
三、实验内容
(1)分析图书管理系统中的书和借书证的状态,画出它们的状态图;
(2)分析管理员的活动状态,画出管理员的活动图。。
(2)在用例视图中,从工具栏中选择Actor图标,在右边的绘图区中添加一个新元素,并取名客户表明新增一个参与者,如图2所示。
图2
(3)同样的方法添加参与者“ATM”,如图3所示。
图3
(4)在工具栏上选择用例的图标,依次添加存款、取款、查询余额、转帐、修改密码、打印收据,如图4所示。
图4
(5)添加参与者和用例间的关联关系,如图5所示。
实验六数据建模
关系数据库管理系统是最常见的数据库使用形式。IBM Rational的UML数据建模配置文件提供了一种为满足数据库建模和数据库设计的需要而使用和理解UML的简单的方法。数据库中使用的表和关系的概念在核心UML中被映射为类和关联的概念。但是在数据库建模中还有其他的构造和约束(比如数据库和模式)必须被可视化地建模。
四、实验步骤
使用Rose工具将设计的模型通过正向工程生成代码框架。按照使用Rose工具生成代码的6步基本步骤可以顺利的完成代码框架的生成工作。
(1)检查模型,
(2)创建组件
(3)将类映射到组件
(4)设置代码生成属性
(5)选择类,组件和包
(6)生成代码
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
(1)在“Logical View“中信件“StateChart Diagram”,双击图标,出现图1,为编辑状态图做好准备。
图1
(2)在工具栏中选择“Start State”图标添加到编辑窗口中,如图2所示。
图2
(3)在工具栏中选择“State”图标,添加一个元素,命名为“New book”,如图3所示。
图4
(5)同样的方法添加其它消息,如图5所示。
图5
(6)根据顺序图生成协作图,步骤如下:“Browse”->“Create Collaboration Diagram”,生成的协作图,如图6所示。
图6
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
实验三
一、实验目的
1.理解类的基本概念
2.理解类间的关系
二、实验器材
1.计算机一台;
2. Rational Rose工具软件;
三、实验内容
画出ATM取款的顺序图,并转换为协作图。
四、实验步骤
1.分析
ATM取款的场景:
(1)通过读卡机,用户插入ATM卡;
(2)ATM系统从卡上读取银行ID、帐号、加密密码、并用主银行系统验证银行ID和帐号;
(3)用户输入密码,AT
表是关系数据库的基本建模结构。它代表了具有相同结构的一组记录,也被称作行(row)。每条记录都包含数据。有关表结构的信息存储在数据库中。
表是一种原型化类,并且是UML数据建模配置文件的一部分。
表是在数据模型图中表示的。
图6数据模型图代表了表和关系上的视图
由于该图只是模型的一个视图,因此它可以代表面向表焦点的解决方案。这避免了由于构建一个巨型的模型图而导致无法找到您正在寻找的物理数据模型的范围。
图5
另外,练习其它现实系统中用例建模,要涉及用例描述、用例之间的关系、参与者与用例之间单向关联双向关联、参与者之间关系。
参与者、用例的版型、命名等知识点。
五、实验报告要求
1.整理实验结果。
2.小结实验心得体会。
实验二交互图
一、实验目的
1.学会用协作图实现用例
2.掌握顺序图的绘制方法以及顺序图和协作图的相互转换。
图3
(4)同样的方法添加其它状态,如图4所示。
图4
(5)书的各个状态之间添加转移及相应的事件,如图5所示。
图5
(6)同样的方法得借书证的状态图,如图6所示。
图6
(7)在Rose2003中,绘制图书管理员的活动图,新建“Activity Diagram”,如图7所示:
图7
(8)读者的活动图如图8所示:
图1
(2)在逻辑视图中,从工具栏中选择class图标,在右边的绘图区中添加一个新元素,并取名Student表明新增一个类。
图2
(3)选择新创建的元素,点击鼠标右键,在弹出的菜单中选择“Open Sepcification”,弹出图3对话框。
(4)在对话框中,可以修改元素的名称,这里新元素的名称定为“Student”,如图4所示。
数据库与组件图中的其他组件结合使用,来定义应用程序和数据库之间的依赖关系。
图4组件图中的数据库
数据库组件对于设计者的价值在于计划数据库的可访问性。对数据库的模式分配定义了信息存储的基本结构。
数据库管理员使用部署图来找出应用程序和数据库之间的通信问题,并定义数据以及部署图的物理部署。
模式
表的基本组织单元就是模式。模式是UML的组织单元,用包表示。模式是原型化的包,并且是UML数据建模配置文件的一部分。
四、实验步骤
1.分析
在图书管理系统中,分析书的状态如下:
1.可借
2.被借
3.被预约
4.删除
借书证的状态如下:
1.可用
2.不可用
3.删除
管理员的活动如下:
1.处理还书
2.处理借书
3.处理罚款
读者的活动如下:
1.登录
2.找书
3.预约
4.浏览
2.绘图步骤:
下面介绍在Rose2003中创建类和它们之间关系的过程:
该数据模型图具有表、视图、表间的关系、视图的依赖关系和存储过程容器,精确地表示了数据词典的一部分。数据管理员可以在更加可读的图形表示中找出数据库的结构。
在设计方面,利用图形表示更容易调整数据库,因为您能够看到表的内容以及文档的每个细节。由于调整经常是一个手动过程,所以表间的数据移动是一项必需的功能。只需要知道所有模型约束的知识就能实现该功能。
图1数据库实现的多样性
图1显示了数据库部署的多样性。以下这些复杂分配:表与视图到模式、模式到数据库、数据库到表空间(tablespace)和节点,把需要底层构架的一种简单表示的每个数据库管理员(DBA)搞得晕头转向。因此计划数据库的分发和配置成为一项关键能力。
节点
数据库所在的物理实体(计算机)被表示为节点。该表示法是核心UML的一部分。
图3
图4
(5)点击“Attributes”选项卡,添加属性,如图5所示。
图5
(6)点击“operations”选项卡,添加方法如图6所示。
图6
(7)同样的方法添加Course类,如图7所示。
图7
(8)创建两个类之间的关系,通过分析得出:学生类和课程类之间为单向关联。
选择图标栏的“关联”,由学生类指向课程类。如图8所示。
节点用于部署图中,代表了软件部署的物理配置。部署图包括节点以及节点间的连接。这些连接代表了通信协议。
图2部署图
"DB2 Server Lexington"、"Oracle Server Cupertino"和"Oracle Sever Redmond"代表了节点,XML、JDBC和OraNet代表了通信协议。所有的软件和数据库都必须部署在物理节点上。
(4)用户输入取款数量;
(5)ATM系统通知主银行系统,传递储户帐号和取款数量,并接收返回的确认信息;
(6)ATM系统输出先进、ATM卡和显示帐户余额的收据;