《《软件开发实践》实验指导书.doc》由会员分享,可在线阅读,更多相关《《软件开发实践》实验指导书.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件开发实践实验指导书周 彦 晖计算机与信息科学学院2006年5月目 录实验一 Connies Store系统建模1实验二 Connies Store建立数据模型3实验三 Connies Store开发Logon11实验四 Wallys Warehouse开发Picklist21实验五 Connies Store开发二30实验六 课程设计32实验一 Connies Store系统建模 实验目的 1、 掌握面向对象分析的基本思想。2、 掌握Rational Rose进行UML建模的基本方法。3、 熟练使用类图、顺序图建模和表示需求。预习与实验要求 1、 实验前应仔细复习课程中关于Connie s
2、 Convenient Store的需求分析过程和结果。2、 熟悉Rational Rose CASE工具,了解使用Rational Rose进行建模的方法。3、 实验前应该先理解实验内容,形成解题的基本思路,实验应独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。 实验设备与器材 a) 仪器:PC机b) 软件:Windows 2000以上操作系统,Rational Rose 2003, .Net, Java开发平台 实验原理 1、 UML类图和顺序图的相关知识。2、 通过对教材第一章的学习,已经掌握Connies Store的需求分析过程和需求分析的
3、结果。3、 利用Rational Rose的类图和顺序图绘制工具作图。4、 UML与Codd表示方法的差异。 实验内容 1、 完成对Connies Store的需求建模和设计,采用分层、分子图的方式进行建模,最后完成一个总体模型图。2、 根据教学进度,逐步完成Connies Store的系统模型,完成对象类图(最终可参考教材图164),将教材中出现的场景图转换为顺序图。3、 模型基础上进行细化,补充类属性、方法的定义。4、 完成注释和查错。 实验报告 1. 详细描述建模的先后次序,说明PD、HI、DM、SI、NT等组件在Rational Rose中的建模实现。2. 描述工具的使用方法,建模中对
4、Codd表示方法和UML区别等问题的处理方法等。3. 给出建模之后的分层表示的模型图(打印或手绘)。4. 可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。5. 可以对已建立模型的完整性和相互关系进行分析,说明下阶段应该完成的工作。思考题 1. 在建模时可以直接创建一个大而完整的模型图,也可以分子图按关系建立多个小模型,哪种方式好,为什么?2. 当模型图如类图被删除时,建立的相应对象类在模型中是否被删除?实验二 Connies Store建立数据模型 实验目的 1、 掌握面向对象模型转换为数据模型的方法。2、 理解面向对象模型持久化的概念和思想。3、 掌握数据库设备建模和生成
5、DDL的方法。预习与实验要求 1、 实验前应仔细复习数据库原理课程中关于数据库设备、数据库模式、ER图等内容。2、 复习课程中关于面向对象模型持久化方面的知识。3、 实验前应该先理解实验内容,形成解题的基本思路,实验应独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。 实验设备与器材 a) 仪器:PC机b) 软件:Windows 2000以上操作系统,Rational Rose 2003, .Net, Java开发平台 实验原理 1、 在Rational Rose中为模型预设目标语言在Rational Rose中建立模型的最终目的是为以后的开发提供支持
6、,不同的开发语言支持各种不同的数据类型,因此,Rational Rose在建立模型时相应支持很多常见的各种编程语言。如Java,VC+,ANSI c+、Visual Basic等。为了指定模型中的目标编程语言,可以使用“tool”菜单-“Option”进行设置:选择“Notation”标签,在“Default Language”中选择模型所需要的目标语言。注意:该设置不影响已经建立的类,只会对新建的类起作用。2、 选定持久化(Persistent)存储的类所谓持久化的类,是指这些类的对象中的状态和数据的变化应该持久保存,不能随着类及对象在内存中析构而消失。换言之,这些类及对象的数据应该存储在永
7、久存储器磁盘的数据库中。在面向对象分析和设计中,显然只有持久化的类及对象才需要存储在数据库中,才需要在概念模型关系模型转换中进行转换。这顶持久化的方法:双击打开类的定义窗口,选择“Detail”标签,选择“Persistent”单选钮。3、 为类及对象设定候选关键字类及对象转换为关系模型的表对象,如果没有为类及对象设定候选关键字为某些属性,Rational Rose会自动生成一个ID字段,不一定符合开发的要求。设定候选关键字,在左侧的模型树状视图中,展开某个需要设定的类,选择应该称为关键字的一个属性,右键出现菜单,单击“Part of Object Identity”4、 将选定的持久化类转换
8、为关系模型(1) 在模型中建立数据库在Rational Rose左侧的树型目录中选择“Component View”,右击选择“Data Modeler”,选择“New”“database”:输入新建数据库的名字。双击新建的数据库,出现数据库定义对话框,在其中可以选择该数据库的目标数据库类型。注意,这里创建的数据库并不是真正的在某个DBMS下的数据库,只是关系模型(数据模型)的容器,之所以指定目标数据库类型,是为了以后能够通过Rational Rose自动生成在指定目标数据库下创建数据库的代码,甚至可以在相应DBMS下直接创建真正的数据库。(2) 概念模型转换为关系模型(Schema)在完成了
9、前面的准备工作后,下面的操作将概念模型转换为相应的数据模型:右击相应的包(Package),选择“Data Modeler”“Transform from Data Model”,在出现的对话框中输入新建关系模型的名字,以及创建的关系(表)的前缀等。值得注意的是可以选择目标数据库,这里可选前面已经建立的数据库。完成转换后,Rational Rose将会自动生成关系数据模型在左侧树状结构的“Logical View”“Schemas”下,如果要查看关系模型的图形,可以创建“Data Model Diagram”,然后把生成的关系拖入该图中。创建“Data Model Diagram”:5、 调整
10、模型中的主键、外键设置,使之符合设计要求。6、 利用数据库Forward Engineering 产生数据库DDL。实验报告 1. 说明在完成的Connies Store的模型基础上进行扩充,建立数据模型的过程。2. 说明对数据模型中的主键、外键依赖的调整情况。3. 给出使用数据模型生成的数据库DDL。4. 可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。5. 可以对已建立模型的完整性和相互关系进行分析,说明下阶段应该完成的工作。 思考题 1. 面向对象模型中的对象存储在关系表中要解决的主要问题是什么?2. 如果某个类中多个属性为关键字段,如何设定候选关键字?3. 观察、分
11、析、总结对象模型转换为关系模型后,类及对象的关联在表中如何处理?实验三 Connies Store开发Logon 实验目的 1、 掌握Rational Rose生成代码框架的方法。2、 理解面向对象模型在程序组件中的角色。3、 掌握使用程序组件和对象模型生成程序框架的方法。预习与实验要求 1、 本实验开始前已经完成实验一、二的内容,并保存了模型。2、 实验前应仔细复习课程中学习的Rational Rose组件、生成代码框架、前向工程、逆向工程等内容。3、 复习课程中关于对象模型中业务层、持久化层、表示层等概念。4、 复习对象模型中类、包在Java中的对应概念。5、 实验前应该先理解实验内容,形
12、成解题的基本思路,实验应独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。 实验设备与器材 a) 仪器:PC机b) 软件:Windows 2000以上操作系统,Rational Rose 2003, Java开发平台(Netbeans) 实验原理 1、 在Rational Rose创建面向Java语言的程序组件。(1)设定模型目标语言:TOOLS-Options-Notation(2)建立组件(3)检查组件的目标语言:右击组件,在菜单中选择“open standard specification”,设置其目标语言为Java。2、 将模型中的类添加到Ra
13、tional Rose组件中。如果组件已经被设置为Java组件,右击该组件选择“Open Standard Specification”,点击“Realizes”标签,选择其中的类赋到组件中。3、 使用Rose Java产生代码。(1) 原理代码生成也叫前向工程,是从Rose模型中多个类生成代码的过程。代码生成是以组件为中心的。代码生成有两种方式,一是创建的类赋值到已存在的Java组件;二是选择需要转换的类,由Rose为这些类自动生成组件。我们此次实验采用第二种方法。在生成代码时,Rose中的一个类会生成Java中的一个.class文件,而Rose中的包将生成Java中的包(目录、文件夹)。(
14、2) 准备根据所要开发的Logon的功能,将相关的类放置到同一个类图,便于选择。(3) 生成在类图中选择要生成代码的类,选择菜单tools-java/J2EE-Generate Code4、 将生成的代码导入NetBeans(1) 启动NetBeans(2) 创建一个“基于现有源代码的Java项目”(3) 将生成的代码导入项目(4) 使用GUI生成登录窗口(5) 对各个类进行编码a) 为LogonWindow编码,包括Constructor、Button click event、Initialize the store object、Achieve logon methodb) 为store编
15、码:完成getCashierForNumber()、getRegisterForNumber()c) 为Cashier编码:调整constructor、完成verifyPassword、addSession方法d) 为Session和Register编码e) 开发saleWindowf) 为CashierDM编码5、 利用Rational Rose数据库前向工程(Forward Engineering)功能生成DDL,利用DDL在数据库管理系统中创建表。6、 连接数据库:配置ODBC数据源,使用JDBC-ODBC桥部分代码:n import java.sql.*;n String url =
16、jdbc:odbc:connie “; connie is the DSN namen Connection and statementn Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);n try con = DriverManager.getConnection(url, sa, ); n ResultSet rs=stmt.executeQuery(query); 实验内容 1、 根据实验原理,使用前面实验完成的模型转换成程序框架,并完成程序用户界面、业务处理过程的开发工作。2、 采用某种适合的开发语言,开发完成下图中Logon场景视图的功能,正确
17、使用Rational Rose的功能,程序代码应该与模型保持一致,并正确实现模型中的设计。实验报告 1. 说明在Rational Rose中创建应用程序组件,将对象类添加到应用程序组件的过程。2. 说明使用数据库DDL创建数据库的情况。3. 说明生成程序框架的过程,给出程序框架的关键代码。4. 可在结果中说明开发的logon过程的运行情况,并给出界面截图。5. 可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。 思考题 1. 在Logon过程中Cashier对象是如何创建的?是否有其他途径进行创建,各自的优缺点如何?实验四 Wallys Warehouse开发Picklist
18、 实验目的 1、 进一步掌握熟悉面向对象多层软件开发的基本思想。2、 熟悉、掌握基于Microsoft .NET环境的软件开发环境。3、 了解掌握使用Enterprise Architect建模工具进行开发的技术。4、 掌握在.NET环境下数据访问层(组件)开发的基本原理和方法。预习与实验要求 1、 实验前应仔细复习Wally s Warehouse的系统需求、设计的内容。2、 实验前应仔细复习.NET中DataAdapter等数据访问组件的使用等内容。3、 复习课程中面向对象模型建模、数据模型建模转换、前向工程(代码生成)等相关概念。4、 实验前应该先理解实验内容,形成解题的基本思路,实验应
19、独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。 实验设备与器材 a) 仪器:PC机b) 软件:Windows 2000以上操作系统,Enterprise Architect, .Net, Java开发平台 实验原理 1、 认识Enterprise Architect(EA)。(1) 安装:使用安装程序进行安装。(2) 运行、创建、打开project:EA运行后,可以使用菜单或 “start page”中的链接新建或打开已存在的工程,其操作与通用Windows应用程序相同。(3) 新建工程及选择模型:使用EA创建工程时,EA会提示输入工程的文件名和存
20、储位置,并提示新工程包含那些模型,可根据需要进行选择,一般至少应选择包括class, database, usecase等内容。(4) 使用EA建模的基本方法:建模方法与Rational Rose中建模方法大同小异。一般遵循在模型中建立包,添加类图、类及其他必要元素,然后为每个类添加属性、方法,建立关联等操作。具体操作请同学们自己探索、实践。2、 设定模型的目标语言:如果不希望以后分别为每个类设定目标编程语言,可以在建模开始之前就设定目标语言:选择tools-Options菜单,在对话框中选择Source Code Engineering条目:3、 在EA中建立顺序图:建立过程和方法与Rose
21、中也比较类似,在某个包中添加sequence diagram后,将需要的类拖到图中,使用顺序图工具添加消息,选择类中已有的方法;若发现某个类缺少相应的方法或需要修改,可在顺序图中右击该类选择”Operations.”菜单进行添加、修改。4、 使用EA完成概念模型数据模型,生成DDL(1) 注意EA中关联的处理:概念模型(类模型)中的关联往往确定了两个类所对应的表中的主键和外键关系,由于EA是基于UML2.0以上的标准,所以模型语法更严格和完善。为了保证代码转换和模型转换的正确性,应该确定关联的方向、重数和关联的类型。 (2) 模型转换:选择要转换为数据模型的类,右键菜单中选择”Transfor
22、m”菜单项,在对话框中勾选DDL,点击”Do Transform”,转换成功后会自动在Data Model中建立相应数据模型图和数据表元素。 (3) 生成DDL:首先为数据表元素选定目标数据库,然后可在数据模型中选择某个数据模型,生成对应的DDL,用于建立数据库。5、 生成代码框架仔细调整每个类的属性和方法,确实比较完整后可以使用EA直接生成目标代码。操作:选择一个类或多个类,右键菜单中选择“generate code”,在出现的对话框中选择生成代码的路径或位置,然后生成代码。 6、 将代码导入Visual Studio的工程。在Visual Studio中建立空的工程,然后选择“添加已有项目
23、”,加入生成的代码。实验内容 1、 根据实验原理,使用前面实验完成的模型转换成程序框架,并完成程序用户界面、业务处理过程的开发工作。在开发中应该弄清各个对象的创建时机,考虑何时使用持久化数据和何时使用对象数据。2、 采用某种适合的开发语言,在.NET环境下开发完成下图中Generate PickList场景视图的功能,正确使用Enterprise Architect的功能,程序代码应该与模型保持一致,并正确实现模型中的设计。3、 在程序想办法实现对象之间一对多关联,通过1端对象能够查找所有的多端的对象。(提示:考虑System.Collections,System.Collections.Ge
24、neric名称空间的对象)4、 使用EA完成将概念模型转换为数据模型的工作,通过调整数据模型(正确设定主键、外键),生成对应数据库的DDL,并利用DDL建立数据表。为了支持程序运行,应手工添加Order, OrderLineItem, Bin, BinLineItem等表的基础数据。5、 数据访问层(数据管理层DM)封装了所有数据格式和访问操作的细节,支持业务层的业务流程;6、 利用.NET框架中提供的数据访问组件实现数据库连接、访问、操作更新;7、 通过选择某个Order,生成该Order的Picklist(PickListItem),应该包含Order number, Item numbe
25、r, Item description, Bin number, quantity等必要信息,使用Visual Studio的报表组件( Crystal Report, Microsoft Report, repeater等)显示这些信息。实验报告 1. 说明在EA中建模的基本方法。2. 说明在EA中生成程序框架的过程,给出程序框架的关键代码。3. 说明在EA中生成DDL的过程。4. 可在结果中说明开发的程序的运行情况,并给出界面截图。5. 可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。 思考题 1. 界面中如果需要显示一个Order列表供用户选择,Order列表数据来源
26、于对象还是数据表?Order对象何时创建?2. BinLineItem和PickListLineItem两个对象的1对多关联如何处理,是否需要在BinLineItem中增加PickListLineItem的列表?如何实现?3. 通过比较Rational Rose和Enterprise Architect这两种建模工具,你更喜欢哪一个?实验五 Connies Store开发二 实验目的 1、 掌握面向对象开发中很重要的多层应用程序的思想。2、 掌握数据访问层(组件)开发的基本原理和方法。3、 掌握.NET数据访问组件的使用和开发数据访问层的方法。预习与实验要求 1、 实验前应仔细复习.NET中D
27、ataAdapter等数据访问组件的使用等内容。2、 复习课程中关于分层应用程序和数据的层间传递等知识。3、 实验前应该先理解实验内容,形成解题的基本思路,实验应独立完成,积极应用所学知识完成程序调试、测试,完成实验后认真填写实验报告,如实反映实验情况。 实验设备与器材 a) 仪器:PC机b) 软件:Windows 2000以上操作系统,Rational Rose 2003, .Net, Java开发平台 实验原理 1、 数据访问层(数据管理层DM)封装了所有数据格式和访问操作的细节,支持业务层的业务流程;2、 数据访问层实现表的查询、更新、删除功能,负责将业务对象的创建和保存工作等;3、 利
28、用.NET框架中提供的数据访问组件实现数据库连接、访问、操作更新;4、 多层应用程序的目标是减少业务层和数据库的耦合关系,保持业务处理的独立性。实验内容 1、 基于以上实验原理,开发完成以下Sale场景视图的功能。2、 正确使用Rational Rose的功能,程序代码应该与模型保持一致,并正确实现模型中的设计。实验报告 1. 说明在Rational Rose中创建应用程序组件,将对象类添加到应用程序组件的过程。2. 说明数据访问层的基本设计。3. 说明利用DataAdapter等组件实现数据访问层的技术细节。4. 给出程序框架的关键代码。5. 可在结果中说明开发的Sale过程的运行情况,并给
29、出界面截图。6. 可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。 思考题 1. 如何实现应用程序能够适应不同的数据库系统平台运行,而不用开发多个重复版本?2. 为了保持界面和业务操作的独立性,可采用一些什么样的技术?实验六 课程设计 实验目的 1、 训练综合应用课程知识,开发完整应用程序,获得相关经验。2、 训练软件开发的团队分工合作能力,培养合作精神。3、 训练软件开发的管理、分析设计、文档编制、编码开发、测试等多方面的能力。预习与实验要求 1、 实验前应仔细复习软件工程中软件开发全过程所涉及的相关知识。2、 完成课程设计小组的分组和分工。3、 实验前分小组讨论开发方案
30、和计划,形成基本的需求分析说明书,形成开发团队。完成实验后认真填写实验报告,如实反映实验情况。 实验设备与器材 a) 仪器:PC机b) 软件:Windows 2000以上操作系统,Rational Rose 2003, .Net, Java开发平台 实验原理 1、 面向对象软件开发和软件工程规范的综合应用。2、 软件开发中的团队协作。3、 软件文档的编制规范。4、 规范编码和注释的方法。5、 软件测试的基本方法。实验内容 学生3-4人自由组合为一个开发小组分工合作,分工如下: 建模:1人,负责模型分析和设计工作; 文档:1人,负责设计文档和用户文档编制; 开发:1-2人,负责软件的编码实现。设
31、计成果:分析设计模型、设计文档与用户文档、开发完成的系统。开发时间:约30天。评分标准如下:建模分析完整性10分需求界定准确、模型完整:5分;需求有创意:5分设计完整性20分属性完整:5分;方法完整:5分;属性类型完整:5分;接口定义完整:5分良好的注释10分对类的特点和注意事项等说明:5分;方法的前置后置条件进行说明:5分顺序图或交互图10分完成所有重要业务过程顺序图:5分;顺序图正确并与类图保持一致:5分数据库模式与DDL10分完成数据库模式的设计:5分;使用自动转换数据库模式和生成DDL:5分数据字典10分定义了重要数据的数据字典:5分;数据字典格式、内容规范:5分文档格式规范10分文档
32、美观,清晰:5分;图文并茂:5分文字清晰、易理解10分语句通顺:5分;阐述简明、准确:5分内容完整10分有用户文档:5分;有联机帮助内容:5分;一致性10分无文档和软件功能不一致情况:10分;文档和软件功能不一致少于3处:6分;文档和软件功能不一致情况少于6处:3分多于6处:0分文档确认10分文档有确认过程:5分;文档确认有效:5分用户文档指导性20分按功能进行叙述:5分;按业务处理流程进行介绍:5分;有疑难问题解答或How to:5分;联机帮助有搜索功能:5分开发功能正确性20分所有功能能够正确执行:10分;每1处错误扣5分,扣完为止;功能的实现与设计一致:10分;每1处不一致扣5分,扣完为
33、止。功能完整性10分所有需求中的功能都已实现:5分;界面和文档中说明的功能都已实现:5分;平台与技术合理性20分选择了合理的开发平台:5分;采用了多层软件结构:5分;采用了面向对象和本课程介绍的技术:5分;对模型进行了合理实现:5分界面友好性10分界面美观、易于操作,符合使用习惯:5分;界面布局合理,有适当提示引导用户:5分容错性与可维护性10分对用户输入进行检查:5分;软件实现灵活,易于修改:5分加分修改跟踪记录与版本控制10分进行了修改跟踪,跟踪记录和版本控制有效软件测试与报告10分完成了软件测试,有测试报告源代码注释完整5分注释合理有效制作安装程序5分安装程序能正确安装、卸载软件实验报告 1. 在报告中应注明所完成的系统名称、同组的人员以及自己所承担的工作。2. 详细阐述完成工作的主要过程和成果,以及最终软件的情况。3. 说明最终软件的运行情况,并给出界面截图。4. 可在总结中说明实验的完成情况,出现了哪些问题,是否解决及如何解决等。 思考题 1. 团队开发软件过程中最难于控制的什么环节或什么因素?
限制150内