软件工程课程实验指导书
- 格式:doc
- 大小:393.50 KB
- 文档页数:29
《软件工程》实验讲义一、实验的性质、目的与任务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格式撰写实验报告,并附上相应的代码和测试结果。
软件工程实验指导书软件工程实验是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。
其目的是使学生能够在实际软件工程项目中熟练的运用软件工程的理论、技术和方法,全面掌握软件工程管理、软件需求分析、软件概要设计、软件详细设计、软件测试等阶段的方法和技术,以及培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
根据课程的特点,实验内容包括结构化的方法学和面向对象的方法学两个方面。
引入一个简单的实际项目(自选或教师指定),要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。
此外又引入我国国家《计算机开发规范文档》,以规范技术文档的书写标准,提高实验教学质量。
特别是在实验中针对面向对象的软件开发技术,增加面向对象的工业建模标准-------统一建模语言及其工具rational rose的专项练习。
通过实验训练,达到如下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,快速掌握结构化的软件分析技术、设计技术和软件测试,并熟练的撰写软件文档;进一步的掌握面向对象的分析技术、设计技术和测试技术,以及统一建模语言及其工具rose在实际工程项目中的应用,从而培养学生综合运用所学课程知识,分析解决问题的能力以及学生的合作意识和团队精神,为今后走向工作岗位打下扎实的基础。
一、实验要求软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。
具体要求如下:1.班级按项目小组进行分组,每组不得超过5人2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目3.项目开的每项任务要落实到人且规定该任务的起止日期和时间4.每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档5.根据实验内容,分别实现结构化的开发和面向对象的软件开发6.题目自定或采用附录一中的题目二、实验内容1.结构化软件开发技术以实际工程项目为驱动,采用结构化的分析、设计与实现方法完成该项目的分析设计与实现。
软件工程实验指导书《软件工程》实验指导书周兵安徽工业大年夜学运算机学院2005年7月第一章概述一、实验目标:软件工程时一门实践性专门强的课程,上机实验是其重要的环节。
本实验指导书合营《软件工程》课程的进修而制订的。
实验目标是:1.能按照软件工程的思惟,采取面向过程的方法开创出一个小型软件体系。
2.在软件体系开创过程中,能综合应用一门编程说话和软件工程三门课程的常识。
3.培养优胜的软件开创适应,明白得软件企业文化。
二、面向专业:运算机科学与技巧三、先修课程:一门运算机高等说话、数据库概论四、实验学时数:8学时五、实验情形1.单机模式操作体系:Windows9x, Windows2000开创对象:C说话六、成就考察分实验申报、软件体系和考勤三项来考察,然后取加权平均值。
第二章实验内容(Experiments)实验标题:编制一个万年历法度榜样要求:输入一个年份(1-3000),然后显示12个月的月历,如屏幕显示不下,则应供给翻页功能。
实验一:软件需求分析1.实验目标:经由过程实例使同窗们操纵构造化数据流分析技巧。
2.实验要求:要求做到应用构造化数据流分析技巧分析课题需求,写出具体的数据流图和数据字典,数据流图的全然处理的个数不得少与5个。
3.实验内容:用构造化数据流分析技巧进行软件体系需求分析,得出体系得数据流图和数据字典。
4.实验步调:1.到相干单位进行需求分析。
2.综合应用Internet网和相干书本整顿并完美需求分析。
3.画出体系数据流图(分清体系是事务型照样加工型)。
4.得出体系数据字典。
实验二:软件设计与编码1.实验目标:经由过程实例使同窗们操纵构造化法度榜样设计的全然概念与技巧,同时养成优胜的编码风格。
2.实验要求:要求做到对上一实验的软件需求进行软件构造设计,模块数许多于四个。
然后再进行具体设计并编码。
法度榜样要相符构造化法度榜样的要求。
3.实验内容:用面向数据流的软件设计技巧,对上一实验的数据流图和数据字典,进行总体设计;在此差不多上,进行具体设计和编码。
软件工程试验指导书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. 实验总结通过本次实验,学生们能够学习到软件工程的基本概念、原理和方法,并能通过实践应用到实际项目中。
《软件工程》实验指导书《软件工程》试验指导序论软件工程是对软件开发、运作、维护、退役的系统研究方法。
在整个计算机科学中占有举足轻重的地位。
软件工程试验将软件工程的概念和理论知识融入到实践当中,从而加深对软件工程知识的认识和理解。
本指导书内容包含了软件生命周期中的各个阶段,内容设计软件工程计算环境、软件工程国家标准、软件开发绘图工具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.网络订餐系统设计要求:用户可在网上订餐位,并可预先定菜、下单,用餐完毕后可进行评价及留言;管理员对各餐位有管理功能,并可接受预定的菜单,查询食物是否可用的状态,发布餐厅的餐位状态及食物状态。
******************* 《软件工程》实验指导书(自编)******************* 计算机科学与信息工程学院目录一.课程实验目的和任务 (1)二.综合实验题目 (1)三.实验安排 (2)实验一系统需求分析....................................................................................错误!未定义书签。
一.实验目的............................................................................................错误!未定义书签。
二.准备知识............................................................................................错误!未定义书签。
三.实验内容............................................................................................错误!未定义书签。
四.实验指导............................................................................................错误!未定义书签。
实验二系统概要设计. (12)一.实验目的 (12)二.准备知识 (12)三.实验内容 (12)四.实验指导 (19)实验三系统详细设计 (24)一.实验目的 (24)二.准备知识 (24)三.实验内容 (24)四.实验指导 (25)实验四系统编码实现 (28)一.实验目的 (28)二.准备知识 (28)三.实验内容 (28)四.实验指导 (29)实验五系统测试 (30)一.实验目的 (30)二.准备知识 (30)三.实验内容 (30)四.实验指导 (30)一.课程实验目的和任务软件工程课程实验目的是通过具体的应用软件系统的开发实现,使学生能够结合课程有关软件生命期的介绍,规范软件设计与实现过程的文档要求,掌握软件设计的规范,理解软件工程课程的基本理论与方法。
《软件工程》实验指导书孙颖编沈阳大学信息工程学院目录实验一:绘制数据流程图 4 实验二:绘制实体-联系图 6 实验三:编写一个数据卡片7 实验四:绘制系统软件结构图8 实验五:绘制程序的判定树9课程编号:1241291 课程类别:专业选修课适用层次:本科适用专业:计算机科学与技术课程总学时:48 适用学期:第6学期实验学时: 10 开设实验项目数:5撰写人:孙颖审核人:任百利教学院长:范立南实验一:绘制数据流程图一、实验目的与要求通过分析一个系统的数据流,利用标准的数据流程图符号,绘制系统数据流程图,使学生掌握如何做需求分析,如何与客户进行沟通。
二、实验类型设计性实验。
三、实验原理及说明数据流图有四种基本符号:正方形(或立方体)表示数据的源点或终点;圆角矩形(或圆形)代表变换数据的处理;开口矩形(或两条平行横线)代表数据存储;箭头表示数据流,即特定数据的流动方向。
处理并不一定是一个程序。
一个处理框可以代表一系列程序、单个程序或者程序的一个模块;它甚至可以代表用穿孔机穿孔或目视检查数据正确性等人工处理过程。
一个数据存储也并不等同于一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等。
数据存储和数据流都是数据,仅仅所处的状态不同。
数据存储是处于静止状态的数据,数据流是处于运动中的数据。
通常在数据流图中忽略出错处理,也不包括诸如打开或关闭文件之类的内务处理。
数据流图的基本要点是描绘“做什么”而不考虑“怎样做”。
四、实验仪器五、实验内容和步骤1.实验内容:1-1 为方便储户,某银行拟开发计算机储蓄系统。
储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。
1-2 为方便旅客,某航空公司拟开发一个机票预订系统。
旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入进该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞的前一天凭取票通知和账单交款取票,系统校对无误即印出机票给旅客。
《软件工程》课程实验指导书实验一 Visio的基本使用一、实验目的:通过本实验掌握Visio工具的基本使用。
二、实验内容:学会用visio画ER图,数据流图,基本流程图,界面图,用例图等。
三、实验要求:要求做到使用ER图,数据流图,程序结构图,模块图画出某日常生活实际系统。
四、实验学时:2学时五、实验步骤:1、选取日常生活中的例子,并根据实际情况画出数据流图。
2、选取日常生活中的例子,并根据实际情况画出ER图。
3、参照某一系统,画出界面图。
实验二需求分析六、实验目的:通过本实验进一步掌握结构化数据流分析技术。
七、实验内容:用结构化数据流分析技术进行软件系统需求分析,得出系统得数据流图和数据字典。
八、实验要求:要求做到使用结构化数据流分析技术分析课题需求,写出详细的数据流图和数据字典,数据流图的基本处理的个数不得少于5个。
九、实验学时:6学时十、实验步骤:1、到相关单位进行需求分析。
2、综合利用Internet网和相关书籍整理并完善需求分析。
3、画出系统数据流图(分清系统是事务型还是加工型)。
4、得出系统数据字典。
5、写出需求分析说明书实验三软件总体设计一、实验目的:通过本实验使学生掌握结构化程序设计的基本概念与技术,并且养成良好的编码风格。
二、实验内容:用面向数据流的软件设计技术,对上一实验的数据流图和数据字典,进行总体设计;三、实验要求:要求做到对上一实验的软件需求进行软件结构设计,模块数不少于四个。
然后再进行详细设计并编码。
程序要符合结构化程序的要求。
四、实验学时:4学时五、实验步骤:1、首先进行总体设计(分清系统是事务型还是加工型)。
2、写出总体设计说明书。
实验四软件详细设计与测试一、实验目的:通过本实验使学生掌握软件测试的一般步骤。
二、实验内容:用所学的方法,对上一实验的程序,进行测试,并要测试通过,然后撰写软件测试说明书。
三、实验要求:要求掌握如何设计测试方案、撰写测试说明书,并掌握程序修改的常用技术。
软件工程实验指导书软件工程实验是《软件工程》课程讲授中一个重要的、不可或缺的实践环节。
其目的是使学生能够在实际软件工程项目中熟练的运用软件工程的理论、技术和方法,全面掌握软件工程管理、软件需求分析、软件概要设计、软件详细设计、软件测试等阶段的方法和技术,以及培养学生的合作意识和团队精神,培养学生对技术文档的编写能力,从而使学生提高软件工程的综合能力,提高软件项目的管理能力。
根据课程的特点,实验内容包括结构化的方法学和面向对象的方法学两个方面。
引入一个简单的实际项目(自选或教师指定),要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。
此外又引入我国国家《计算机开发规范文档》,以规范技术文档的书写标准,提高实验教学质量。
特别是在实验中针对面向对象的软件开发技术,增加面向对象的工业建模标准-------统一建模语言及其工具rational rose的专项练习。
通过实验训练,达到如下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,快速掌握结构化的软件分析技术、设计技术和软件测试,并熟练的撰写软件文档;进一步的掌握面向对象的分析技术、设计技术和测试技术,以及统一建模语言及其工具rose在实际工程项目中的应用,从而培养学生综合运用所学课程知识,分析解决问题的能力以及学生的合作意识和团队精神,为今后走向工作岗位打下扎实的基础。
一、实验要求软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。
具体要求如下:1.班级按项目小组进行分组,每组不得超过5人2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目3.项目开的每项任务要落实到人且规定该任务的起止日期和时间4.每个项目小组必须按照《软件工程实验指导书》附录中给定的文档规范标准提供项目文档5.根据实验内容,分别实现结构化的开发和面向对象的软件开发6.题目自定或采用附录二中的题目二、实验内容1.结构化软件开发技术以实际工程项目为驱动,采用结构化的分析、设计与实现方法完成该项目的分析设计与实现。
软件工程实验指导一、实验目的本实验旨在通过实际操作,让学生对软件工程的相关知识有更深入的理解。
通过完成实验,学生将了解并掌握软件工程的基本概念、原理与方法,培养其分析和解决问题的能力。
二、实验内容本实验将分为以下几个环节:1. 实验准备:安装所需软件、配置实验环境和获取实验数据。
2. 需求分析:学生需仔细阅读实验说明并理解需求,根据需求编写详细的需求说明书。
3. 设计阶段:学生需进行系统的设计,包括软件结构设计和模块设计。
4. 编码阶段:根据设计文档进行编码,实现系统功能。
5. 测试阶段:学生需进行系统测试,保证系统的正确性和稳定性。
6. 实验报告:学生需撰写实验报告,记录实验过程和实验结果。
三、实验要求1. 学生需按照实验流程进行操作,确保每个环节的顺利进行。
2. 学生需按照软件工程的要求,编写规范的代码,保证系统的可读性和可维护性。
3. 学生需严格按照实验要求完成实验报告,包括实验目的、实验内容、实验过程和实验结果等。
四、实验步骤1. 实验准备:安装所需软件、配置实验环境和获取实验数据。
2. 需求分析:学生需仔细阅读实验说明并理解需求,根据需求编写详细的需求说明书。
3. 设计阶段:学生需进行系统的设计,包括软件结构设计和模块设计。
4. 编码阶段:根据设计文档进行编码,实现系统功能。
5. 测试阶段:学生需进行系统测试,保证系统的正确性和稳定性。
6. 实验报告:学生需撰写实验报告,记录实验过程和实验结果等。
五、实验注意事项1. 学生需遵守实验室规定,保持实验环境的整洁和安全。
2. 学生需按时完成实验,并按时提交实验报告。
3. 学生需主动解决可能出现的问题,或及时向指导教师寻求帮助。
六、实验评分标准实验将根据以下几个方面进行评分:实验准备和环境配置的完成情况。
需求分析和设计文档的合理性与完整性。
代码的可读性、可维护性和规范性。
实验报告的逻辑性和完整性。
七、实验参考资料1. 软件工程导论,邹欣著,清华大学出版社,2002年。
《软件工程》课程实验指导书实验一 软件工程环境部署一、实验目的:熟悉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软件工程概念与相关工具软件工程的计算环境(实验估计时间: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)是一系列按照特定顺序组织的计算机数据和指令的集合。
一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。
软件工程课程实验指导书例:图书馆管理系统图书馆管理系统的开发与建设是学校信息化建设的一个重要组成部分。
图书馆管理系统要实现整个图书馆信息的集中管理、分散操作、信息共享,使传统的图书馆管理向数字化、无纸化、智能化、综合化的方向发展,服务于图书馆工作人员及广大读者。
系统应具有采访、编目、流通、期刊、公共查询、典藏、借阅等方面的功能。
作为一个案例,不可能将实际系统中每个对象的全部属性与服务都一一列出,为了简洁,我们将系统作了简化,仅就图书馆管理中采访、编目、流通三个方面的系统分析与设计过程写出,供读者参考。
编目是图书馆工作中重要的一个环节,涉及的处理和术语非常专业,对机读数据的处理与存储比较复杂,在本例中,只将其列出,不作进一步拓展,有兴趣的读者可查阅相关资料。
(Coad)1 面向对象的分析 (OOA)[OOD]1.1系统需求根据图书馆管理中采访、编目、流通三个方面的实际工作需要,系统需满足以下八点要求:1、收集、组织各种新书信息,向读者发布预订书目信息;2、通过对读者需求信息的回收处理,对馆藏和正在订购的图书进行查重形成订单;3、能处理邮购、选购、赠送、交换等不同方式获得的文献;4、核对验收到馆文献,对未到图书进行查询和打印,作退还处理;对已验收的到馆文献,自动产生登录号和条形码;5、图书经费管理;6、查询统计查询某个供应商在某段时间内的供书情况;查询某段时间内订购图书的情况;查询某段时间到馆图书的情况;进行到书率统计,赠送统计,采购资金统计;7、图书编目处理;8、图书借阅处理提供读者借书、还书、预约操作。
借不到的书可进行预约,并按读者级别排队;还书时,须检查借阅期限,超期应给予罚款;不还的书可以续借。
1.2建立对象模型1. 确定类-&-对象通过考察该系统需求、系统的问题域、系统边界和系统责任,我们找出了系统的候选类—&—对象,通过对候选对象逐个进行审查,删除无用对象、精简合并一些对象、将那些与具体的实现密切相关的对象推迟到OOD阶段考虑等工作,最后确定出系统的下列对象:采购员采购员是系统中重要的人员,系统需要保留其工作记录,并要模拟其订购图书的行为。
订单采购员经过分析读者需求和对书目进行查重处理,产生订购图书清单,向供应商订书。
要求保存每张订单,汇成账册;新书到馆时,与订单进行核对,进行图书验收。
账册记录每张订单发生的款项,包括预付款、实付款、退还款等,便于统计图书经费。
读者记录其借阅情况,借阅权限,预约级别。
书书是图书管理系统中最主要的对象,每一个对象实例表示一种书籍,记录书籍的基本信息。
如书名、数量、出版社、作者、价格、尺寸等。
验收单记录新书到馆信息。
图书馆书籍的来源包括购买、交换、赠送三种途径,根据管理的实际需要,特设立一个验收单对象。
一般而言,验收员也应列为候选对象,我们将其信息可作为验收事件中的一个属性来处理,不再设一个验收员对象。
供应商记录供应商基本情况,便于查询统计;赠送单位记录赠送单位/个人基本信息,便于查询统计;交换单位记录交换单位基本信息,便于查询统计;该系统的对象层如图1所示。
采购员订单账册读者书验收单供应商赠送单位交换单位图1 图书馆管理系统(对象层)2.确定属性和服务“采购员”对象的属性包括:采购员的基本信息,如职工号、姓名、登录时间。
采购员在系统中的行为是进行书籍的采购。
对书籍进行查重、检索等操作是分别是对“书”和“读者”对象属性的操作,应封装到这些对象中,在“采购员”对象中只设立“订购”的服务,通过消息引用其它对象的相应服务来完成。
“订单”对象的属性包括订单号,订购书目列表,订购书籍的详细信息;填写订单的采购员,提供书籍的供应商,应支付的书款,预交的部分订金,填写日期,到馆期限,对超过期限的图书,要进行退订或催询处理。
“订单”对象的服务包括“订购计价”,即逐条记录订购的书目清单,并累计应付款数;“入账”,即将订单的信息计入账册;“核对”,即将有订单号的到馆新书与订购书目核对。
对长期不到馆(超过到馆期限)的书,作退订或催询处理;“退订”,即拒绝订购未到新书。
若该书已预付书款,则修改账册中的退订款数额;“催询”,即向供应商催发已订购,而未到馆的图书。
“账册”对象的属性记录采购员产生的每张订单,并累计其采购经费。
通过订单号,即可得到每张订单的明细信息;通过供应商(名称/编码)即可查询每个供应商的订购情况。
所以,“账册”与“订单”对象组织成整体—部分结构。
“账册”对象的服务“记账”,即是记录每一张订单信息。
“书”对象的属性包括书的“编号”,记录其在馆藏书目中的财产号;“书目信息列表”,记录图书编目后的所有信息;“书籍来源”,记录书籍到馆的方式。
“书”的服务有“增加”,新书到馆验收后,增加书目;“编目”,对到馆图书做编目处理,形成编目卡片、书本式目录、统计报表等编目产品;“查重”就是对所有馆藏书进行检索,统计书籍的复本数和借阅率;“剔旧”就是对破损严重,不能再流通的书籍做删除处理,其记录要保存;“交换”就是将本馆藏书与其他单位交换,修改馆藏书籍信息;“赠送”就是将本馆藏书赠予其他单位,修改馆藏书籍信息。
“验收单”对象的属性包括验收员、订单号,从供应商处到馆的新书,须根据订单核对;“验收书目信息列表”记录到馆书籍的所有信息,如书名、编者、出版社、单价等;到馆数量记录实到馆书籍的数量,未到馆数量记录已订购但尚未到馆书籍的数量;书籍来源用于指明图书的到馆方式。
其服务“验收”包括逐条登记到馆书籍、统计到馆数量、计算未到馆数量、登记书籍来源等方面的信息,并修改库存。
“读者”对象的属性包括读者编号和读者信息列表;由于读者身份不同,拥有不同的借阅权限,借阅数量上限,借阅期限;读者借阅的书目记录在“借阅书目”中,预约的书目记录在“预约书目”中。
“读者”对象的服务包括“借书”(在借阅书目中增加记录,若所借书籍为预约书,则将预约书目中的记录删除)、“还书”(将借阅书目中的记录删除,同时检查借阅期限,若超期,则做罚款处理)、“预约”(将借不到的书登记在预约书目中,并按借阅权限排队)。
对“供应商”对象、“交换单位”对象、“赠送单位”对象,我们通过增设一个“供货单位”对象,组成一种整体—部分结构。
见图2所示。
“供货单位”对象的属性有“单位名称”、“联系人”、“电话”、“账号”等基本信息,以及“供货单位类别”,可以是供应商、交换单位、赠送单位等多种类别。
其服务包括“供货”、“信息增删”,实现对供货单位信息的增加、删除及修改。
图2 供货单位结构图通过对系统需求中的形容词和动词进行分析,确定了每个对象的属性和服务,把每个对象的属性和服务填到相应的类符号中,构成了类图的特征层。
见图3所示。
3.分析对象之间的关联关系(1)一般—特殊结构实际操作中,采购员产生图书预订单后,由馆长审核,通过对采购资金、借阅率、读者需求等情况进行综合考虑分析后,产生订单,则在“人员”对象中,采购员与馆长将构成一般—特殊结构,读者可自行分析,以作练习。
(2)整体—部分结构“订单”是“账册”的部分对象,由“账册”类的“订单目录”属性表明一个账册中包括哪些订单;供应商、交换单位、赠送单位/个人构成了图书的供货单位。
(3)实例连接“书”与“读者”之间存在多对多的实例连接关系。
即采购前,采购员要先收集读者对新书的需求量,要求读者对所需要的书进行预选,然后汇总预选结果。
“书”与“读者”对象之间存在复杂的实例连接关系,通过增设一个“预选清单”对象,来表明“书”与“读者”对象之间的关联。
“预选清单”对象的属性包括“馆藏书号”、“新书书号”、“需求量”、“读者列表”,服务包括“增加”,读者可以对多种书做预选,读者编号添加到“读者列表”,同时增加“需求量”,“预选清单”的一个对象实例是被一到多个读者预选的一种书;“检索”服务提供“采购员”订购书籍时参考;“定期删除”功能提供当有新的一批书籍征订时,将原有的预选书目删除。
经分析后发现,现有“书”的所有对象实例,都是馆藏书籍,而读者需求并不全都是馆藏书,应包括采购员提供给读者预选的新书目录。
因此,在“书”与“采购员”之间,有一个“新书目录”,它继承“书”的部分属性与服务,是“书”的一个特殊类。
“新书目录”对象的属性包括新书信息列表。
服务包括更新和检索。
同时,应在“采购员”对象中,增加一个“发布新书”服务,来更新“新书目录”。
“采购员”、“书”与“供货单位”之间的实例连接通过订单反映。
一个采购员可产生多张订单,一张订单送一家供货单位。
按系统责任,查询某个供应商在某段时间内的供书情况,则“供货单位”与“书”之间也存在关联,增设一个对象“供应书目一览表”来表示这种关联。
“供应书目一览表”对象的属性包括日期、书目列表、供货类型,服务包括种类增删、检索。
如图4所示。
(4)消息连接通过分析书的状态变化,绘出书的状态图,为分析系统内的消息连接提供思路,如图5所示。
图5 书的状态图4.建立功能模型通过以上分析,我们可以给出系统的功能模型和和部分类的动态模型。
见图6、图7、图8。
图7 采购员类的动态模型按采购员、供货单位和读者这三类活动者的对象开始执行路线追踪,以发现系统中各种消息连接。
(1)“采购员”对象执行“发布新书”服务,向“新书目录”对象发消息,请求其“更新”服务,以列出最近的新书信息,删除原有旧信息,供读者预选。
(2)“采购员”对象在执行“订购”服务,先发消息给“预选清单”中的检索,再发消息给“书”中的查重,以获取图书的复本数,作为订购图书时的参考依据,执行时,还要发消息给“验收事件”对象,请求“检索”服务,然后发消息给“订单”对象,请求执行“订单”的订购计价、入账服务;在执行“入账”服务时,“订单”对象向“账册”对象发消息,请求“记账”服务。
(3)“供货单位”对象在执行“供货”服务时,向“验收事件”对象发消息,请求其“验收”服务,若书籍来源于交换、赠送,直接添加验收书目信息与到馆数量等属性;若书籍来源于订购书籍,则需再发消息给“订单”对象,请求执行其“核对”服务,此时,“订单”对象若发现有超过到馆期限的订单,则执行“退订”或“催询”服务。
(4)验收完毕,执行“验收单”的“登记”服务,发消息给“书”对象,请求执行其增加服务、编目服务。
(5)“读者”对象执行“预选”服务时,发消息给“新书目录”对象,请求其“检索”服务,以获知新书情况,接着向“预选清单”发消息请求“增加”服务。
综上所述得到该系统OOA模型的整个类图,如图9所示:分析得出系统类图,分析工作并没有结束,在实际分析设计过程中,此类图还需在设计过程中进一步推敲、完善,这也OO方法的特点。
分析人员还需根据问题域和系统责任,进一步审查和筛选找到的类,以及类之间的静态关系与动态关系,即经过不断迭代,以最终得到反映系统问题域的类图。