软件工程实验指导书
- 格式:docx
- 大小:525.33 KB
- 文档页数:22
《软件工程》实验讲义一、实验的性质、目的与任务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格式撰写实验报告,并附上相应的代码和测试结果。
软件工程试验指导书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. 实验总结通过本次实验,学生们能够学习到软件工程的基本概念、原理和方法,并能通过实践应用到实际项目中。
《软件工程》实验指导书太原理工大学计算机科学与技术学院20XX年3月王会青目录第一部分实验教学大纲 ................................... 1 第二部分实验说明 (4)实验一软件工程的网上资源与常用的CASE工具 .................................4 实验二传统软件开发方法的可行性研究 .. (6)实验三传统软件开发方法的需求分析建模...........................................7 实验四传统软件开发方法的结构设计 ................................................ .18 实验五系统测试 ................................................ .....................................22 实验六面向对象的分析与设计 .............................................................28 实验七软件项目管理 ................................................ ...............................32 附录一实验题目 . (33)第一部分实验教学大纲课程名称:软件工程课程总学时: 48 学时[理论: 40 学时;实验: 8 学时] 课程总学分: 3 学分适用专业和年级:计算机科学与技术、软件工程专业一、实验的目的与任务本实验课程通过完整地实施软件生命周期各阶段的任务,让学生系统地学习到软件开发过程的主要理论、方法、技术、标准和规范,使他们具备基本的软件开发设计能力;通过软件工程中常用CASE工具和软件项目管理的实践,使他们具备运用各种工具完成项目设计和实施的基本技能;通过集体项目开发,培训学生的合作意识和团队精神,培养学生对技术文档的编写能力。
软件工程实验指导书实验一软件的问题定义及可行性分析一、实验类型:验证二、实验目的与任务:通过本次实验,掌握需求调查与可行性研究的方法、过程和步骤,加深对可行性分析有关理论的理解,为学习后面的需求分析与软件设计打下一个良好的基础。
三、预习要求:要求学生实验前要认真消化书本和课堂教学内容,精心准备本次实验。
四、实验基本原理:可行性研究任务和过程,学生掌握可行性研究的有关概念和具体分析过程,并明确从哪些方面进行可行性分析,成本效益分析的技术,掌握软件项目成本效益分析的常用手段。
五、实验仪器及设备(或工具软件):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.写出需求分析说明书和软件设计说明书。
软件工程实验指导书一、实验的目的与要求开设“软件工程实验”的主要目的是培养学生综合应用所学专业知识及计算机知识的能力,训练和提高软件开发技能。
要求每个学生在规定时间内必须完成一个规模适当的应用软件系统;在教师的指导下以软件设计为中心,布置大型模拟案例,将学生划分为若干组,分工合作,共同完成该模拟项目,独立地完成从需求分析、软件设计、编码到软件测试运行的软件开发全过程。
训练学生的分析能力、开发能力、组织能力、表达能力,以及培养团队精神。
通过软件开发的实践实现以下基本目标:1.深化已学的知识,完成从理论到实践的转化通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将软件工程的理论知识运用于开发的实践,并在实践中逐步掌握软件工具的使用。
2. 提高分析和解决实际问题的能力实验不仅是软件工程实践的一次模拟训练,同时通过软件开发的实践,积累经验,提高分析和解决问题的能力。
3.培养“开拓创新”能力大力提倡和鼓励在开发过程中使用新方法,新技术。
激发学生实践的积极性与创造性,开拓思路,设计新算法,进行新创意,培养创造性的工程设计能力。
二、参加实验的学生应具备的条件参加实验的学生应当具备计算机软件设计的一些基础的知识。
即学生应当熟练掌握和使用一种计算机操作系统(windows操作系统等)、一种程序设计语言(vb、vc、pb、delphi, 数据库管理系统:Access,SQL Server,visio软件等)。
三、实验要求实验的要求体现于整个工作的各个阶段中,可根据所选课题的特点而有所侧重,但应达到如下的基本要求:(1) 根据课题任务制定合理、可行的工作计划任务;(2) 制定适当的技术方案;(3) 学生在老师的指导下独立完成设计过程;(4) 撰写实验报告(包括实验内容中各个阶段所要求的文字材料);(5) 通过实验检查评定;四、实验项目与内容提要五、实验课程考核办法1、该实验课程考核成绩按百分制计算,满分为100分,60分为及格,60分以上者可获取该学分。
《软件工程》实验指导书实验1 用Visio进行功能分析和建模1. 实验目的掌握结构化分析的方法。
掌握使用Visio2003软件绘制数据流图、状态转换图的一般方法和技巧。
2. 实验环境软件平台:Microsoft Windows XP,软件工具:Micrisoft Visio 2003。
3. 实验原理结构化分析方法以数据字典为核心,采用实体关系图、数据流图和状态转换图等图形来表达需求,直观明了且易于理解和掌握。
数据流图作为功能建模的基础,描述数据怎样转换以及转换的功能,状态转换图作为行为建模的基础,表示系统的各种行为状态以及状态间的转换方式。
4. 实验内容与要求绘制学生成绩管理系统(案例如下)的数据流图及状态转换图。
5. 撰写实验报告案例1某校准备开发一个学生成绩管理系统。
在该系统中,教务人员录入学生信息、课程信息和成绩信息,学生可以随时查询自己所选课程的成绩。
由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。
实验2用例模型设计1. 实验目的学会IBM Rational Rose Enterprise Edition的基本操作。
掌握使用Rose进行用例建模。
2. 实验环境软件平台:Microsoft Windows XP,软件工具:IBM Rational Rose Enterprise Edition。
3. 实验原理使用用例方法来描述系统功能需求的过程,就是用例建模,它是实现"功能模型"建模的主要手段之一。
用例模型主要包括以下两部分内容。
⑴用例图(Use Case Diagram)确定系统中所包含的参与者、用例和两者之间或其自身的关系,用例图是基于系统要实现的功能的一个可视化描述。
①参与者(Actor)②用例(Use Case)用例是用来描述参与者使用系统,以达到某个目标时所涉及到的一系列的场景的集合。
一个用例的核心并不是上述的图标,而是一个规格化的叙述型文档,它描述了参与者要实现某项功能的事件流程,展示和体现了其所描述的过程中的需求情况。
《软件工程》实验指导书《软件工程》试验指导序论软件工程是对软件开发、运作、维护、退役的系统研究方法。
在整个计算机科学中占有举足轻重的地位。
软件工程试验将软件工程的概念和理论知识融入到实践当中,从而加深对软件工程知识的认识和理解。
本指导书内容包含了软件生命周期中的各个阶段,内容设计软件工程计算环境、软件工程国家标准、软件开发绘图工具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)物业基础资料模块是物业系统最基本的部分,此模块包含了如下功能:物业基本信息、维修项目定义、费用定义、小区管理、业主基本信息。
《软件工程》实验指导书计算机学院2017年2月软件工程实验指导前言软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。
因此设置五个实验项目,从项目发的准备工作,系统分析过程,系统设计过程,软件测试到系统实施,覆盖软件开发的整个过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。
通过实验训练,达到如下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。
实验要求软件工程实验具体要求如下:每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档;题目自定或采用附录二中的题目;软件开发的方法自定(结构化或面向对象的方法学)。
实验一用Visio进行功能分析和建模1. 实验目的掌握结构化分析的方法。
《软件工程》实验指导书(一)一、实验题目:学生成绩管理系统、图书借阅管理系统、工资管理系统、网络订餐系统二、实验目标通过独立完成项目分析,加深对软件开发的流程和方法的理解,建立软件工程的思想,同时,明确软件开发的成本和时间管理的相关概念。
三、实验内容与要求1. 在实验题目列出的几个系统中选择一个作为自己要开发的软件系统,要求该系统有明确的功能需求。
2. 对系统进行需求分析4. 编写需求规格说明书,在该部分要求有数据流程图(可用office中的visio绘制)、主要数据项的数据字典描述及主要加工的逻辑说明(自己选择结构语言、判定树、判定表等)。
题目描述:1.学生成绩管理设计要求:本系统中主要有学生管理中的基本信息、入学成绩、家庭成员、职务信息的录入、查询;对学生成绩的动态管理,并具有初始化、输入、显示、删除、查找、插入、追加、保存、读入、计算、拷贝、排序、索引、分类统计、退出;用户管理中的修改密码、添加用户、删除用户等操作;对数据的备份及恢复。
2.图书借阅管理系统设计要求:该系统要求能够具有图书管理和会员管理的功能,并且能够具有增加图书、查询图书、删除图书、图书借阅——借书、还书的功能,还具有增加会员、查询会员、删除会员、借书信息等功能。
3.工资管理系统设计要求:该系统要求实现一个单位最基本的财务管理——工资管理。
该系统应该具有:初始化、输入、显示、单条显示、删除、查找、插入、追加、保存、读入、计算工资、拷贝、排序、索引、分类统计等功能。
4.网络订餐系统设计要求:用户可在网上订餐位,并可预先定菜、下单,用餐完毕后可进行评价及留言;管理员对各餐位有管理功能,并可接受预定的菜单,查询食物是否可用的状态,发布餐厅的餐位状态及食物状态。
《软件工程》实验指导书计算机学院2017年2月软件工程实验指导软件工程实验是为计算机相关专业本科《软件工程》课程配套设置的,是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理、软件需求分析、软件初步设计、软件详细设计、软件测试等阶段的方法和技术,通过该课程设计使学生进一步理解和掌握软件开发模型、软件生命周期、软件过程等理论在软件项目开发过程中的意义和作用,培养学生按照软件工程的原理、方法、技术、标准和规范,进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个简单项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。
因此设置五个实验项目,从项目发的准备工作,系统分析过程,系统设计过程,软件测试到系统实施,覆盖软件开发的整个过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。
通过实验训练,达到如下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。
实验要求软件工程实验具体要求如下:每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档;题目自定或采用附录二中的题目;软件开发的方法自定(结构化或面向对象的方法学)。
实验一用Visio进行功能分析和建模1. 实验目的掌握结构化分析的方法。
掌握使用Visio2003软件绘制数据流图、状态转换图的一般方法和技巧。
2. 实验环境软件平台:Microsoft Windows XP,软件工具:Micrisoft Visio 2003。
3. 实验原理结构化分析方法以数据字典为核心,采用实体关系图、数据流图和状态转换图等图形来表达需求,直观明了且易于理解和掌握。
数据流图作为功能建模的基础,描述数据怎样转换以及转换的功能,状态转换图作为行为建模的基础,表示系统的各种行为状态以及状态间的转换方式。
4. 实验内容与要求绘制学生成绩管理系统(案例如下)的数据流图及状态转换图。
5. 撰写实验报告案例1某校准备开发一个学生成绩管理系统。
在该系统中,教务人员录入学生信息、课程信息和成绩信息,学生可以随时查询自己所选课程的成绩。
由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。
用Visio操作实验步骤及相关详细讲解:*第0层DFD图教务人员维护学生信息和课程信息,并登录学生的选课成绩;学生查询自己的成绩单。
查询请衣学生查询结果UUlL II」环111|1輕“¥1|!"|山1」:'| I UlJ J H HI jd in?illlilir?illlil-l 雅I hl* 貧I Ih h 辟*第1层DFD图对第0层DFD图中的一个加工"学生成绩管理”进行展开双箭头:直线右键格式线条,线端的起点终点*第2层DFD图对第1层DFD图中的一个加工"查询学生成绩"进行展开绘制第0层DFD的时候,将整个系统看成一个加工,然后找岀作用于该加工的外部实体,以及相应的数据输入和输岀。
对于"学生成绩管理系统”而言,整个系统就是一个加工"学生成绩管理”。
从用户的需求描述可知,"教务人员”是数据的源点,"学生"是数据的终点。
另外,教务人员需要录入学生信息、课程信息和成绩,说明"学生信息"、"课程信息"和"成绩"是数据流;同样,"查询请求"和"查询结果"也是数据流。
根据上述分析,得到如图所示的第0层DFD。
绘制下一层数据流图时,细化第0层的加工"学生成绩管理",从而描述系统的主要功能。
从第0层DFD 得知,"学生信息"是教务人员需要录入的一个信息,因此加入一个加?quot;录入学生信息",同样得到”录入课程信息"、"登记成绩"两个加工。
另外,数据流"查询请求"和"查询结果"应该由加工"查询成绩"来完成。
这样,我们用”录入学生信息"、"录入课程信息"、"登记学生成绩"和"查询学生成绩”四个加工代替第0层的"学生成绩管理",同时增加这些数据流对应的数据存储,即"学生"、"课程"和"成绩”,最后得到如图所示的第1层DFD。
为了继续进行分解,我们分析第1层DFD中的加工"查询学生成绩"。
学生查询成绩时需要提供合法性检查,因此,"查询学生成绩"可以分解为"合法性检查”和"查询成绩"两个处理步骤,从而形成如图所示的第 2 层DFD。
根据以上实例和经验,绘制数据流图应当遵循以下原则:(1)分层时,子图的输入、输出数据流必须和父图中相应加工的输入、输出数据流一致;(2)加工的编号应该唯一且具有层次性;(3)加工不应该只有输入或只有输岀,通常既有输入又有输岀;(4)数据流图不应反映处理的顺序;(5)加工之间应通过数据存储进行通信,避免从一个加工直接流到另一个加工;(6)数据应通过加工进行流动,避免从一个数据存储直接流到另一个数据存储;(7)数据流图中所有元素的命名应当对客户有意义,且与业务相关;(8)不要在一个图中绘制7个以上的加工,否则难于绘制和理解。
通常来说,行为建模用于实时系统。
实时系统中可能存在许多脚本,很多实体需要进行状态划分和描述状态转换图,有时为了描述系统的并发行为,还需要使用其他一些工具进行描述,如Petri网。
在事务系统中,系统行为相对简单,只有某些行为较复杂的实体才需要建立其状态转换图。
(1)分析外部事件,所谓外部事件是指外部实体与系统的一次交互。
(2)分析事件的响应者,该响应者为了响应该事件要进行怎样的活动,这种活动又会激发哪些事件等,这样构成了系统行为的脚本。
(3)根据事件和活动划分实体的状态,也可根据其他知识划分实体状态,考虑发生怎样的事件使该实体进入这个状态,怎样的事件使该实体从这个状态转换到另一状态等。
举例分析:(在数据流程图中)或UML图中在"学生成绩管理”系统中,学生成绩信息需要采取安全措施,我们可以采取登录方法避免非法使用系统。
这样,该系统存在"登录"、"正常"和"岀错"等状态的转换。
学生启动系统之后,系统处于"登录"状态。
在这种状态下,学生可以进行登录或取消登录。
如果取消登录,系统直接退岀;如果登录失败,系统进入"岀错处理”状态,在显示错误信息后,又重新回到”登录"状态;如果登录成功,系统进入"正常”状态,即显示操作界面,等待学生查询,学生可以多次查询不同课程的成绩,直到学生选择退岀为止。
实验二用例模型设计1. 实验目的学会IBM Rational Rose Enterprise Edition 的基本操作。
掌握使用Rose进行用例建模。
2. 实验环境软件平台:Microsoft Windows XP,软件工具:IBM Rational Rose Enterprise Edition 。
3. 实验原理使用用例方法来描述系统功能需求的过程,就是用例建模,它是实现"功能模型"建模的主要手段之一。
用例模型主要包括以下两部分内容。
⑴用例图(Use Case Diagram)确定系统中所包含的参与者、用例和两者之间或其自身的关系,用例图是基于系统要实现的功能的一个可视化描述。
①参与者(Actor)②用例(Use Case)用例是用来描述参与者使用系统,以达到某个目标时所涉及到的一系列的场景的集合。
一个用例的核心并不是上述的图标,而是一个规格化的叙述型文档,它描述了参与者要实现某项功能的事件流程,展示和体现了其所描述的过程中的需求情况。
用例名称一般以“做什么”即“动宾词组”形式来命名。
③用例和参与者及自身的关系泛化关系(generalization)包含关系(include)扩展关系(extend)⑵用例规约(Use Case Specification)所谓规约,就是业务规则的规格说明。
针对每一个用例,都应该有一个用例规约文档与之相对应,以描述该用户的细节内容。
每一个用例的用例规约,都应该包含以下内容:①用例名称(Use Case Name):用例的名称一般由”动词+名词”构成,简单说明”做什么”。
②简要说明(Brief Description):简要介绍该用例的作用和目的。
③前置条件(Previous Condition):系统在执行该用例前必须处在的状态。
④事件流(Flow of Event)⑤用例场景(Use Case Scenario):包括成功场景和失败场景,场景主要由基本流和备选流组合而成。
⑥特殊需求(Special Requirement):描述与该用例相关的非功能性需求(性能、可靠性、可用性和可扩展性等)以及涉及约束(所使用的操作系统、开发工具等)。
⑦后置条件(Post Condition):系统在执行完该用例之后应该处在的状态。
4. 实验步骤(1) 找出系统边界以外的角色(actor),角色是与系统进行交互的外部实体,可以是与系统交互的人员、与系统相连并交换信息的设备和其他系统;(2) 从这些角色如何与系统进行交互的角度,使用用例( use case)来描述角色怎样使用系统以及系统向角色提供什么功能,用例所表示的是从外部用户角度观察的系统功能;(3) 绘制用例图,并编写详细的用例描述。
用例图只能宏观地描述系统的功能,但却不能提供用例模型所必需的所有信息,每个功能的含义和具体实现步骤则以文本方式描述。
5. 实验内容与要求绘制用例图,详见教材P95(4.7)。
6. 撰写实验报告实验三用例规约及活动图一、实验目的1•熟悉活动图的基本功能和使用方法。