8软件设计模式实验指导书1
软件工程实验手册v1.1
目录一、实验要求.............................................................................................................................. - 3 -1. 课程设计目标................................................................................................................. - 3 -2. 选题................................................................................................................................. - 3 -3. 分组要求......................................................................................................................... - 5 -4. 时间表............................................................................................................................. - 5 -5. 标准文档模板................................................................................................................. - 8 -6. 验收要求......................................................................................................................... - 8 -二、实验环境............................................................................................................................ - 10 -1、实验环境介绍.............................................................................................................. - 10 -2、Oracle8i/Oracle9i的安装(Server).......................................................................... - 10 -3、CCC/Harvest安装....................................................................................................... - 13 -3.1 服务器端的安装................................................................................................. - 13 -3.2 客户端的安装..................................................................................................... - 17 -三、CCC/Harvest操作指南 ..................................................................................................... - 19 -1、CCC/Harvest简介 ....................................................................................................... - 19 -1.1、CCC Harvest Administrator .............................................................................. - 19 -1.2、CCC Harvest Workbench .................................................................................. - 20 -1.3、CCC/Harvest名称表 ........................................................................................ - 20 -2、配置管理系统的建立.................................................................................................. - 21 -2.1项目的建立.......................................................................................................... - 22 -2.2阶段划分(State) ................................................................................................... - 25 -2.3设置视图(View) ................................................................................................... - 26 -2.4设置操作(Process) ............................................................................................... - 28 -2.5建立存储库(Repository) ...................................................................................... - 29 -2.6工程模型与数据仓库的连接配置基线(Baseline) .............................................. - 31 -3、权限设置...................................................................................................................... - 32 -3.1、Harvest级的权限设置 ..................................................................................... - 35 -3.2、Project级的权限设置 ...................................................................................... - 36 -3.3、State级的权限设置.......................................................................................... - 38 -3.4、Process级的权限设置...................................................................................... - 39 -3.5、Repository级的权限设置 ................................................................................ - 40 -3.6、Item Path/Item的权限设置.............................................................................. - 41 -3.7、Form级的权限设置 ......................................................................................... - 42 -4、各种操作...................................................................................................................... - 43 -4.1存取操作.............................................................................................................. - 43 -4.1.1检出(Check out) ........................................................................................ - 43 -4.1.2检入(Check in) .......................................................................................... - 47 -4.2变更控制操作...................................................................................................... - 49 -4.2.1创建包(Create Package) ........................................................................... - 49 -- 1 -4.2.2晋升(Promote)........................................................................................... - 50 -4.2.3降级(Demote) ........................................................................................... - 52 -4.2.4审批(Approve) .......................................................................................... - 53 -4.2.5做基线(快照)(Take Snapshot View) ................................................ - 55 -4.3 Item/version操作................................................................................................. - 55 -4.3.1删除Item(Remove Item) .......................................................................... - 55 -4.3.2删除版本(Delete version) ......................................................................... - 56 -4.3.3重命名文件(Rename Item) ....................................................................... - 57 -4.3.4比较视图(Compare Views) ....................................................................... - 58 -4.3.5列出版本(List version process) ................................................................ - 59 -四、基本项目过程示例............................................................................................................ - 60 -1、建立项目的配置管理结构.......................................................................................... - 60 -2、使用该项目举例.......................................................................................................... - 62 -五、WinCVS的操作指南 ........................................................................................................ - 64 -1、概要.............................................................................................................................. - 64 -2、配置.............................................................................................................................. - 64 -2.1、安装................................................................................................................... - 64 -2.2、设置................................................................................................................... - 65 -3、客户端使用.................................................................................................................. - 67 -3.1、登录................................................................................................................... - 67 -3.2、新建,删除....................................................................................................... - 67 -3.3、追加................................................................................................................... - 68 -3.4、Checkout,Checkin ............................................................................................. - 68 -3.4.1 快捷菜单中的UpDate Selection,Commit Selection ............................... - 68 -3.4.2 Undo CheckOut ......................................................................................... - 69 -3.4.3 取得旧版本的文件.................................................................................. - 69 -3.5、Merge(合并文件) .............................................................................................. - 69 -3.5.1 文本文件.................................................................................................. - 69 -3.5.2 其他文件.................................................................................................. - 69 -3.6、文件锁定........................................................................................................... - 70 -3.7、History ............................................................................................................... - 70 -3.8、版本管理........................................................................................................... - 70 -3.9、文件状态察看................................................................................................... - 71 -3.10、版本树............................................................................................................. - 71 -4、注意.............................................................................................................................. - 71 - 附录:术语解释........................................................................................................................ - 72 -- 2 -一、实验要求1. 课程设计目标我国软件工程处于相对落后,工程和团队的意识不强,软件开发以类似作坊式在开展,无法适应工业化、工程化需求。
软件设计模式实验指导书
软件设计模式实验指导书《设计模式》实验指导书10学时教师:张凯实验一单例模式的应用1 实验目的1) 掌握单例模式(Singleton)的特点 2) 分析具体问题,使用单例模式进行设计。
2 实验内容和要求很多应用项目都有配置文件,这些配置文件里面定义一些应用需要的参数数据。
AppConfig-ParameterA : string+GetParameterA()+SetParameterA()通常客户端使用这个类是通过new一个AppConfig的实例来得到一个操作配置文件内容的对象。
如果在系统运行中,有很多地方都需要使用配置文件的内容,系统中会同时存在多份配置文件的内容,这会严重浪费内存资源。
事实上,对于AppConfig类,在运行期间,只需要一个对象实例就够了。
那么应该怎么实现呢?用C#控制台应用程序实现该单例模式。
绘制该模式的UML图。
实验二工厂模式的应用1 实验目的1) 掌握工厂模式(Factory)的特点 2) 分析具体问题,使用工厂模式进行设计。
2 实验内容和要求有一个OEM制造商代理做HP笔记本电脑(Laptop),后来该制造商得到了更多的品牌笔记本电脑的订单Acer,Lenovo,Dell,该OEM商发现,如果一次同时做很多个牌子的本本,有些不利于管理。
利用工厂模式改善设计,用C#控制台应用程序实现该OEM制造商的工厂模式。
绘制该模式的UML图。
实验三抽象工厂模式的应用1 实验目的1) 掌握抽象工厂模式(Abstract Factory)的特点 2) 分析具体问题,使用抽象工厂模式进行设计。
2 实验内容和要求麦当劳(McDonalds)和肯德基(KFC)快餐店都经营汉堡(Hamburg)和可乐(Cola),用C#控制台应用程序实现这两个快餐店经营产品的抽象工厂模式。
绘制该模式的UML图。
实验四建造者模式的应用1 实验目的1) 掌握建造者模式(Builder)的特点2) 分析具体问题,使用建造者模式进行设计。
《软件工程》实验指导书(软件操作类)
《—软件工程—》实验指导书编写适用专业:计算机科学与技术网络工程湖南人文科技学院计算机科学技术系年月前言《软件工程》是计算机科学与技术专业本科生的一门实践性较强的专业必修课程。
软件工程实验是验证,巩固和补充课堂讲授的理论知识,是《软件工程》课程中一个重要的,不可或缺的实践环节。
其目的是使学生能够针对具体软件工程项目,全面掌握软件工程管理,软件需求分析,软件初步设计,软件详细设计等阶段的方法和技术。
通过实验训练,达到以下目的:使学生进一步了解和掌握软件工程原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件工程方法学,软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生进行软件开发的能力,培养学生的合作意识和团队精神,培养学生对技术文档的编写能力, 从而使学生提高软件工程的综合能力,提高软件项目的管理能力.实验总体要求软件工程实验要求学生采用"项目小组"的形式,结合具体的开发项目进行设计。
具体要求如下:1.班级按项目小组进行分组,每组不得超过6人2.每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论,选定开发项目3.项目中的每项任务要落实到人且规定该任务的起止日期和时间4.题目自定或由教师提供相关课题目录实验一:项目可行性分析 (1)实验二:项目需求分析 (2)实验三:项目总体设计 (3)实验四:项目详细设计及编码实现 (4)实验五:软件测试 (6)实验一:项目可行性分析实验学时:2实验类型:设计实验要求:必修一、实验目的通过对待实施项目进行全面分析,撰写项目的可行性分析报告,掌握可行性研究的有关概念和具体分析过程,并明确从哪些方面进行可行性分析;掌握软件项目成本效益分析的常用手段;使学生掌握可行性研究报告的书写格式、注意事项和研究内容。
二、实验内容布置“运动会信息管理系统可行性分析”或其它类似题目,到应用现场进行实际调查,了解用户业务情况、数据、网络和需求情况,对问题进行可行性分析,开展可行性研究,并编写出可行性分析报告。
软件工程实验指导书
软件工程实验指导书实验一软件的问题定义及可行性分析一、实验类型:验证二、实验目的与任务:通过本次实验,掌握需求调查与可行性研究的方法、过程和步骤,加深对可行性分析有关理论的理解,为学习后面的需求分析与软件设计打下一个良好的基础。
三、预习要求:要求学生实验前要认真消化书本和课堂教学内容,精心准备本次实验。
四、实验基本原理:可行性研究任务和过程,学生掌握可行性研究的有关概念和具体分析过程,并明确从哪些方面进行可行性分析,成本效益分析的技术,掌握软件项目成本效益分析的常用手段。
五、实验仪器及设备(或工具软件):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.写出需求分析说明书和软件设计说明书。
08级软件工程专业《软件测试技术》实验文档1
《软件测试技术》实验指导书适用专业:软件工程(本科)实验学时:30一、适用范围大纲适用于软件工程专业本科教学使用。
二、课程名称《软件测试技术》三、实验教学目的和要求1、实验目的本实验课程配合《软件测试技术》理论课同步开设,其中包括验证型、设计型和综合型实验。
本实验课程着眼于理论与应用的结合,注重培养学生软件测试的实际动手能力,增强软件工程项目的质量管理意识。
通过实验教学,使学生掌握软件测试的方法和技术,并能运用软件测试工具进行自动化测试。
2、实验要求实验前要充分做好准备工作:1.复习和掌握与本实验有关的知识内容;2.预习、思考实验内容;3.对实验内容进行分析和设计。
实验过程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。
在指定的实验时间内,必须到实验室内做实验。
对于上机过程中出现的问题,尽量先独立思考和解决;对于难以解决的问题可以和同学交流或询问老师;对于同一个实验题目,可以考虑多种方法来实现,然后比较并选择出一种较为有效的方法来实现。
对于设计型和验证型实验,实验时一人一组,独立上机。
对于综合型实验,每四人组成一个小组,由组长来组织管理小组成员,共同完成实验内容。
四、实验项目与学时分配序号实验项目学时数实验类型1实例程序设计4设计2功能性测试(黑盒测试)6设计、验证4单元测试5QTP 的使用6LoadRunner 的使用7WinRunner 的使用8Web 系统测试2设计、验证4验证4验证2验证4综合合计30实验 1 测试的实例程序的设计( 4 学时)一、实验目的完成测试程序的编写,后续的实验将以这些程序作为测试对象用不同的测试方法来进行测试。
二、实验内容1、设计三角形问题的程序2、设计 Nextdate 函数的程序3、设计佣金问题的程序4、简单 ATM 系统5、货币转换器三、实验步骤1、第 2 周完成各程序的总体设计和前两个程序的实现并进行调试。
2、第3、4 周实现后 3 个程序的功能。
软件工程实验一指导书
软件工程实验实验一结构化分析与设计实验实验目的1、掌握结构化分析方法2、掌握业务流程分析方法和业务流程图的绘制实验内容:任务一绘制系统业务流程图系统流程图是描绘物理系统的传统工具。
是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等等)。
表达的是信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。
试绘制工资管理系统的系统流程图,根据系统流程图的符号说明仔细理解下图含义:图1-1工资管理系统系统流程图图1-2基本符号图1-3 系统符号操作步骤:1 .运行Microsoft Office Visio 2010图1-4 运行Microsoft Office Visio 2010 2.选择流程图中的基本流程图模板图1-5 选中基本流程图模板3.用鼠标选拉图标进行绘图任务二分析系统业务流程和绘制系统业务流程图案例一:总务办公管理系统系统简介:某单位准备开发一个购买办公用品和设备的总务办公管理系统。
办公用品的购买申请由各科室提出,由负责总务工作的办公室统一收集。
其中,购买申请的金额低丁500元(含500元)可以由总务办公室直接审批,而高丁500元的购买申请由机构主管领导审批,批准的购买申请形成采购活单由采购员负责购买,同时应记录每次实际购买活单,进行入账。
在提出购买申请时要包括下述数据:申请单位、物品名称、物品数量、预计价格、物品用途等。
每次购买完成后应记录以下数据:物品名称、物品数量、价格、总金额、购买日期、经办人等。
请对该系统进行业务流程分析后,绘制出该系统的系统流程图。
案例二:火车票预订系统系统简介:某高校后勤集团为了学生寒暑假返乡,办理代学生预订返乡火车票事务,订票必须提前三天办理,后勤订票处提前三天向火车站办理购票事务。
订票处使用一台微机处理订票后购票事务,学生订票一次称为一个事务,由订票员将其输入在微机中,系统核实订单后,将订票信息记录放在订票库中。
软件工程实验指导书
《软件工程》实验指导书(一)一、实验题目:学生成绩管理系统、图书借阅管理系统、工资管理系统、网络订餐系统二、实验目标通过独立完成项目分析,加深对软件开发的流程和方法的理解,建立软件工程的思想,同时,明确软件开发的成本和时间管理的相关概念。
三、实验内容与要求1. 在实验题目列出的几个系统中选择一个作为自己要开发的软件系统,要求该系统有明确的功能需求。
2. 对系统进行需求分析4. 编写需求规格说明书,在该部分要求有数据流程图(可用office中的visio绘制)、主要数据项的数据字典描述及主要加工的逻辑说明(自己选择结构语言、判定树、判定表等)。
题目描述:1.学生成绩管理设计要求:本系统中主要有学生管理中的基本信息、入学成绩、家庭成员、职务信息的录入、查询;对学生成绩的动态管理,并具有初始化、输入、显示、删除、查找、插入、追加、保存、读入、计算、拷贝、排序、索引、分类统计、退出;用户管理中的修改密码、添加用户、删除用户等操作;对数据的备份及恢复。
2.图书借阅管理系统设计要求:该系统要求能够具有图书管理和会员管理的功能,并且能够具有增加图书、查询图书、删除图书、图书借阅——借书、还书的功能,还具有增加会员、查询会员、删除会员、借书信息等功能。
3.工资管理系统设计要求:该系统要求实现一个单位最基本的财务管理——工资管理。
该系统应该具有:初始化、输入、显示、单条显示、删除、查找、插入、追加、保存、读入、计算工资、拷贝、排序、索引、分类统计等功能。
4.网络订餐系统设计要求:用户可在网上订餐位,并可预先定菜、下单,用餐完毕后可进行评价及留言;管理员对各餐位有管理功能,并可接受预定的菜单,查询食物是否可用的状态,发布餐厅的餐位状态及食物状态。
8级软件工程专业《软件测试技术》实验文档_马丽6
《软件测试技术》实验指导书适用专业:软件工程<本科)实验学时:30一、适用范围大纲适用于软件工程专业本科教案使用。
二、课程名称《软件测试技术》三、实验教案目的和要求1、实验目的本实验课程配合《软件测试技术》理论课同步开设,其中包括验证型、设计型和综合型实验。
本实验课程着眼于理论与应用的结合,注重培养学生软件测试的实际动手能力,增强软件工程工程的质量管理意识。
通过实验教案,使学生掌握软件测试的方法和技术,并能运用软件测试工具进行自动化测试。
2、实验要求实验前要充分做好准备工作:1.复习和掌握与本实验有关的知识内容;2.预习、思考实验内容;3.对实验内容进行分析和设计。
实验过程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。
在指定的实验时间内,必须到实验室内做实验。
对于上机过程中出现的问题,尽量先独立思考和解决;对于难以解决的问题可以和同学交流或询问老师;对于同一个实验题目,可以考虑多种方法来实现,然后比较并选择出一种较为有效的方法来实现。
对于设计型和验证型实验,实验时一人一组,独立上机。
对于综合型实验,每四人组成一个小组,由组长来组织管理小组成员,共同完成实验内容。
四、实验工程与学时分配实验1测试的实例程序的设计<4学时)一、实验目的完成测试程序的编写,后续的实验将以这些程序作为测试对象用不同的测试方法来进行测试。
二、实验内容1、设计三角形问题的程序2、设计Nextdate函数的程序3、设计佣金问题的程序4、简单ATM系统5、货币转换器三、实验步骤1、第2周完成各程序的总体设计和前两个程序的实现并进行调试。
2、第3、4周实现后3个程序的功能。
四、实验要求1、用C或C++、JA V A语言开发程序,根据题目要求实现程序功能;2、画出程序功能的实现图<流程图或数据流图或对象<类)模型或状态图等);3、撰写实验报告;4、打包各程序相关资料且上交。
实验指导书(软件详细方案)
个人资料整理仅限学习使用实验指导书软件详细设计车进辉一、实验基本平台11.硬件12.软件1二、验及实验报告要求11.实验要求12.实验报告要求1 三、实验2实验一体系结构设计2实验二子系统设计4实验三设计模式5实验四界面设计7实验五实现和部署8 附录一工程题目10一、实验基本平台1.硬件PC系列微型计算机,奔腾以上兼容机,要求内存至少为64M以上,一个硬盘驱动器和一个软盘驱动器。
彩色显示器,并配键盘和鼠标。
每个实验室应配置一台打印机。
2.软件系统平台:Win98/WinNT/Windows 2000/Windows Xp。
并定时更新系统。
软件工程工具:StarUML;Eclipse二、验及实验报告要求1.实验要求软件需求分析实验要求学生采用“工程小组”的形式,结合具体的开发工程进行设计。
具体要求如下:1、班级按工程小组进行分组,每组不得超过7人2、每个工程小组选出工程负责人或工程经理,由工程经理召集工程组成员讨论、选定开发工程3、工程中的每项任务要落实到人且规定该任务的起止日期和时间4、每个工程小组必须按照《实验指导书》附录中给定的文档规范标准提供工程文档5、题目自定或采用附录二中的题目6、软件开发的方法自定<结构化或面向对象的方法学)2.实验报告要求1、实验报告一律用专用实验报告纸书写,报告的主要内容:2、实验题目、实验目的、实验过程、实验中遇到的问题、实验结论和感受等。
三、实验实验一体系结构设计[实验目的]1、理解体系结构概念2、为系统选择合适的体系结构[实验学时]4学时[实验类型]验证型[实验内容]1、三层体系结构的构建,如图1.1图1.1 三层体系结构2、分布式体系结构的构建,如图1.2[实验原理]无[实验步骤]1、为工程建立三层体系结构2、为工程建立分布式体系结构[思考问题]无[实验报告要求]图1.2 分布式体系结构实验二子系统设计[实验目的]1、掌握把分析模型映射为设计模型的方法2、模式框架和库在子系统设计中的应用[实验学时]4学时[实验类型]验证型[实验内容]1、分析模型到设计模型的映射2、在设计中重用框架和库[实验原理]无[实验步骤]1、映射分析模型到设计模型2、为设计模型选择合适的框架和库[思考问题]无[实验报告要求]实验三设计模式[实验目的]1、理解设计模式的概念2、掌握常用的设计模式及应用背景[实验学时]4学时[实验类型]验证型[实验内容]1、观察器模式如图3.1图3.1观察器模式2、单件模式如图3.2图3.2单件模式3、多重模式4、迭代器模式5、工厂模式如图3.33.3抽象工厂模式6、状态模式7、门面模式8、适配器模式如图3.4图3.4 适配器模式9、策略模式10、次轻量级模式11、复合模式12、代理模式[实验原理]无[实验步骤]1、按照216页至242页的内容为每种模式建立类图,并用代码实现[思考问题][实验报告要求]实验四界面设计[实验目的]1、理解人机交互界面的设计2、掌握人机界面的设计方法[实验学时]4学时[实验类型]验证型[实验内容]1、界面设计2、导航设计[实验原理]无[实验步骤]1、为系统建立相应的页面2、建立页面之间的导航关系[思考问题][实验报告要求]实验五实现和部署[实验目的]1、掌握物理视图的表达方法2、掌握部署视图的表达方法[实验学时]2学时[实验类型]验证型[实验内容]1、物理视图2、部署视图[实验原理]无[实验步骤]1、为系统建立物理视图,如图5.15.1 组件视图2、为系统建立部署视图,如图5.25.2部署视图[思考问题][实验报告要求]附录一工程题目题目一:“教务管理系统之子系统——学院课程安排”1.系统简介每个学期的期中,学校教务处向各个学院发出下各学期的教案计划,包括课程名称、课程代码、课时、班级类别<本科、专科、成人教育、研究生)、班号等;学院教案主管人员根据教案任务和要求给出各个课程的相关限制<如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教案计划上交学院主管教案计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教案任务书。
软件设计模式实验指导书
软件设计模式与架构实验指导书廖光忠编写武汉科技大学大学计算机学院实验总体说明1.实验总体目标配合设计模式的教学,培养学生的实际操作能力。
2.实验课时分配3.实验环境操作系统:Win2000,WinXP;开发工具:VC++6.0;C++,Java,C#4.实验总体要求●按照各项实验内容做实验,包括操作、观察、记录、分析,通过操作和观察获得直观印象,有些实验还应该从获得的数据中分析软件的内部功能;●对提供源程序的实验,首先要阅读,理解和掌握程序的设计思想和采用的算法,在理解源程序的基础进行改动和扩充;●部分实验由于实验条件的限制,可能暂时不能进行,但也要按实验指导说明的操作步骤去理解和掌握;●每项实验均应提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包括以下内容:实验题目,实验内容说明,实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题等。
实验一 A d a p t e r设计模式1.实验目的将一个类的接口转换成客户希望的另外一个接口。
A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
有时,为复用而设计的工具箱类不能够被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配。
2.实验环境●VC++●JA V A●C#3.实验内容设计一个A d a p t e r案例并实现,并撰写设计报告。
4.实验要求◆试验要求包含典型的A d a p t e r结构。
◆程序能够明确表达设计思想。
实验二BRIDGE设计模式1.实验目的将抽象部分与它的实现部分分离,使它们都可以独立地变化。
当一个抽象可能有多个实现时,通常用继承来协调它们。
抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现。
但是此方法有时不够灵活。
继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。
2.实验环境●VC++●JA V A●C#3.实验内容设计一个BRIDGE案例并实现,并撰写设计报告。
软件工程实验指导书(20111024)
南昌工程学院《软件工程》实验指导书专业:09信息管理与信息系统余振华编2011 年 9 月目录实验一模块化程序设计(一)实验二模块化程序设计(二) 实验三白盒测试实验四黑盒测试实验五用例图的设计与制作实验六活动图的设计与制作实验七类图的制作实验八状态图的制作实验一模块化程序设计(一)一、实验目的1、掌握程序设计语言、程序设计语言分类、程序设计语言特点、程序设计语言选择及编程风格。
2、熟练掌握模块化程序设计的基本原理,设计结构清晰的程序。
3、明确详细设计的任务、详细设计的原则。
4、掌握详细设计的方法。
包括程序流程图PFC、N-S图、PAD图、HIPO图二、实验设备和仪器电脑、VC++开发环境三、实验内容及要求1、按照模块化程序设计的准则,设计一程序,实现如下功能:给定数组a[]={32,35,3,89,13,434,54,656,2}(1)模块一:实现对数组的排序。
(2)模块二:找出数组中最大的数。
(3)模块三:找出数组中所有的素数。
(4)模块四:计算数组各元素之和。
2、认真学习程序处理过程的各种设计工具。
包括程序流程图PFC、N-S图、PAD图。
四、实验原理及步骤1.实验原理结构化程序设计采用的主要方法就是模块化程序设计,其思想基于分解、独立、信息隐藏等2. 步骤用程序流程图PFC、N-S图、PAD图画出程序的控制流程。
五、实验结果分析及实验报告要求要求给出整个程序的控制流程实验二模块化程序设计(二)一、实验目的1、掌握程序设计语言、程序设计语言分类、程序设计语言特点、程序设计语言选择及编程风格。
2、熟练掌握模块化程序设计的基本原理,设计结构清晰的程序。
3、明确详细设计的任务、详细设计的原则。
4、掌握详细设计的方法。
包括程序流程图PFC、N-S图、PAD图、HIPO图二、实验设备和仪器电脑、VC++开发环境三、实验内容及要求1、按照模块化程序设计的准则,设计一程序,实现如下功能:给定数组a[]={32,35,3,89,13,434,54,656,2}(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. 写出实验报告。
SF08 软件详细设计说明书
文档编号:XXX-SF-01保密级别:版本编号:V1.0 软件开发文档文档名称:详细设计说明书项目名称:XXXXXXXXXX项目负责人:XX XX编写:年___月___日校对:年___月___日审核:年___月___日批准:年___月___日XXXX电子有限公司2011年修订历史记录(A-添加,M-修改,D-删除)目录1导言 (1)1.1目的 (1)1.2范围 (1)1.3术语定义 (1)1.4参考资料 (2)1.5相关文档 (2)1.6版本更新记录 (2)2模块实现设计 (2)2.1公用模块设计 (3)2.2专用模块设计 (3)2.3存储过程设计 (4)2.4触发器设计 (5)3接口实现设计 (5)4其他实现设计 (6)4.1角色授权设计 (6)4.2其他详细设计 (7)5详细设计检查列表 (7)5.1功能设计检查列表 (7)5.2性能设计检查列表 (7)5.3 接口设计检查列表 (7)1导言本章对该文档的目的、功能范围、术语、相关文档、参考资料、版本更新进行说明。
1.1目的本文档的目旨在推动软件工程的规范化,使设计人员遵循统一的详细设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。
详细设计的详细程度,应达到可以编写程序的程度。
1.2范围本文档用于软件设计阶段的详细设计,它的上游(依据的基线)是《概要设计说明书》,它的下游是源程序清单及单元测试计划,并为单元测试报告提供测试依据。
该范围应覆盖《概要设计说明书》中的功能点列表、性能点列表、接口列表。
软件详细设计的范围是:各子系统的公用模块实现设计、专用模块实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计、其他详细设计等。
按照3层结构(B/A/S)的布局,详细设计应从下面3个方面进行。
数据库服务器上的面向数据的设计:数据字典物理设计、基本表物理设计、中间表物理设计(报表设计)、临时表物理设计、视图物理设计、存储过程物理设计、触发器物理设计。
软件需求分析与建模实验指导书(1)
软件需求分析与建模实验指导书(1)实验一软件需求建模-用例图与活动图一、实验目的1.熟悉用例图、活动图的基本功能和使用方法。
2. 掌握使用用例图和活动图对项目需求进行建模3.掌握如何使用建模工具绘制用例图与活动图。
二、实验器材1.计算机一台。
2.Rational Rose 工具软件。
三、实验内容根据小组项目进度安排,结合前期需求调研结果,应针对每个用例进行业务分析,完成对系统的需求建模,得到用例模型、活动图模型,说明其具体的业务流程。
要求:1.对其中主要功能(用例)进行建模分析。
2.使用Rational Rose绘制规范的用例图、活动图。
四、实验步骤(一)参考样例:“删除读者信息”用例的书面用例一般应包含以下信息:(1)管理员在录入界面,输入待删除的读者名;(2)“业务逻辑”组件在数据库中,查找待删除的读者名;(3)如果不存在,则显示出错信息,返回步骤(1),如果存在则继续;(4)“业务逻辑”组件判断“待删除的读者”是否可以删除;(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;(6)在数据库中,删除相关信息;(7)显示删除成功信息;(8)结束。
以“删除读者信息”用例为例绘制用例图和活动图。
1.用例图绘图步骤:(1)在用例视图上双击main,出现如图1.1所示,为绘制用例图做好准备。
图1.1(2)在图中的工具栏选取“Actor”图标,在右边的图中添加一个Actor,并输入名称:administrator,如图1.2所示。
图1.2(3)在左边的工具栏中,选取“Use Case”的图标,在右边的图中画出一个用例,并输入用例的名称:login 。
图1.3(4)按照步骤(3),绘制出如图1.4和图1.5的两个用例。
图1.4图1.5(5)在绘出了用例后,接下来的是绘制参与者与用例实现,如图1.6所示。
图1.6(6)根据步骤(5),同时完成如图1.7和图1.8。
此时,“删除读者信息”用例图就到此完成。
软件工程实验课指导书(1).docx
软件工程实验课指导书青岛大学信息工程学院实验中心2008年4月软件工程实验课简介 (1)一软件工程实验课的目标二软件工程实验课的主要内容和时间安排实验一编写和评审需求规格说明书 (2)实验二建立用例图 (5)实验三建立交互图 (6)实验四建立类图 (8)实验五建立状态转换图 (9)实验六软件设计 (10)实验七软件编程 (11)实验八测试和评审 (12)软件工程实验课简介软件工程实验课的目标通过该实验课的学习,使学生加深对软件工程的理解,掌握软件的开发方法,提高实践能力,进行设计型的思维训练,培养分析问题的可行方法和思维方式。
通过综合性训练,达到以下的目的和要求:1、结合该课程中所学的理论知识,按要求独立设计方案,培养独立分析与解决问题的能力;2、学会查阅相关手册和资料,通过查阅手册和资料,进一步熟悉常用方法的用途和技巧,并掌握这些方法的具体含义和如何使用这些方法解决实际问题;3、掌握软件的面向对象开发方法的基本过程。
4、掌握面向对象开发方法的建模技术。
5、认真编写文档,培养严谨的作风和科学的态度。
二软件工程实验课的主要内容和时间安排软件工程实验课是设计、综合性的实验课,主要内容是根据给定的软件设计课题,按照软件的面向对象方法的分析与设计技术开发软件,最后提交软件工程实验报告,报告的主要内容是需求规格说明书、用例图及描述、类图、交互图、包图、设计类图、状态转换图及编程代码。
软件工程实验课总学时为36课时,共安排了8个实验,分9周次进行。
实验一编写和评审需求规格说明书一、实验目的和要求理解软件需求的和软件需求管理的方法,理解和初步掌握需求规格说明书编写的格式、内容、要点,提高编写文档的能力。
具体要求如下:1、正确需求规格说明书应当正确地反映用户的真实意图。
2、清楚文档的结构、段落层次分明、上下文连贯,文档的语句要简练、表达清楚。
3、无二义性是指每个需求只有唯一的含义。
如果一个人说的话,不同的人可能有不同的理解,那么这句话就有二义性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《设计模式》课程实验指导书
软件工程教研室
计算机与信息工程学院
2011年6月
实验总体说明
1.实验总体目标
配合设计模式的教学,培养学生的实际操作能力。
2.实验课时分配
实验项目学时
实验一A d a p t e r设计模式2
实验二BRIDGE设计模式2
实验三SINGLETON设计模式2
实验四PROXY设计模式2
实验五Factory Method设计模式2
实验六COMMAND设计模式2
实验七INTERPRETER设计模式2
实验八ITERATOR设计模式2
实验九VISITOR设计模式2
请根据自身情况,选作其中部分模式。
3.实验环境
操作系统:Win2000,WinXP;
开发语言:C++,Java,C#
开发环境:VC++6.0,Eclipse,VS Studio2005等
4.实验总体要求
●按照各项实验内容做实验,包括操作、观察、记录、分析,通过操作和观察获得直
观印象,有些实验还应该从获得的数据中分析软件的内部功能;
●
●对提供源程序的实验,首先要阅读,理解和掌握程序的设计思想和采用的算法,在
理解源程序的基础进行改动和扩充;
●
●部分实验由于实验条件的限制,可能暂时不能进行,但也要按实验指导说明的操作
步骤去理解和掌握;
●
●每项实验均应提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应
包括以下内容:实验题目,实验内容说明,实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题等。
实验一A d a p t e r设计模式
1.实验目的
将一个类的接口转换成客户希望的另外一个接口。
A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
有时,为复用而设计的工具箱类不能够被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配。
2.实验环境
●VC++
●JAV A
●C#
3.实验内容
设计一个A d a p t e r案例并实现,并撰写设计报告。
4.实验要求
◆试验要求包含典型的A d a p t e r结构。
◆程序能够明确表达设计思想。
实验二BRIDGE设计模式
1.实验目的
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
当一个抽象可能有多个实现时,通常用继承来协调它们。
抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现。
但是此方法有时不够灵活。
继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。
2.实验环境
●VC++
●JAV A
●C#
3.实验内容
设计一个BRIDGE案例并实现,并撰写设计报告。
4.实验要求
◆试验要求包含典型的BRIDGE结构。
◆程序能够明确表达设计思想。
实验三SINGLETON设计模式
1.实验目的
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
让类自身负责保存它的唯一实例。
这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。
2.实验环境
●VC++
●JAV A
●C#
3.实验内容
设计一个SINGLETON案例并实现,并撰写设计报告。
4.实验要求
◆试验要求包含典型的SINGLETON结构。
◆程序能够明确表达设计思想。
实验四PROXY设计模式
1.实验目的
为其他对象提供一种代理以控制对这个对象的访问。
对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。
我们考虑一个可以在文档中嵌入图形对象的文档编辑器。
有些图形对象(如大型光栅图像)的创建开销很大。
但是打开文档必须很迅速,因此我们在打开文档时应避免一次性创建所有开销很大的对象。
因为并非所有这些对象在文档中都同时可见,所以也没有必要同时创建这些对象。
2.实验环境
●VC++
●JAV A
●C#
3.实验内容
设计一个PROXY案例并实现,并撰写设计报告。
4.实验要求
◆试验要求包含典型的PROXY结构。
◆程序能够明确表达设计思想。
实验五Factory Method设计模式
1.实验目的
定义一个用于创建对象的接口,让子类决定实例化哪一个类。
Factory Method 使一个类的实例化延迟到其子类。
框架使用抽象类定义和维护对象之间的关系。
这些对象的创建通常也由框架负责。
考虑这样一个应用框架,它可以向用户显示多个文档。
在这个框架中,两个主要的抽象是类A p p l i c a t i o n和D o c u m e n t。
这两个类都是抽象的,客户必须通过它们的子类来做与具体应用相关的实现。
2.实验环境
●VC++
●JAV A
●C#
3.实验内容
设计一个Factory Method案例并实现,并撰写设计报告。
4.实验要求
◆试验要求包含典型的Factory Method结构。
◆程序能够明确表达设计思想。
实验六COMMAND设计模式
1.实验目的
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。
有时必须向某对象提交请求,但并不知道关于被请求的操作或请求的接受者的任何信息。
例如,用户界面工具箱包括按钮和菜单这样的对象,它们执行请求响应用户输入。
但工具箱不能显式的在按钮或菜单中实现该请求,因为只有使用工具箱的应用知道该由哪个对象做哪个操作。
而工具箱的设计者无法知道请求的接受者或执行的操作。
2.实验环境
●VC++
●JAV A
●C#
3.实验内容
设计一个COMMAND案例并实现,并撰写设计报告。
4.实验要求
◆试验要求包含典型的COMMAND结构。
◆程序能够明确表达设计思想。
实验七INTERPRETER设计模式
1.实验目的
给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。
这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。
2.实验环境
●VC++
●JAV A
●C#
3.实验内容
设计一个INTERPRETER案例并实现,并撰写设计报告。
4.实验要求
◆试验要求包含典型的INTERPRETER结构。
◆程序能够明确表达设计思想。
实验八ITERATOR设计模式
1.实验目的
提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示
一个聚合对象,如列表(list),应该提供一种方法来让别人可以访问它的元素,而又不需暴露它的内部结构.此外,针对不同的需要,可能要以不同的方式遍历这个列表。
但是即使可以预见到所需的那些遍历操作,你可能也不希望列表的接口中充斥着各种不同遍历的操作。
有时还可能需要在同一个表列上同时进行多个遍历。
2.实验环境
●VC++
●JAV A
●C#
3.实验内容
设计一个ITERATOR案例并实现,并撰写设计报告。
4.实验要求
◆试验要求包含典型的ITERATOR结构。
◆程序能够明确表达设计思想。
10实验九VISITOR 设计模式
1.实验目的
表示一个作用于某对象结构中的各元素的操作。
它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
考虑一个编译器,它将源程序表示为一个抽象语法树。
该编译器需在抽象语法树上实施某些操作以进行“静态语义”分析,例如检查是否所有的变量都已经被定义了。
它也需要生成代码。
因此它可能要定义许多操作以进行类型检查、代码优化、流程分析,检查变量是否在使用前被赋初值,等等。
2.实验环境
●VC++
●JAV A
●C#
3.实验内容
设计一个VISITOR 案例并实现,并撰写设计报告。
4.实验要求
◆
试验要求包含典型的VISITOR 结构。
◆
程序能够明确表达设计思想。