《软件工程实验》实验指导书2016
《软件工程》实验指导书

《软件工程》实验讲义一、实验的性质、目的与任务1、实验性质《软件工程》实验是一门专业课实验,是软件工程专业学生接收软件开发实践能力培养的开端,要求学生通过本课程实验,了解从事软件开发的基本过程及基本方法,从而具有从事软件开发的基本技能。
2、实验的目的培养与提高学生从事软件开发的基本技能、独立思考以及分析问题和解决问题的能力,提高系统设计的能力。
3、实验的任务通过实验,使学生进一步掌握《软件工程》课程的基本原理和方法,加深对《软件工程》理论知识的理解和掌握。
二、实验内容与学时分配三、实验内容与实验要求实验一需求分析实验目的:会写需求说明;熟悉数据流图;熟悉数据库设计实验内容:假设某美国大学共有200名教师,校方与教师工会签定了一项协议。
按照协议,所有年工资超过$26,000(包含26,000)的教师工资保持不变,少于$26,000的教师将增加工资,给每个由此教师所赡养的人(包括教师本人)每年补助$100,此外,教师有一年工龄每年再多补助$50,但是增加后的年工资总额不能多于$26,000。
假设教师的工资档案已经存在,其中有目前的年工资,赡养的人数,雇佣日期等信息。
需要一个计算机程序计算并打印出每名教师的原工资和调整后的工资。
实验要求:(1)画出此系统的数据流图(2)写出需求说明(3)写出上述的工资调整程序设计时请分别采用下属两种算法,并比较二者的优缺点:a搜索工资档案数据,找出年工资少于$26,000的教师,计算新工资,校核是否超过$26,000,存储新工资,印出新旧工资对照表b把工资档案数据按工资从最低到最高的次序排列,当工资数额超过$26,000时即停止排序,计算新工资,校核是否超过$26,000,存储新工资,印出新旧工资对照表(4)你所画出的数据流图适用于哪种算法?实验二设计实验目的:熟悉结构化程序设计中“自顶向下,逐步求精“方法实验内容:设计一程序,要求用筛选法求100以内的素数,筛选法就是从2到100中去掉2,3,……9,10的倍数,剩下的就是100以内的素数,已知该程序的功能框架如下:main( ){建立2到100的数组A[],其中A[i]=i;建立2到10的素数表B[],其中存放2到10以内的素数;若A[i]=i是B[]中任一数的倍数,则剔除A[i];输出A[]中所有没有被剔除的数;实验要求:(1)将上述框架中的每一个加工语句进一步细化成一个循环语句,并直接用程序设计语言表示出来;(2)画出程序流程图;(3)说明“自顶向下,逐步求精“方法的优点实验三:编码实验目的:非结构化程序改为结构化程序;流程图;伪代码实验内容:研究下面的伪码程序:loop: set i to (start+finish)/2if table(i)=item goto foundif table(i)<item set start to (i+1)if table(i)>item set finish to (i-1)if (finish-start)>1 goto loopif table(start)=item goto foundif table(finish)=item goto foundset flag to 0goto donefound :set flag to 1done:exit实验要求:(1)画出程序流程图(2)程序是结构化的吗?说明理由(3)若程序是非结构化的,请设计一个等价的结构化程序且画出流程图(4)此程序的功能是什么?它完成预定功能需要什么隐含的前提条件吗?(5)上机实践并进行测试实验四黑盒测试实验目的:了解黑盒测试方法实验内容:输入三个正整数,判断他们是否构成三角形,如果构成进一步判断三角形的性质:等边,等腰或者一般。
软件工程实验指导书

软件工程实验指导书1. 实验目的本实验旨在帮助学生掌握软件工程的基本概念和方法,并能够运用这些知识解决实际问题。
通过完成本实验,学生应能够:•理解软件工程的基本原理和目标•掌握软件开发过程的各个阶段和相关工具•学会使用常见的软件工程技术和方法•进行基于实际问题的软件开发和测试2. 实验环境为了完成本实验,你需要具备以下环境和工具:•一台安装了操作系统的计算机•编程工具,如IDE(集成开发环境)或文本编辑器•版本控制工具,如Git•软件测试工具,如Junit3. 实验内容本实验共分为以下几个部分:3.1 实验准备在开始实验之前,你需要做一些准备工作:1.设置实验环境:确保你的计算机环境已经设置,包括操作系统、开发工具和测试工具。
2.下载实验资料:从实验指导书所提供的资源中下载所需的实验资料,包括代码模板和测试数据。
3.2 需求分析在本部分,你将对所给定的问题进行需求分析。
需求分析是软件工程中非常重要的一步,它有助于我们理解问题的本质、用户的需求以及系统的功能需求。
你需要仔细阅读问题描述,将问题抽象成准确的需求描述,并将其写入需求文档中。
3.3 系统设计在本部分,你将根据需求文档进行系统设计。
系统设计是将需求转化为可执行代码的关键步骤。
你需要确定系统的整体架构、模块划分和接口设计。
3.4 编码和测试在本部分,你将根据系统设计进行编码,并进行相应的测试。
编码是将系统设计转化为实际代码的过程,测试是确保代码的正确性和可靠性的重要手段。
3.5 系统部署与维护在本部分,你将完成系统的部署和维护工作。
系统部署是将开发完成的系统部署到实际运行环境中的过程,维护是保证系统正常运行并及时修复可能存在的问题。
4. 实验报告完成实验后,你需要撰写一个实验报告,报告内容需要包括以下几个方面:•实验目的和背景•实验环境和工具•实验步骤和结果•实验心得和体会请使用Markdown格式撰写实验报告,并附上相应的代码和测试结果。
《软件工程》实验指导书

《软件工程》实验指导书一.内容提要《软件工程》课程是一门非常重要的专业课,它的任务是培养学生计算机软件开发与应用的综合能力。
通过实验课程的嵌入使本课程不在枯燥乏味,学生们在课上学习的理论知识可以通过实验课进行吸收和升华。
实验教学主要让学生采用面向对象的软件开发方法,通过对所选系统进行分析、设计使学生理解并运用面向对象的思想开发软件,学会使用UML 统一建模语言进行面向对象分析和设计阶段的模型开发。
二.实验题目运用UML进行系统分析与设计—图书管理系统的分析与设计。
三.实验内容实验一需求分析【实验目的】熟悉和掌握需求规格说明书所包含的内容。
【实验要求】根据所给的文档,结合我校的图书管理系统,写需求规格说明书。
项目背景编写目的可行性分析系统需求:主要体现功能需求(涉及到的模型(用例图等)等到学完该知识点之后再补充上)。
【设计重点】按照论文要求排版(字体、段落的格式)实验二面向对象分析与设计(一)【实验目的】1.学会运用UML进行软件系统的分析与设计。
2.熟悉和掌握Rose软件。
【实验要求】建立图书管理系统的功能性分析模型(即建立用例模型):用例图、活动图。
用例图:系统的完整用例图。
活动图:建立关键用例的活动图。
实验三面向对象分析与设计(二)【实验目的】1.学会运用UML进行软件系统的分析与设计。
2.熟悉和掌握Rose软件。
【实验要求】建立图书管理系统的对象分析模型(发现定义类对象):类图、状态图、顺序图或协作图。
类图:系统的完整类图。
状态图:建立对复杂对象的状态图。
顺序图或协作图:对类中的某些方法建立顺序图或协作图。
实验四面向对象分析与设计(三)【实验目的】1.学会运用UML进行软件系统的分析与设计。
2.熟悉Rose的双向工程:正向工程和逆向工程。
【实验要求】建立图书管理系统的实现模型:部署图。
使用Rose的正向工程将系统中的类图生成Java代码。
附:参考文档。
《软件工程》实验指导书(软件操作类)

《—软件工程—》实验指导书编写适用专业:计算机科学与技术网络工程湖南人文科技学院计算机科学技术系年月前言《软件工程》是计算机科学与技术专业本科生的一门实践性较强的专业必修课程。
软件工程实验是验证,巩固和补充课堂讲授的理论知识,是《软件工程》课程中一个重要的,不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理,软件需求分析,软件初步设计,软件详细设计等阶段的方法和技术。
通过实验训练,达到以下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学,软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力, 从而使学生提高软件工程的综合能力,提高软件项目的管理能力.实验总体要求软件工程实验要求学生采用"项目小组"的形式,结合具体的开发项目进行设计。
具体要求如下:1.班级按项目小组进行分组,每组不得超过6人2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论,选定开发项目3.项目中的每项任务要落实到人且规定该任务的起止日期和时间4.题目自定或由教师提供相关课题目录实验一:项目可行性分析 (1)实验二:项目需求分析 (2)实验三:项目总体设计 (3)实验四:项目详细设计及编码实现 (4)实验五:软件测试 (6)实验一:项目可行性分析实验学时:2实验类型:设计实验要求:必修一、实验目的通过对待实施项目进行全面分析,撰写项目的可行性分析报告,掌握可行性研究的有关概念和具体分析过程,并明确从哪些方面进行可行性分析;掌握软件项目成本效益分析的常用手段;使学生掌握可行性研究报告的书写格式、注意事项和研究内容。
二、实验内容布置“运动会信息管理系统可行性分析”或其它类似题目,到应用现场进行实际调查,了解用户业务情况、数据、网络和需求情况,对问题进行可行性分析,开展可行性研究,并编写出可行性分析报告。
软件工程试验指导书

软件工程试验指导书1. 实验目的本实验旨在通过实践,让学生们了解和掌握软件工程的基本概念、原理和方法,培养学生们的软件开发和项目管理能力。
2. 实验前准备2.1 软件工具安装在进行本实验之前,需要安装以下软件工具:•IDE(集成开发环境): 推荐使用Eclipse、Visual Studio Code等流行的开发工具。
•版本控制工具:Git。
2.2 实验材料准备在实验开始之前,需要准备以下材料:•一台个人电脑;•一个Github账号;•需求文档或项目需求说明书。
3. 实验步骤3.1 创建项目1.在Github上创建一个新的仓库,用于存放本次实验的代码和文档。
2.将该仓库Clone到本地计算机。
3.2 进行需求分析1.根据实验的要求和提示,详细阅读需求文档或项目需求说明书。
2.理解并分析需求,确定项目的功能和范围。
3.3 设计系统架构1.根据需求分析的结果,设计系统的基本架构。
2.利用UML语言或其他适当的方式,绘制系统的概念模型、用例图等。
3.4 编写代码1.根据需求和设计,编写代码实现项目的功能。
2.在代码中遵循软件工程的相关规范和最佳实践。
3.5 进行单元测试1.编写测试用例,对项目的各个模块进行单元测试。
2.测试用例覆盖率应尽可能高,并覆盖边界情况。
3.6 代码审查和修改1.邀请同组同学或其他学生进行代码审查。
2.对审查结果进行对比和分析,进行代码修改和优化。
3.7 完成项目文档1.根据实验要求,编写完整的项目文档,包括系统设计、实施计划、测试报告等。
2.将文档保存到Github仓库的相应目录下。
3.8 提交代码和文档1.将代码和文档Commit到本地仓库。
2.将本地仓库的修改Push到Github仓库。
4. 实验注意事项•在进行实验前,务必仔细阅读实验要求和提示。
•在实验过程中,遇到问题请及时向教师或助教寻求帮助。
•实验结束后,务必按时提交实验报告,否则将扣分。
5. 实验总结通过本次实验,学生们能够学习到软件工程的基本概念、原理和方法,并能通过实践应用到实际项目中。
软件工程实验指导书

软件工程实验指导书实验一软件的问题定义及可行性分析一、实验类型:验证二、实验目的与任务:通过本次实验,掌握需求调查与可行性研究的方法、过程和步骤,加深对可行性分析有关理论的理解,为学习后面的需求分析与软件设计打下一个良好的基础。
三、预习要求:要求学生实验前要认真消化书本和课堂教学内容,精心准备本次实验。
四、实验基本原理:可行性研究任务和过程,学生掌握可行性研究的有关概念和具体分析过程,并明确从哪些方面进行可行性分析,成本效益分析的技术,掌握软件项目成本效益分析的常用手段。
五、实验仪器及设备(或工具软件):1. 硬件环境 :PC 机2. 软件环境 :Windows环境,C语言系统或其它语言工具六、实验内容:1、选定需模拟开发的软件课题。
2、对选定的课题进行问题定义。
3、对选定的课题进行可行性分析。
七、实验步骤:(1) 围绕题目独立进行需求收集、分析(2) 提出解决问题的初步方案(3) 从技术、操作、经济等方面进行可行性分析(4) 独立写出需求调查与可行性分析报告八、注意事项:注意软件的使用,保护电脑九、实验报告要求:条理清晰,字迹工整实验二软件的需求分析一、实验类型:验证性实验二、实验目的与任务:要求学生熟练掌握MATLAB最优化工具箱函数的选用,学会函数linprog的调用格式。
并根据算法步骤设计计算程序以求解具体问题。
三、预习要求:掌握软件的需求分析报告的书写方法和技术要求。
四、实验基本原理:需求分析的基本过程和分析建模方法,数据流图、数据字典软件结构图等概念,软件设计的具体过程和原理五、实验仪器及设备(或工具软件):1 硬件环境 :PC2 软件环境 : Windows环境,C语言系统或其它语言工具六、实验内容:1、实现实验一选定的课题的进行需求分析。
2、实现最后的分析报告,主要是数据流图和数据字典。
七、实验步骤:1.围绕指定的题目到相关单位进行需求分析;2.综合利用Internet网和相关书籍整理并完善需求分析;3.画出系统数据流图(分清系统是事务型还是加工型);4.得出系统数据字典;5.写出需求分析说明书和软件设计说明书。
软件工程实验指导书_2

软件工程实验指导书一、实验的目的与要求开设“软件工程实验”的主要目的是培养学生综合应用所学专业知识及计算机知识的能力,训练和提高软件开发技能。
要求每个学生在规定时间内必须完成一个规模适当的应用软件系统;在教师的指导下以软件设计为中心,布置大型模拟案例,将学生划分为若干组,分工合作,共同完成该模拟项目,独立地完成从需求分析、软件设计、编码到软件测试运行的软件开发全过程。
训练学生的分析能力、开发能力、组织能力、表达能力,以及培养团队精神。
通过软件开发的实践实现以下基本目标:1.深化已学的知识,完成从理论到实践的转化通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将软件工程的理论知识运用于开发的实践,并在实践中逐步掌握软件工具的使用。
2. 提高分析和解决实际问题的能力实验不仅是软件工程实践的一次模拟训练,同时通过软件开发的实践,积累经验,提高分析和解决问题的能力。
3.培养“开拓创新”能力大力提倡和鼓励在开发过程中使用新方法,新技术。
激发学生实践的积极性与创造性,开拓思路,设计新算法,进行新创意,培养创造性的工程设计能力。
二、参加实验的学生应具备的条件参加实验的学生应当具备计算机软件设计的一些基础的知识。
即学生应当熟练掌握和使用一种计算机操作系统(windows操作系统等)、一种程序设计语言(vb、vc、pb、delphi, 数据库管理系统:Access,SQL Server,visio软件等)。
三、实验要求实验的要求体现于整个工作的各个阶段中,可根据所选课题的特点而有所侧重,但应达到如下的基本要求:(1) 根据课题任务制定合理、可行的工作计划任务;(2) 制定适当的技术方案;(3) 学生在老师的指导下独立完成设计过程;(4) 撰写实验报告(包括实验内容中各个阶段所要求的文字材料);(5) 通过实验检查评定;四、实验项目与内容提要五、实验课程考核办法1、该实验课程考核成绩按百分制计算,满分为100分,60分为及格,60分以上者可获取该学分。
《软件工程》实验指导书

《软件工程》实验指导书《软件工程》试验指导序论软件工程是对软件开发、运作、维护、退役的系统研究方法。
在整个计算机科学中占有举足轻重的地位。
软件工程试验将软件工程的概念和理论知识融入到实践当中,从而加深对软件工程知识的认识和理解。
本指导书内容包含了软件生命周期中的各个阶段,内容设计软件工程计算环境、软件工程国家标准、软件开发绘图工具Microsoft Visio、软件分析建模工具Sybase Powerdesinger、软件自动化测试Mercury Interactive WinRunner、软件项目管理Microsoft Project 和软件配置管理软件Microsoft Visual SourceSafe等。
整个指导书共含7试验,其中每一个试验都包含背景知识介绍、所需工具、准备工作和试验步骤等。
第一种软件工程工具以环境一、试验目的1.理解软件工程的基本概念,熟悉软件,软件生命周期,软件生存周期过程和软件生命周期各阶段的定义和内容2.通过Internet搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持开展软件工程应用实践。
3.熟悉软件工具、软件开发环境和CASE工具4.了解GB/T15853-1995《软件支持环境》相关内容二、试验内容与步骤1.查阅有关资料,给出“软件”的权威定义2.查阅有关资料,给出“软件生命周期”的权威定义3.查阅有关资料,给出“软件生存周期过程”的权威定义4.上网搜索和浏览,了解软件工程技术的应用情况,记录所浏览网站的技术支持工作。
5.查阅有关资料,给出“软件工具”、“软件开发环境”、“CASE工具”的权威定义6.填写下列学术术语的英文简写,并思考、理解其含义7.软件开发环境8.软禁工程环境9.软件支持环境10.软件项目支持环境11.软件自动开发环境12.集成化程序设计环境13.通过查阅资料给出GB/T15853-1995《软件支持环境》规定的软件支持环境的基本要求14.了解Microsoft Visio的应用状况15.了解Rational Rose的应用状况16.了解Oralce Designer的应用状况17.了解Together Soft的应用状况18.了解CASE Studio的应用状况19.了解Sybase PowerDesigner的应用状况20.了解Microsoft Visual SourceSafe的应用状况三、学时分配2学时四、要求必做五、性质验证六、所需仪器设备微机、网络七、试验总结八、试验评价(教师)第二章软件工程标准化一、试验目的1.熟悉和掌握软件工程标准化的概念、内容和意义2.了解那些支持国家标准和其他标准信息的专业网站3.较为系统全面的了解软件工程相关的国家标准1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、一、二、三、四、五、六、七、八、九二、试验内容与步骤1.上网浏览和检索标准化专业网站,并记录标准化专业网址,网站名称,内容描述2.了解软件工程标准化的概念3.了解软件工程的国家标准1)GB/T8566-20012)GB/T8567-19883)GB/T9385-19884)GB/T9386-19885)GB/T1526-19896)GB/T11547-19897)GB/T12504-19908)GB/T12505-19909)GB/T14079-199310)GB/T16680-199611)GB/T15532-199512)GB/T14394-199313)其他三、学时分配2学时必做五、性质验证六、所需仪器设备微机、网络七、试验总结八、试验评价(教师)第三章软件开发绘图工具Visio一、试验目的1.了解Visio工具软件的功能特色、安装、工作环境和基本操作等各方面的基本知识2.掌握应用Visio工具绘制软件开发图形的基本操作3.了解开发Visio解决方案的基本概念4.学习应用Visio工具绘制UML模型图、网络图、网站图等图形二、试验内容与步骤与步骤1.了解Visio的工作环境1)工作窗口2)视窗调整3)任务窗口4)小视窗2.了解菜单项3.了解定位工具4.了解工具栏5.了解文件操作6.了解绘图页面操作7.绘制一个C程序流程图8.针对一个实际网络开发,部署,维护过程建立:1)用例图2)类图4)状态图5)时序图6)协作图7)活动图8)构件图9)部署图10)用例视图11)逻辑视图12)构件视图13)并发视图14)部署视图九、学时分配4学时十、要求必做十一、性质验证、设计十二、所需仪器设备微机、网络、Microsoft Visio十三、试验总结十四、试验评价(教师)第四章系统分析与建模工具PowerDesigner一、试验目的1.初步了解系统分析与建模工具PowerDesinger的基本概念和操作界面2.了解PowerDesigner的四个模型:业务处理模型、概念数据模型、物理数据模型和面向对象模型及相互关系3.用PowerDesinger工具进行简单系统分析建模操作二、试验内容与步骤与步骤1.启动PowerDesinger2.建立新项目3.建立概念数据模型4.定义实体5.定义属性、属性的约束和算法6.定义关系7.保存并使用Check Model检查E-R图8.使用Generate Physical Data Model选择生成物理数据模型9.建立业务处理模型10.建立面向对象模型三、学时分配4学时四、课程作用――物业管理系统1.需求分析该物业管理系统包含三个核心模块:物业基础资料模块、业主变动处理和物业费用处理模块1)物业基础资料模块是物业系统最基本的部分,此模块包含了如下功能:物业基本信息、维修项目定义、费用定义、小区管理、业主基本信息。
软件工程实验指导书

《软件工程》实验指导书(一)一、实验题目:学生成绩管理系统、图书借阅管理系统、工资管理系统、网络订餐系统二、实验目标通过独立完成项目分析,加深对软件开发的流程和方法的理解,建立软件工程的思想,同时,明确软件开发的成本和时间管理的相关概念。
三、实验内容与要求1. 在实验题目列出的几个系统中选择一个作为自己要开发的软件系统,要求该系统有明确的功能需求。
2. 对系统进行需求分析4. 编写需求规格说明书,在该部分要求有数据流程图(可用office中的visio绘制)、主要数据项的数据字典描述及主要加工的逻辑说明(自己选择结构语言、判定树、判定表等)。
题目描述:1.学生成绩管理设计要求:本系统中主要有学生管理中的基本信息、入学成绩、家庭成员、职务信息的录入、查询;对学生成绩的动态管理,并具有初始化、输入、显示、删除、查找、插入、追加、保存、读入、计算、拷贝、排序、索引、分类统计、退出;用户管理中的修改密码、添加用户、删除用户等操作;对数据的备份及恢复。
2.图书借阅管理系统设计要求:该系统要求能够具有图书管理和会员管理的功能,并且能够具有增加图书、查询图书、删除图书、图书借阅——借书、还书的功能,还具有增加会员、查询会员、删除会员、借书信息等功能。
3.工资管理系统设计要求:该系统要求实现一个单位最基本的财务管理——工资管理。
该系统应该具有:初始化、输入、显示、单条显示、删除、查找、插入、追加、保存、读入、计算工资、拷贝、排序、索引、分类统计等功能。
4.网络订餐系统设计要求:用户可在网上订餐位,并可预先定菜、下单,用餐完毕后可进行评价及留言;管理员对各餐位有管理功能,并可接受预定的菜单,查询食物是否可用的状态,发布餐厅的餐位状态及食物状态。
《软件工程》实验指导书

《软件工程》实验指导书一、基本目的:1.使学生把信息系统分析与设计的基本原理和技术应用于实践。
2.强化学生规范化系统开发思想和开发方法与工具的掌握。
二、实验环境:文档制作工具为WORD、VISIO、PROJECT等。
三、实验要求:以4人为一个小组,每组从以下题目中任选一题,也可自选题目。
每组指定一名组长,负责分工和制定标准等管理工作。
2.实验内容包括进行可行性分析、需求分析、系统总体设计。
各组全体成员共同协商讨论完成可行性分析和需求分析,定义系统目标与功能,划分系统功能结构。
然后每个成员就一个子系统进行设计,设计过程考虑系统方案的整合。
3.实验报告要求包括可行性分析报告、需求规格说明书、总体设计规格说明书。
全组文档格式、内容参照附件中模板,提交一份完整的实验报告(提交打印和电子两种形式)。
四、实验题目:1、某城建档案馆档案管理信息系统某城建档案馆馆藏大量各种比例地形图、底图,还有大量的其它档案资料,是其所在市规划、建设、管理的真实记录,是该市建设和发展的重要依据。
目前,馆藏资料的接收、整理、入库等工作全部为传统的手工作业,其难度高、成卷工作量大,而且缺乏系统管理手段,存贮问题日益突出,利用效率低,共享程度差。
为了21世纪信息社会使档案能更好地充分体现其社会价值,该市建委决定建立一个满足国家标准和城建档案管理工作要求的"**市城建档案管理信息系统"。
为此,要求该系统开发所采用的信息技术既要最先进,又要成熟、安全、可靠,同时要具有现实性和前瞻性。
2、某省科技厅科学基金管理系统为实现政务公开,某省拟采用网上自然基金申报和审批,需开发一套包括基金申报(使用说明、文档提交、申报情况查询)、基金信息公告(基金公告、基金新闻、最新立项)、网上审批与鉴定(专家定量网上审批、项目鉴定)、基金项目管理(发布申报计划、批复申请、查询申请项目等)与推荐优秀基金项目等功能的办公网站。
要求具有基金申报管理(申报文档提交,申报情况查询等),信息公告维护(增加,撤除和修改等),审批流程管理(管理员可指定审批流程,对需执行审批的专家显示审批流程,进行审批提示),项目鉴定管理(管理员可指定鉴定流程,对需执行鉴定的专家显示审批流程,进行鉴定提示)等功能。
软件工程课程实验指导书-

《软件工程》课程实验指导书课程名称:软件工程英文名称:Software Engineering课程类别:专业必修课实验学时:16适应对象:计算机、软件、网络专业专科Z10任课教师:黄南川实验项目列表实验1 项目可行性分析2学时实验2 项目需求分析2学时实验3 项目总体设计2学时实验4 项目详细设计2学时实验5 编码实现(1)2学时实验6 编码实现(2)2学时实验7 软件测试2学时实验8 配置与文档2学时实验1 项目可行性分析一、实验目的:确定课题,组成小组,合理分工。
根据课题背景,进行项目的可行性分析二、实验内容:充分查阅相关资料,根据自己的兴趣和能力,自选题目或从给定的题目中选定一个课题。
选定的课题将作为实验课题,贯穿始终。
按照教材和课件所学,完成所选课题的可行性分析,主要从技术可行性上进行分析。
阅读相关的国家有关软件开发的标准文档。
三、实验要求:综合利用Internet网和相关书籍,进行资料的搜索、查询,确定课题。
完成技术可行性分析。
四、实验步骤:1.综合利用Internet网和相关书籍进行查阅,完成题目的选定2.了解课题的基本框架3.分析和澄清问题的定义4.各小组在组长的带领下进行项目的可行性分析实验2 项目需求分析一、实验目的:继续进行资料的搜索与查询,进行项目的功能分析,在此基础上完成系统的逻辑功能模型的建立,使同学们掌握结构化数据流分析技术。
二、实验内容:学习软件开发小组的组织和管理,合理分工,将项目开发各阶段的任务明确,并熟悉相应的软件开发环境。
采用结构化的软件开发技术、进行软件系统需求分析,得出系统得数据流图。
三、实验要求:根据所选的课题,要求做到使用结构化数据流分析技术分析课题需求,写出详细的数据流图,数据流图的基本处理的个数不得少与5个。
上传数据流图,文件名为班级+学号+姓名,文档类型为word文档。
上传地址届时再公布。
四、实验步骤:1.综合利用Internet网和相关书籍,确定对系统的综合要求2.分析系统的数据要求,分析整理课题的功能需求,完善需求分析。
软件工程实验指导书

软件工程实验指导书张红斌编华东交通大学软件学院2010-4 1.0版本2014-4 1.1版本2015-10 1.2版本2016-5 1.3版本前言《软件工程》是软件工程、软件+应用背景专业教学计划中一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、可行性分析、需求分析、概要设计、详细设计、面向对象分析与设计、编码、软件质量与质量保证、项目计划与管理。
根据培养基层应用型人才的需要,本实验指导书从需求分析、软件设计、软件测试以及OOA等软件工程导论中的关键知识点出发设计了4个相关实验。
每个实验均给出了详细的实验过程、考核方式、操作流程等,非常适合《软件工程》的初学者对软件工程基本理论和知识的掌握。
目录实验一数据流图实验 (4)实验二软件设计实验 (11)实验三软件测试实验 (15)实验四软件动态模型建模实验 (26)实验一数据流图实验一、实验目的通过绘制系统流程图和数据流图,熟练掌握系统流程图和数据流图的基本原理,并能对简单问题进行系统流图和数据流图的分析,独立地完成数据流图设计。
此外,学会使用Case工具完成数据流图和系统流程图的分析与实现。
二、实验内容实验内容如下:a)用Microsoft Visio绘制出如下定货系统的SFD(系统流程图)的模型。
图1 某定货系统SFDb)用Microsoft visio绘制教材中定货系统的DFD的顶层模型、第一层模型和第二层模型。
(参考课本上P69~P70的图3.4,图3.5和图3.6)教材图3.4 仓库定货系统的顶层数据流图描述教材图3.5 仓库定货系统的第一层数据流图描述教材图3.6 “处理事务”的第2层数据流图描述c)用Microsoft Visio 绘制如下图所示的取款手续的数据流图。
图2 取款手续d)请结合目前的银行柜台取款手续,对图2的取款数据流图进行改进,绘制当前银行柜台取款手续的顶层数据流图和第一层数据流图。
(要求合理地进行需求分析、并完成DFD的分层设计)三、实验结果一张系统流程图和六张数据流图,要求把画出的系统流程图和数据流图打印后粘贴在实验报告中。
软件工程实验指导书

软件工程实验指导书软件工程实验是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。
其目的是使学生能够在实际软件工程项目中熟练的运用软件工程的理论、技术和方法,全面掌握软件工程管理、软件需求分析、软件概要设计、软件详细设计、软件测试等阶段的方法和技术,以及培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
根据课程的特点,实验内容包括结构化的方法学和面向对象的方法学两个方面。
引入一个简单的实际项目(自选或教师指定),要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。
此外又引入我国国家《计算机开发规范文档》,以规范技术文档的书写标准,提高实验教学质量。
特别是在实验中针对面向对象的软件开发技术,增加面向对象的工业建模标准-------统一建模语言及其工具rational rose的专项练习。
通过实验训练,达到如下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,快速掌握结构化的软件分析技术、设计技术和软件测试,并熟练的撰写软件文档;进一步的掌握面向对象的分析技术、设计技术和测试技术,以及统一建模语言及其工具rose在实际工程项目中的应用,从而培养学生综合运用所学课程知识,分析解决问题的能力以及学生的合作意识和团队精神,为今后走向工作岗位打下扎实的基础。
一、实验要求软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。
具体要求如下:1.班级按项目小组进行分组,每组不得超过5人2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目3.项目开的每项任务要落实到人且规定该任务的起止日期和时间4.每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档5.根据实验内容,分别实现结构化的开发和面向对象的软件开发6.题目自定或采用附录二中的题目二、实验内容1.结构化软件开发技术以实际工程项目为驱动,采用结构化的分析、设计与实现方法完成该项目的分析设计与实现。
《软件工程》实验指导书(实验一)

实验1软件工程概念与相关工具1.1 软件工程的计算环境(实验估计时间:90 分钟)1.1.1 背景知识软件工程学主要研究如何以较少的代价获得高质量的软件,而要达到这个目的,就必须研究软件开发方法和软件开发工具。
软件开发方法就是开发软件的规范化方法。
软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件系统;软件开发环境则是面向软件整个生存周期,为支持各个阶段的需要,在基本硬件和宿主软件的基础上使用的一组软件系统。
软件工具和软件开发环境都是软件工程的重要支柱,对于提高软件生产率,改进软件质量,以及适应计算机技术的迅速发展有着越来越大的作用。
从20世纪70年代末开始,专家们就致力于软件开发自动化工具的研究,并逐步形成了应用于软件过程的集成的项目支撑环境(Integrated Project Support Environment)和计算机辅助软件工程(CASE,Computer-Aided Software Engineering)工具。
在此基础上建立集成式软件开发环境,全面支持软件开发过程,以期实现软件设计过程的自动化或半自动化。
1.1.2 实验目的1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期各阶段的定义和内容。
2)通过Internet 搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持来开展软件工程应用实践。
1.1.3 工具/准备工作在开始本实验之前,请预习教科书第一章的相关内容。
需要准备一台带有浏览器、能够访问因特网的计算机。
1.1.4 实验内容与步骤1)请查阅有关资料,给“软件”下一个权威性的定义:软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。
一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。
《软件工程》实验指导书

《软件工程》课程实验指导书实验一 软件工程环境部署一、实验目的:熟悉Visual SourceSafe、Project、Visio等软件管理与设计开发工具,结合具体项目搭建软件工程环境。
二、实验内容:介绍Visual SourceSafe、Project、Visio等软件管理与设计开发工具的使用。
三、实验要求:1. 组建项目组,完成项目计划2. 写出实验报告。
四、实验学时:2学时五、实验步骤:1.介绍Visual SourceSafe软件的使用,并分项目组建立版本管理环境;2. 介绍Project软件使用,分组完成项目计划;3. 介绍Visio软件的使用。
六、选作实验利用Visio开始结构化分析,完成系统顶层数据流图。
实验二 结构化分析实践一、实验目的:结合具体项目,利用Visio软件完成系统的结构化分析。
2、实验内容:自顶向下绘制分层数据流图,由后向前编制数据字典和加工说明,撰写软件需求规格说明书。
3、实验要求:1. 完成结构化分析;2. 写出实验报告。
四、实验学时:2学时五、实验步骤:1.进入Visio环境,绘制数据流图;2. 编写数据字典和加工说明;3. 撰写软件需求规格说明书。
实验三 结构化设计实践一、实验目的:结合具体项目,利用Visio软件完成系统的结构化设计。
二、实验内容:完成体系结构设计和数据库设计三、实验要求:1. 完成结构化设计;2. 写出实验报告。
四、实验学时:2学时五、实验步骤:1.根据实验二的数据流图绘制结构化图,完成模块划分;2. 根据实验二的分析结果,绘制E-R图,并完成数据库设计;3. 撰写体系结构设计报告和数据库设计报告;实验四 面向对象分析实践一、实验目的:介绍ROSE软件使用,结合具体项目完成面向对象分析。
二、实验内容:完成面向对象分析,包括用例分析、对象分析等。
三、实验要求:1. 熟悉并掌握ROSE软件的使用;2. 完成具体项目的面向对象分析;3. 写出实验报告。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
了一些 Bug 用于演示,这些 Bug 在注释中都有说明。该类代码如下:
public class Calculator{
private static int result;
// 静态变量,用于存储运行结果
public void add(int n) { result = result + n; }
public void substract(int n) {
实验一 结对编程
一、实验目的
1)体验敏捷开发中的两人合作。 2)进一步提高个人编程技巧与实践。
二、实验内容及要求
1)选择一个程序实例,练习结对编程(pair programming)实践; 2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。 3)要求在结对编程工作期间,两人的角色至少切换 4 次; 4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
用安装就可以在项目中测试相关的类,并且可以调试测试用例和被测类。下面以实例说明,如
何建立一个基于 JUnit4 的测试项目,对一个类当中的多个方法进行单元测试。
(1)新建一个名为 JUnitTest 的项目,在其中编写一个 Calculator 类,这是一个能够简单实
现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。这个类中我们故意保留
“Run As ——>JUnit Test”来运行我们的测试,运行结果如下:
进度条是红颜色表示发现错误,具体的测试结果在进度条上面有表示“共进行了 4 个测试, 其中 1 个测试被忽略,一个测试失败”。
游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行。例如,设想每个 方格中都可放置一个生命细胞,生命细胞只有两种状态:“生”或“死”。图中,用黑色的方 格表示该细胞为“死”, 其它颜色表示该细胞为“生” 。游戏开始时, 每个细胞可以随机地(或 给定地)被设定为“生”或“死”之一的某个状态, 然后,再根据如下生存定律计算下一代每 个细胞的状态:
5 考核方式
结合平时考查,以实验实际操作的优劣、提交的文档和程序等作为考核依据。 实验成绩按五级制评分,课程结束,以学生实际实验工作能力的强弱作为评定成绩 的主要依据。
最终成绩 100% = 平时成绩 10% + 实验成绩 70% + 课程总结(含案例)20%
6 推荐教材及参考资料
1)《软件工程基础实验指导书》 自编 2)《构建之法:现代软件工程》,邹欣,人民邮电出版社,2015 3)《UML 与 Enterprise Architect 7.5 团队开发实务手册》,赖信仁著,UMLChina 改 编,电子工业出版社,2010 4)《零成本实现 Web 性能测试:基于 Apache JMeter 》温素剑编,电子工业出版 社,2012
每个细胞的状态由该细胞及周围 8 个细胞上一次的状态所决定; 如果一个细胞周围有 3 个细胞为生,则该细胞为生,即该细胞若原先为死则转为生, 若原先为生则保持不变; 如果一个细胞周围有 2 个细胞为生,则该细胞的生死状态保持不变; 在其它情况下,该细胞为死,即该细胞若原先为生则转为死,若原先为死则保持不变。 (2)推箱子游戏 在一个 M*N 的房间里有一个箱子和一个搬运工,搬运工的工作就 是把箱子推到指定的位置。注意:搬运工只能推,不能拉。因此,如右 图所示,箱子被推到一个角上,那么就不能再被移动了,如果箱子被推 到一面墙上,那么箱子只能沿着墙移动。 要求:现在给定房间的结构、箱子的位置、搬运工的位置和箱子要 被推去的位置,请计算出搬运工至少要推动箱子多少格? 输入:输入数据的第一行是一个整数 T(1<=T<=20),代表测试数据 的数量。然后是 T 组测试数据,每组测试数据的第一行是两个正整数 M,N(2<=M,N<=7),代表房间的大小。然后是一个 M 行 N 列的矩阵,代表房间的布局,其 中 0 代表空的地板,1 代表墙,2 代表箱子的起始位置,3 代表箱子要被推去的位置,4 代表搬 运工的起始位置。 输出:对于每组测试数据,输出搬运工最少需要推动箱子多少格才能帮箱子推到指定位置, 如果不能推到指定位置则输出-1。
@RunWith(TestClassRunner.class) public class CalculatorTest {
private static Calculator calculator=new Calculator(); @Before public void setUp() throws Exception {
(3)生成 JUnit 测试框架:在 Eclipse 的 Package Explorer 中用右键点击该类弹出菜单,选 择“JUnit 测试用例”。在弹出的对话框中,进行相应的选择,如下图所示:
点击“下一步”后,系统会自动列出你 这个类中包含的方法,选择你要进行测试的 方法。此例中,我们仅对“加、减、乘、除” 四个方法进行测试。如右图所示:
2 实验项目及学时分配
序号
实验项 目 名称
1 结对编程
2 单元测试
3 代码评审与程序性能优化
4 UML 建模工具的安装与使用
5 UML 系统分析与设计
6 系统测试
7 Git 实战
实验学时 每组人数 实验类别 实验类型
4
2
专业基础 验证与设计
4
2
专业基础 验证与设计
4
2
专业基础 验证与设计
4
1
专业基础 验证与设计
result = result - 1; //故意的 Bug,应该是 result =result-n
}
public void multiply(int n) { } // 假设此方法在项目完成过程中尚未写好
public void divide(int n) { result = result / n; }
calculator.clear(); } @After public void tearDown() throws Exception { } @Test(timeout=1000) public void testAdd() {
calculator.add(2); calculator.add(3); assertEquals(5, calculator.getResult()); } @Test public void testSubstract() { calculator.add(10); calculator.substract(2); assertEquals(8,calculator.getResult()); } @Ignore("Multiply() Not yet implemented") @Test public void testMultiply() { } @Test(expected =ArithmeticException.class) public void testDivide() { calculator.add(8); calculator.divide(0); assertEquals(4,calculator.getResult()); } } (4)运行测试代码:按照上述代码修改完毕后,我们在 CalculatorTest 类上点右键,选择
之后系统会自动生成一个新类 CalculatorTest,里面包含一些空的测试用例。 你只需要将这些测试用例稍作修改即可使 用。
完整代码如下: package andycpp; import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.junit.internal.runners.TestClassRunner; import org.junit.runner.RunWith;
三、示例程序问题描述
(1)生命游戏 生命游戏是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机,它包括一个二维矩
形世界,这个世界中的每个方格居住着一个活着的或死亡的细胞。一个细胞在下一个时刻生死 取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个 细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单 而死去。
4 实验组织
所有实验均以个人独立完成,或两人结对协作的方式展开,在实验室环境下进 行。实验指导教师帮助学生熟悉各类软件工具,培养符合软件工程方法的软件开发 技能;督促学生在正式实验前进行适当的预习或准备,在实验过程中按照实验步骤 积极动手进行实验操作,深入思考、分析和讨论,在课堂外再进行一定时间的练习, 按各个实验的具体要求完成和提交实验成果,增强解决实际问题的能力。
个项目:在该项目上点右键,点“属性”,
如右图所示:
(3)在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries” 标签,之后在最右边点击“Add Library…”按钮,如下图所示:
然后在新弹出的对话框中选择 JUnit4 并点击确定,如上图所示,JUnit4 软件包就被包含进 我们这个项目了。
public void square(int n) { result = n * n; }
public void squareRoot(int n) { //求平方根
for (; ) //Bug : 死循环
}
public void clear() { // 将结果清零
result = 0;
}
}
(2)将 JUnit4 单元测试包引入这
实验六:系统测试 实验七:Git 实战
在初步掌握 JMeter 系统测试工具的使用方法之后,通过 对一个软件实例来组织测试,以进一步熟悉 JMeter; 通过分析和采用适当的测试用例去发现程序中的错误, 提高软件测试的实践能力。 学习软件配置管理工具 Git 的相关内容;我们知道版本 控制,对于大中型软件系统的开发;利用假想的 IT 项 目,介绍该软件的使用方法。