《软件开发实践》实验指导书.docx
《《软件开发实践》实验指导书.docx》由会员分享,可在线阅读,更多相关《《软件开发实践》实验指导书.docx(39页珍藏版)》请在冰豆网上搜索。
![《软件开发实践》实验指导书.docx](https://file1.bdocx.com/fileroot1/2023-2/25/8f44cba5-e867-420b-8494-5020a942b540/8f44cba5-e867-420b-8494-5020a942b5401.gif)
《软件开发实践》实验指导书
《软件开发实践》
实验指导书
周彦晖
计算机与信息科学学院
2006年5月
实验一Connie’sStore系统建模
实验目的
1、掌握面向对象分析的基本思想。
2、掌握RationalRose进行UML建模的基本方法。
3、熟练使用类图、顺序图建模和表示需求。
预习与实验要求
1、实验前应仔细复习课程中关于Connie’sConvenientStore的需求分析过程和结果。
2、熟悉RationalRoseCASE工具,了解使用RationalRose进行建模的方法。
3、实验前应该先理解实验内容,形成解题的基本思路,实验应独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。
实验设备与器材
a)仪器:
PC机
b)软件:
Windows2000以上操作系统,RationalRose2003,.Net,Java开发平台
实验原理
1、UML类图和顺序图的相关知识。
2、通过对教材第一章的学习,已经掌握Connie’sStore的需求分析过程和需求分析的结果。
3、利用RationalRose的类图和顺序图绘制工具作图。
4、UML与Codd表示方法的差异。
实验内容
1、完成对Connie’sStore的需求建模和设计,采用分层、分子图的方式进行建模,最后完成一个总体模型图。
2、根据教学进度,逐步完成Connie’sStore的系统模型,完成对象类图(最终可参考教材图1-64),将教材中出现的场景图转换为顺序图。
3、模型基础上进行细化,补充类属性、方法的定义。
4、完成注释和查错。
实验报告
1.详细描述建模的先后次序,说明PD、HI、DM、SI、NT等组件在RationalRose中的建模实现。
2.描述工具的使用方法,建模中对Codd表示方法和UML区别等问题的处理方法等。
3.给出建模之后的分层表示的模型图(打印或手绘)。
4.可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。
5.可以对已建立模型的完整性和相互关系进行分析,说明下阶段应该完成的工作。
思考题
1.在建模时可以直接创建一个大而完整的模型图,也可以分子图按关系建立多个小模型,哪种方式好,为什么?
2.当模型图如类图被删除时,建立的相应对象类在模型中是否被删除?
实验二Connie’sStore建立数据模型
实验目的
1、掌握面向对象模型转换为数据模型的方法。
2、理解面向对象模型持久化的概念和思想。
3、掌握数据库设备建模和生成DDL的方法。
预习与实验要求
1、实验前应仔细复习数据库原理课程中关于数据库设备、数据库模式、ER图等内容。
2、复习课程中关于面向对象模型持久化方面的知识。
3、实验前应该先理解实验内容,形成解题的基本思路,实验应独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。
实验设备与器材
a)仪器:
PC机
b)软件:
Windows2000以上操作系统,RationalRose2003,.Net,Java开发平台
实验原理
1、在RationalRose中为模型预设目标语言
在RationalRose中建立模型的最终目的是为以后的开发提供支持,不同的开发语言支持各种不同的数据类型,因此,RationalRose在建立模型时相应支持很多常见的各种编程语言。
如Java,VC++,ANSIc++、VisualBasic等。
为了指定模型中的目标编程语言,可以使用“tool”菜单-“Option”进行设置:
选择“Notation”标签,在“DefaultLanguage”中选择模型所需要的目标语言。
注意:
该设置不影响已经建立的类,只会对新建的类起作用。
2、选定持久化(Persistent)存储的类
所谓持久化的类,是指这些类的对象中的状态和数据的变化应该持久保存,不能随着类及对象在内存中析构而消失。
换言之,这些类及对象的数据应该存储在永久存储器——磁盘的数据库中。
在面向对象分析和设计中,显然只有持久化的类及对象才需要存储在数据库中,才需要在概念模型——>关系模型转换中进行转换。
这顶持久化的方法:
双击打开类的定义窗口,选择“Detail”标签,选择“Persistent”单选钮。
3、为类及对象设定候选关键字
类及对象转换为关系模型的表对象,如果没有为类及对象设定候选关键字为某些属性,RationalRose会自动生成一个ID字段,不一定符合开发的要求。
设定候选关键字,在左侧的模型树状视图中,展开某个需要设定的类,选择应该称为关键字的一个属性,右键出现菜单,单击“PartofObjectIdentity”
4、将选定的持久化类转换为关系模型
(1)在模型中建立数据库
在RationalRose左侧的树型目录中选择“ComponentView”,右击选择“DataModeler”,选择“New”——“database”:
输入新建数据库的名字。
双击新建的数据库,出现数据库定义对话框,在其中可以选择该数据库的目标数据库类型。
注意,这里创建的数据库并不是真正的在某个DBMS下的数据库,只是关系模型(数据模型)的容器,之所以指定目标数据库类型,是为了以后能够通过RationalRose自动生成在指定目标数据库下创建数据库的代码,甚至可以在相应DBMS下直接创建真正的数据库。
(2)概念模型转换为关系模型(Schema)
在完成了前面的准备工作后,下面的操作将概念模型转换为相应的数据模型:
右击相应的包(Package),选择“DataModeler”——“TransformfromDataModel…”,在出现的对话框中输入新建关系模型的名字,以及创建的关系(表)的前缀等。
值得注意的是可以选择目标数据库,这里可选前面已经建立的数据库。
完成转换后,RationalRose将会自动生成关系数据模型在左侧树状结构的“LogicalView”——“Schemas”下,如果要查看关系模型的图形,可以创建“DataModelDiagram”,然后把生成的关系拖入该图中。
创建“DataModelDiagram”:
5、调整模型中的主键、外键设置,使之符合设计要求。
6、利用数据库ForwardEngineering产生数据库DDL。
实验报告
1.说明在完成的Connie’sStore的模型基础上进行扩充,建立数据模型的过程。
2.说明对数据模型中的主键、外键依赖的调整情况。
3.给出使用数据模型生成的数据库DDL。
4.可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。
5.可以对已建立模型的完整性和相互关系进行分析,说明下阶段应该完成的工作。
思考题
1.面向对象模型中的对象存储在关系表中要解决的主要问题是什么?
2.如果某个类中多个属性为关键字段,如何设定候选关键字?
3.观察、分析、总结对象模型转换为关系模型后,类及对象的关联在表中如何处理?
实验三Connie’sStore开发——Logon
实验目的
1、掌握RationalRose生成代码框架的方法。
2、理解面向对象模型在程序组件中的角色。
3、掌握使用程序组件和对象模型生成程序框架的方法。
预习与实验要求
1、本实验开始前已经完成实验一、二的内容,并保存了模型。
2、实验前应仔细复习课程中学习的RationalRose组件、生成代码框架、前向工程、逆向工程等内容。
3、复习课程中关于对象模型中业务层、持久化层、表示层等概念。
4、复习对象模型中类、包在Java中的对应概念。
5、实验前应该先理解实验内容,形成解题的基本思路,实验应独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。
实验设备与器材
a)仪器:
PC机
b)软件:
Windows2000以上操作系统,RationalRose2003,Java开发平台(Netbeans)
实验原理
1、在RationalRose创建面向Java语言的程序组件。
(1)设定模型目标语言:
TOOLS->Options->Notation
(2)建立组件
(3)检查组件的目标语言:
右击组件,在菜单中选择“openstandardspecification”,设置其目标语言为Java。
2、将模型中的类添加到RationalRose组件中。
如果组件已经被设置为Java组件,右击该组件选择“OpenStandardSpecification”,点击“Realizes”标签,选择其中的类赋到组件中。
3、使用RoseJava产生代码。
(1)原理
代码生成也叫前向工程,是从Rose模型中多个类生成代码的过程。
代码生成是以组件为中心的。
代码生成有两种方式,一是创建的类赋值到已存在的Java组件;二是选择需要转换的类,由Rose为这些类自动生成组件。
我们此次实验采用第二种方法。
在生成代码时,Rose中的一个类会生成Java中的一个.class文件,而Rose中的包将生成Java中的包(目录、文件夹)。
(2)准备
根据所要开发的Logon的功能,将相关的类放置到同一个类图,便于选择。
(3)生成
在类图中选择要生成代码的类,选择菜单[tools]-[java/J2EE]-[GenerateCode]
4、将生成的代码导入NetBeans
(1)启动NetBeans
(2)创建一个“基于现有源代码的Java项目”
(3)将生成的代码导入项目
(4)使用GUI生成登录窗口
(5)对各个类进行编码
a)为LogonWindow编码,包括Constructor、Buttonclickevent、Initializethestoreobject、Achievelogonmethod
b)为store编码:
完成getCashierForNumber()、getRegisterForNumber()
c)为Cashier编码:
调整constructor、完成verifyPassword、addSession方法
d)为Session和Register编码
e)开发saleWindow
f)为CashierDM编码
5、利用RationalRose数据库前向工程(ForwardEngineering)功能生成DDL,利用DDL在数据库管理系统中创建表。
6、连接数据库:
配置ODBC数据源,使用JDBC-ODBC桥
部分代码:
⏹importjava.sql.*;
⏹Stringurl="jdbc:
odbc:
connie“;connieistheDSNname
⏹Connectionandstatement
⏹Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
⏹try{con=DriverManager.getConnection(url,"sa","");
⏹ResultSetrs=stmt.executeQuery(query);
实验内容
1、根据实验原理,使用前面实验完成的模型转换成程序框架,并完成程序用户界面、业务处理过程的开发工作。
2、采用某种适合的开发语言,开发完成下图中Logon场景视图的功能,正确使用RationalRose的功能,程序代码应该与模型保持一致,并正确实现模型中的设计。
实验报告
1.说明在RationalRose中创建应用程序组件,将对象类添加到应用程序组件的过程。
2.说明使用数据库DDL创建数据库的情况。
3.说明生成程序框架的过程,给出程序框架的关键代码。
4.可在结果中说明开发的logon过程的运行情况,并给出界面截图。
5.可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。
思考题
1.在Logon过程中Cashier对象是如何创建的?
是否有其他途径进行创建,各自的优缺点如何?
实验四Wally’sWarehouse开发——Picklist
实验目的
1、进一步掌握熟悉面向对象多层软件开发的基本思想。
2、熟悉、掌握基于Microsoft.NET环境的软件开发环境。
3、了解掌握使用EnterpriseArchitect建模工具进行开发的技术。
4、掌握在.NET环境下数据访问层(组件)开发的基本原理和方法。
预习与实验要求
1、实验前应仔细复习Wally’sWarehouse的系统需求、设计的内容。
2、实验前应仔细复习.NET中DataAdapter等数据访问组件的使用等内容。
3、复习课程中面向对象模型建模、数据模型建模转换、前向工程(代码生成)等相关概念。
4、实验前应该先理解实验内容,形成解题的基本思路,实验应独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。
实验设备与器材
a)仪器:
PC机
b)软件:
Windows2000以上操作系统,EnterpriseArchitect,.Net,Java开发平台
实验原理
1、认识EnterpriseArchitect(EA)。
(1)安装:
使用安装程序进行安装。
(2)运行、创建、打开project:
EA运行后,可以使用菜单或“startpage”中的链接新建或打开已存在的工程,其操作与通用Windows应用程序相同。
(3)新建工程及选择模型:
使用EA创建工程时,EA会提示输入工程的文件名和存储位置,并提示新工程包含那些模型,可根据需要进行选择,一般至少应选择包括class,database,usecase等内容。
(4)使用EA建模的基本方法:
建模方法与RationalRose中建模方法大同小异。
一般遵循在模型中建立包,添加类图、类及其他必要元素,然后为每个类添加属性、方法,建立关联等操作。
具体操作请同学们自己探索、实践。
2、设定模型的目标语言:
如果不希望以后分别为每个类设定目标编程语言,可以在建模开始之前就设定目标语言:
选择[tools]-[Options]菜单,在对话框中选择SourceCodeEngineering条目:
3、在EA中建立顺序图:
建立过程和方法与Rose中也比较类似,在某个包中添加sequencediagram后,将需要的类拖到图中,使用顺序图工具添加消息,选择类中已有的方法;若发现某个类缺少相应的方法或需要修改,可在顺序图中右击该类选择”Operations….”菜单进行添加、修改。
4、使用EA完成概念模型数据模型,生成DDL
(1)注意EA中关联的处理:
概念模型(类模型)中的关联往往确定了两个类所对应的表中的主键和外键关系,由于EA是基于UML2.0以上的标准,所以模型语法更严格和完善。
为了保证代码转换和模型转换的正确性,应该确定关联的方向、重数和关联的类型。
(2)模型转换:
选择要转换为数据模型的类,右键菜单中选择”Transform”菜单项,在对话框中勾选DDL,点击”DoTransform”,转换成功后会自动在DataModel中建立相应数据模型图和数据表元素。
(3)生成DDL:
首先为数据表元素选定目标数据库,然后可在数据模型中选择某个数据模型,生成对应的DDL,用于建立数据库。
5、生成代码框架
仔细调整每个类的属性和方法,确实比较完整后可以使用EA直接生成目标代码。
操作:
选择一个类或多个类,右键菜单中选择“generatecode”,在出现的对话框中选择生成代码的路径或位置,然后生成代码。
6、将代码导入VisualStudio的工程。
在VisualStudio中建立空的工程,然后选择“添加已有项目”,加入生成的代码。
实验内容
1、根据实验原理,使用前面实验完成的模型转换成程序框架,并完成程序用户界面、业务处理过程的开发工作。
在开发中应该弄清各个对象的创建时机,考虑何时使用持久化数据和何时使用对象数据。
2、采用某种适合的开发语言,在.NET环境下开发完成下图中GeneratePickList场景视图的功能,正确使用EnterpriseArchitect的功能,程序代码应该与模型保持一致,并正确实现模型中的设计。
3、在程序想办法实现对象之间一对多关联,通过1端对象能够查找所有的多端的对象。
(提示:
考虑System.Collections,System.Collections.Generic名称空间的对象)
4、使用EA完成将概念模型转换为数据模型的工作,通过调整数据模型(正确设定主键、外键),生成对应数据库的DDL,并利用DDL建立数据表。
为了支持程序运行,应手工添加Order,OrderLineItem,Bin,BinLineItem等表的基础数据。
5、数据访问层(数据管理层DM)封装了所有数据格式和访问操作的细节,支持业务层的业务流程;
6、利用.NET框架中提供的数据访问组件实现数据库连接、访问、操作更新;
7、通过选择某个Order,生成该Order的Picklist(PickListItem),应该包含Ordernumber,Itemnumber,Itemdescription,Binnumber,quantity等必要信息,使用VisualStudio的报表组件(CrystalReport,MicrosoftReport,repeater等)显示这些信息。
实验报告
1.说明在EA中建模的基本方法。
2.说明在EA中生成程序框架的过程,给出程序框架的关键代码。
3.说明在EA中生成DDL的过程。
4.可在结果中说明开发的程序的运行情况,并给出界面截图。
5.可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。
思考题
1.界面中如果需要显示一个Order列表供用户选择,Order列表数据来源于对象还是数据表?
Order对象何时创建?
2.BinLineItem和PickListLineItem两个对象的1对多关联如何处理,是否需要在BinLineItem中增加PickListLineItem的列表?
如何实现?
3.通过比较RationalRose和EnterpriseArchitect这两种建模工具,你更喜欢哪一个?
实验五Connie’sStore开发二
实验目的
1、掌握面向对象开发中很重要的多层应用程序的思想。
2、掌握数据访问层(组件)开发的基本原理和方法。
3、掌握.NET数据访问组件的使用和开发数据访问层的方法。
预习与实验要求
1、实验前应仔细复习.NET中DataAdapter等数据访问组件的使用等内容。
2、复习课程中关于分层应用程序和数据的层间传递等知识。
3、实验前应该先理解实验内容,形成解题的基本思路,实验应独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。
实验设备与器材
a)仪器:
PC机
b)软件:
Windows2000以上操作系统,RationalRose2003,.Net,Java开发平台
实验原理
1、数据访问层(数据管理层DM)封装了所有数据格式和访问操作的细节,支持业务层的业务流程;
2、数据访问层实现表的查询、更新、删除功能,负责将业务对象的创建和保存工作等;
3、利用.NET框架中提供的数据访问组件实现数据库连接、访问、操作更新;
4、多层应用程序的目标是减少业务层和数据库的耦合关系,保持业务处理的独立性。
实验内容
1、基于以上实验原理,开发完成以下Sale场景视图的功能。
2、正确使用RationalRose的功能,程序代码应该与模型保持一致,并正确实现模型中的设计。
实验报告
1.说明在RationalRose中创建应用程序组件,将对象类添加到应用程序组件的过程。
2.说明数据访问层的基本设计。
3.说明利用DataAdapter等组件实现数据访问层的技术细节。
4.给出程序框架的关键代码。
5.可在结果中说明开发的Sale过程的运行情况,并给出界面截图。
6.可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。
思考题
1.如何实现应用程序能够适应不同的数据库系统平台运行,而不用开发多个重复版本?
2.为了保持界面和业务操作的独立性,可采用一些什么样的技术?
实验六课程设计
实验目的
1、训练综合应用课程知识,开发完整应用程序,获得相关经验。
2、训练软件开发的团队分工合作能力,培养合作精神。
3、训练软件开发的管理、分析设计、文档编制、编码开发、测试等多方面的能力。
预习与实验要求
1、实验前应仔细复习软件工程中软件开发全过程所涉及的相关知识。
2、完成课程设计小组的分组和分工。
3、实验前分小组讨论开发方案和计划,形成基本的需求分析说明书,形成开发团队。
完成实验后认真填写实验报告,如实反映实验情况。
实验设备与器材
a)仪器:
PC机
b)软件:
Windows2000以上操作系统,RationalRose2003,.Net,Java开发平台
实验原理
1、面向对象软件开发和软件工程规范的综合应用。
2、软件开发中的团队协作。
3、软件文档的编制规范。
4、规范编码和注释的方法。
5、软件测试的基本方法。
实验内容
学生3-4人自由组合为一个开发小组分工合作,分工如下:
建模:
1人,负责模型分析和设计工作;
文档:
1人,负责设计文档和用户文档编制;
开发:
1-2人,负责软件的编码实现。
设计成果:
分析设计模型、设计文档与用户文档、开发完成的系统。
开发时间:
约30天。
评分标准如下:
建模
分析完整性
10分
需求界定准确、模型完整:
5分;
需求有创意:
5分
设计完整性
20分
属性完整:
5分;方法完整:
5分;属性类型完整:
5分;接口定义完整:
5分
良好的注释
10分
对类的特点和注意事项等说明:
5分;方法的前置后置条件进行说明:
5分
顺序图或交互图
10分
完成所有重要业务过程顺序图:
5分;顺序图正确并与类图保持一致:
5分
数据库模式与DDL
10分
完成数据库模式的设计:
5分;
使用自动转换数据库模式和生成DDL:
5分
数据字典
10分
定义了重要数据的数据字典:
5分;
数据字典格式、内容规范:
5分
文档
格式规范
10分
文档美观,清晰:
5分;图文并茂:
5分
文字清晰、易理解
10分
语句通顺:
5分;阐述简明、准确:
5分
内容完整
10分
有用户文档:
5分;有联机帮助内容:
5分;
一致性
10分