课程实验报告
软件系统结构
专业 软件工程 刘辉 软件151 17 孙莉
学生姓名 班学
级 号
指导老师
实验一 C/S结构应用设计(1)
一、 实验目的
设计并实现一个基于多层C/S结构的数据库应用,熟悉多层C/S体系结构及其基本处理流程,了解多层结构表现层、业务逻辑层(功能层)、数据访问层所完成的功能,掌握多层C/S结构的数据库应用设计方法,对这三层进行明确分割,并在逻辑上使其。学生通过本实验的训练能够熟练掌握对小型数据库应用系统三层结构层次划分方法及系统实现技术。
本次实验目的:
(1)熟悉并掌握二层C/S软件体系结构的相关知识; (2)掌握二层C/S结构应用系统的分析和设计; (3)掌握一种开发二层C/S结构应用系统的技术线路;
(4)实际开发出一个简单的基于二层C/S结构的应用实例——个人通讯录管理系统。
要求:
(1)需要预先掌握SQL server 2000数据库基本操作、(用C#语言)编程技术和多层C/S软件体系结构的概念;
(2)进行二层C/S结构应用系统的分析和设计,在实验报告中写出个人通讯录管理系统的设计方案;
(3)在SQL server 2000数据库系统中建立数据库并输入数据; (4)在中用C#语言编写表现层(UI)程序; (5)在中用C#语言编写业务逻辑层(BLL)程序; (6)完成系统调试,得出正确的实验结果; (7)做完实验后写出本实验的实验报告。
二、实验环境
奔腾以上计算机,装有SQL Server 2000数据库系统和Visual Studio 2000
软件。
三、实验内容
1、分别采用二层C/S结构和多层C/S结构实现个人通讯录系统。该系统的设计目标是能够轻松地管理个人的联系人信息,包括添加、修改和删除操作。联系人信息包括姓名、住址、电话。整个系统的功能图如下图所示:
个人通讯录 查看联系人 添加联系修改联系人 删除联系
分析系统需求,完成软件体系结构设计及模块划分、数据库设计,采用Visual C#实现系统功能
四、实验操作过程
在电脑上安装好Microsoft Visual Studio 2010 用于系统的开发
需要实际设计开发出一个简单的基于两层C/S结构的应用系统——个人通讯录管理系统,主要步骤和内容如下:
1、在 SQL Server 2000中建立数据库Contact,建立表friend。
(1)建立数据库Contact: Create database contact (2)建立数据库表friend
friend]’)and OBJECTPROPERTY (id,N’isusertable’)=1)
Drop table [dbo].[friend] GO
friend]
([fid] [int] identity(1,1) not null,
[fname] [varchar] (8) collate Chinese prc ci as not null, [fphone] [varchar] (12) collate Chinese prc ci as null, [faddress] [varchar] (100) collate Chinese prc ci as null )on [primary]
表1 friend的结构
列名 Fid Fname Fphone 数据类型 Int Varchar Varchar 长度 允许空 是否标识 4 8 12 100 否 否 否 是 是 否 否 否 说明 联系人编号,自动递增型 联系人姓名 联系人电话 联系人地址 Faddress Varchar 新建完friend表之后向表中插入1条记录。以便程序调试时使用。 2、在Visual Studio 2000中用C#语言建立用户界面层(UI)程序:Contact项目,主要呈现用户操作界面。 用户的主要操作界面如下:
各个控件的属性如下表:
空间类型 Label Name属性 lblName Text属性 姓名: Enable属性 True Label Label TextBox TextBox TextBox Button Button Button Button Button Button lblPhone lblAdress txtName txtPhone txtAdress btnOK btnRE btnAdd btnEdit btnDel btnAbout 电话: 地址: 确定 取消 添加联系人信息 True True False False False False False True 修改选中联系人信息 True 删除选中联系人信息 True 关于本软件 True 其中txtAddress控件的Multilane属性为True. 最后我们要设置性设置为
True,View
listView属性,将其FullRowSelect属性设置为true,Gridlines属
Details,并点开Columns
属性设置为属性,添加一列,设置其
Name为fContactID,Text属性为编号,以此方式再为其添加姓名、电话、联系方式。
到此,用户图形界面就设计完成了。
3、编写应用程序层代码,用于实现数据访问、添加、删除和修改等控制,关键代码如下:
(1)数据连接
数据库连接的代码如下:
string connstr = \"Data Source=(local);Initial Catalog=contact;user id=sa;password=\";
本代码的意思是以用户名为sa登录到本地数据库,密码为空。
(2)数据添加、删除和修改等控制的主要代码
①显示联系人信息
显示联系人信息由主界面的listview显示,其思路是读取数据库中所有的联系人信息,然后通过Lisview显示。
private void getInfo() {
string sql = \"select Fid,Fname,Fphone,Faddress from friend\"; SqlConnection conn = new SqlConnection(connstr); ();
SqlCommand cmd = new SqlCommand(sql, conn); SqlDataReader reader = ; try {
while ()) {
string[] subItems = new string[]{ (0).ToString(), (1), (2), (3)}; ListViewItem(subItems)); } (); }
catch (Exception ex) { ()); } }
②添加联系人信息
对联系人信息进行添加的操作并录入数据库
public void addInfo(string name, string phone, string address)
{ string
sql=\"insert
into
friend(Fname,Fphone,Faddress)values('\"+name+\"','\"+phone+\"','\"+address+\"')\";
SqlConnection conn=new SqlConnection(connstr); SqlCommand cmd=new SqlCommand(sql,conn); (); (); ();}
③修改联系人信息
对联系人信息进行修改的操作并录入数据库
private void btnEdit_Click(object sender, EventArgs e) {
if == 0) {
(\"请单击选择需要修改的联系人!\"); return; } ();
ListViewItem lvi = [ - 1];
= [1].Text; = [2].Text; = [3].Text; Fid = [0].Text); = false; = false; = false;
}
④删除联系人
对联系人信息进行删除的操作并录入数据库
private void button5_Click(object sender, EventArgs e) {
int infoID = (); if (infoID == 0) {
(\"请选中信息先!\"); return; } try {
string sql = \"delete friend where fid=\" + infoID; SqlConnection conn = new SqlConnection(connstr); ();
SqlCommand cmd = new SqlCommand(sql, conn); (); (); (); }
catch (Exception ex) { ; } }
五、实验结果及结论。
当我们运行程序时可以看到之前在数据库中插入的数据已经显示在了联系人列表中,我们点击添加联系人信息之后再次插入信息,点击确定后,我们可以看到,新插入的数据已经在联系人列表中了,如下图所示。
添加联系人
单击确定按钮之后显示通讯上去了:
六、心得体会
这次实验让我学会了两层C/S体系结构的设计实现方法,在实验中我也犯了很多低级错误,比如在进行程序编码时要注意C#区分大小写,编写程序时一定要注意;程序要注意保存,并记住保存的位置。本实验为综合性实验,需要多次才能完成,前面的阶段性实验成果后续需要使用。
这次实验让我学会了个道理:做事要脚踏实地,一步一步地来,不能着急,
遇到问题首先不能着急,静下心来慢慢地检查和解决问题,这才是最好的方法,不然永远不能解决问题,在以后的实验中也要慢慢地学会如何学习,掌握学习的方法最重要。
一、实验目的实验二 C/S结构应用设计(2)
设计并实现一个基于多层C/S结构的数据库应用,熟悉多层C/S体系结构及其基本处理流程,了解多层结构表现层、业务逻辑层(功能层)、数据访问层所完成的功能,掌握多层C/S结构的数据库应用设计方法,对这三层进行明确分割,并在逻辑上使其。学生通过本实验的训练能够熟练掌握对小型数据库应用系统三层结构层次划分方法及系统实现技术。
本次实验目的:
(1)熟悉并掌握多层C/S软件体系结构的相关知识; (2)掌握多层C/S结构应用系统的分析和设计; (3)掌握一种开发多层C/S结构应用系统的技术线路;
(4)实际开发出一个简单的基于多层C/S结构的应用实例——个人通讯录管理系统。
实验要求
(1)需要预先掌握SQL server 2000数据库基本操作、(用C#语言)编程技术和多层C/S软件体系结构的概念;
(2)进行多层C/S结构应用系统的分析和设计,在实验报告中写出个人通讯录管理系统的设计方案;
(3)在SQL server 2000数据库系统中建立数据库并输入数据; (4)在中用C#语言编写表现层(UI)程序; (5)在中用C#语言编写业务逻辑层(BLL)程序; (6)完成系统调试,得出正确的实验结果; (7)做完实验后写出本实验的实验报告。
二、实验环境
奔腾以上计算机,装有SQL Server 2000数据库系统和Visual Studio 2000软件。
三、实验内容
1、分别采用二层C/S结构和多层C/S结构实现个人通讯录系统。该系统的设计目标是能够轻松地管理个人的联系人信息,包括添加、修改和删除操作。联
系人信息包括姓名、住址、电话。整个系统的功能图如下图所示:
个人通讯录 查看联系人 添加联系修改联系人 删除联系
分析系统需求,完成软件体系结构设计及模块划分、数据库设计,采用Visual C#实现系统功能
四、 实验操作过程
需要实际设计开发出一个简单的基于多层C/S结构的应用系统——个人通讯录管理系统,主要步骤和内容如下:
1、在 SQL Server 2000中建立数据库Contact,建立表friend。 在创建二层C/S时,我们已经创建了contact数据库,并建立了friend表,这次我们可以直接引用。
2、在Visual Studio 2000中用C#语言建立用户界面层(UI)程序:Contact项目,主要呈现用户操作界面。
在创建二层C/S架构中,我们已经创建过此用户图形界面,三层架构的用户图形层(UI)与两层架构一致,所以在此就不再重复。
3、在Contact中增加新类作为业务逻辑层(BLL)程序。 在业务逻辑层中需要为其添加头文件
using System; using ; using ;
并创建contactDB类 using Contact {
class ContactDB{ }
4、编写类文件代码,用于实现数据访问控制,关键代码如下: (1)数据连接
数据库的访问是由contactDB类中的getReader方法实现的,在MainForm中,只需要如下代码:
SqlDataReader reader = ();
getReader方法定义了一个String类型的变量sql,用于保存访问数据库的SQL命令:
string sql = \"select Fid,Fname,Fphone,Faddress FROM friend\";
接着新建数据库连接对象conn并打开数据连接:
SqlConnection conn = new SqlConnection(connStr); ();
其中连接字符窜connStr是contactDB类的域:
string connStr = \"Data source=(local);Initial Catalog=contact;user id=sa;password=''\";
然后建立数据命令对象:
SqlCommand cmd = new SqlCommand(sql, conn);
数据命令对象cmd使用的数据库连接是conn,而参数sql表示数据命令的数据文本为sql,即数据命令的CommandText属性为sql。 (2)数据获取
SqlDataReader reader = ; return reader;
在MainForm的getInfo方法中,获取了由ContactDB类的getReader方法返回的数据阅读器后,接下来要执行的是循环读取阅读器中的信息,然后依次添
加到listView中;
try
{
SqlDataReader reader = (); oString(), (1), (2), (3)};
ListViewItem(subItems)); } (); }
catch (Exception ex) { ()); } while ()) {
每次读取一条记录都将记录中的每个字段的信息封装到string类型的数组中:
string[] subItems = new string[]{ (0).ToString(), (1), (2), (3)
接下来将subItems中的数据封装为listView的一个节点(listViewItem)并添加到listView中:
ListViewItem(subItems)); ();
至此显示联系人的功能就完成了,其他模块的代码编写与此类似,就不再重复。
五、 实验结果及结论。
(1)数据库中原有两个数据,分别为彭振东与张三的信息,我们选择修改联系人,修改张三的名字为王麻子,电话为80,,联系地址为中国,可以看到listView中张三的信息修改了,如下图所示:
注册页面:
修改信息:
(2)思考题:与二层C/S体系结构比较,三层(多层)体系结构有什么特点采用三层体系结构在设计时应该注意哪些问题
答:三层体系结构的优点:
①允许合理地划分三层结构的功能,使之在逻辑上保持相对性 ②允许更灵活有效地选用相应的平台和硬件系统
③三层C/S结构中,应用的各层可以并行开发,各层也可以选择各自最合适的开发语言。
④允许充分利用功能层有效地隔离层表示层与数据层。
⑤三层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。
六、心得体会
这次实验主要是对于三层C/S体系结构的设计和实现,在实验进行中我还是会犯一些错误,但是相对于第一次已经好很多了,在实验过程中我深刻地体会到了三层体系结构的优点,它允许合理地划分三层结构的功能,使之在逻辑上保持相对性;允许更灵活有效地选用相应的平台和硬件系统;三层C/S结构中,
应用各层可以并行开发,各层也可以选择各自最适合的开发语言;允许充分利用功能层有效地隔离表示层与数据层。并且了解了三层与两层之间的区别。三层的结构很分明。
这次实验让我学到很多,的思考问题并解决问题是锻炼我们思考的能力,而且比较学习才能发现其中的奥妙,知识的积累靠的是我们反复地推敲以及思考如何达到目标,很庆幸,我们做到了。
实验三 B/S结构应用设计(1)
一、实验目的
设计并实现一个基于B/S结构的数据库应用,熟悉B/S体系结构及其基本处理流程,了解B/S结构系统各部分所完成的功能,掌握B/S结构的数据库应用设计方法。学生通过本实验的训练能够熟练掌握对小型数据库应用系统B/S结构设计及系统实现技术。
二、实验环境
MyEclips 10、Tomcat、SQL Server 2010
三、实验内容
1、采用B/S结构实现个人通讯录系统。该系统的设计目标是能够轻松地管理个人的联系人信息,包括添加、修改和删除操作。联系人信息包括姓名、住址、电话。整个系统的功能图如下图所示:
个人通讯录 查看联系人 添加联系修改联系人 删除联系
分析系统需求,完成软件体系结构设计及模块划分、数据库设计,采用(使用C#语言)实现系统功能
四、实验操作过程
在MyEclips中新建项目:Structure_Contact。生成项目之后在src下新建包,在包中建立action类,包括:addAction、deleteAction、editAction、
mainAction、modifyAction、registerAction类主要步骤如下:
(1)建立addAction类继承ActionSupport类,主要是同于添加用户,主要
代码如下:
public String execute() throws Exception{ }
}
public int hashCode() { }
int result = 17;
result = 37 * result + (getId() == null 0 : ().hashCode()); result = 37 * result
+ (getUser() == null 0 : ().hashCode());
HttpServletRequest request = (); quals(
())))
&& (() == ()) || () != null
&& () != null && () .equals())));
return result;
(5),用于数据库中的表User和定义的属性相对应,代码如下:
个人通讯录 查看联系人\" pageEncoding=\"UTF-8\"%> <%@page import =\".*\" %> 添加联系修改联系人 删除联系 ArrayList list = (ArrayList)(\"al\"); Iterator iter = (); while()){ UserFriend userfriend = (UserFriend)(); String temp_id = ().getId()); String temp_name = ().getUser(); %> pageEncoding=\"UTF-8\"%> if you don't have account ,please click here to register. 五、实验结果及结论 (1)添加界面: (2)出错界面: (3)register界面: 六、心得体会 在这次实验过程中,我并没有用C#实现B/S体系结构的个人通讯录,而是 用的SSH三层架构实现的,同样是B/S体系结构,都是浏览器/服务器的风格,由于我们这学期在学J2EE,所以我就抱着试试看的态度尝试着开发了,虽然开发过程中遇到很多问题,不仅是技术上的,还有只是上的,不过通过这次实验让我深刻地体会了和了解了B/S体系结构,并且将我J2EE方面的知识也加强了不少,要感谢老师们精心为我们挑选和安排的这个实验,不仅锻炼了我们的动手能力,还让我们的知识库更加丰富多彩! 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务
<%name address phone add <%\"<%=()%> <%=() %> <%=() %> &id=<%=temp_id%>\">edit