当前位置:文档之家› 南邮 软件设计 数据库 实验详细过程及报告

南邮 软件设计 数据库 实验详细过程及报告

南邮 软件设计 数据库 实验详细过程及报告
南邮 软件设计 数据库 实验详细过程及报告

2012 /2013 学年第二学期软件设计实验报告

模块名称数据库软件设计

专业

学生班级

学生学号

学生姓名

指导教师

报告内容

(正文为宋体小四)

实验一:

内容:

了解SQLserver和MySql的安装及使用;学会对企业管理器、查询分析器的使用;建立一个学生表、课程表及学生选课关联表,并用SQL语句进行相关插入、查询、删除等操作;

步骤:

1、打开企业管理器,建立一个名为10002434的数据库。

2.建立基本表:学生、课程和选课,写出DDL语句。

学生表:

INSERT INTO Student V ALUES('10001','李勇','男','20','CS');

INSERT INTO Student V ALUES('10002','刘晨','女','19','IS');

INSERT INTO Student V ALUES('10003','王敏','女','18','MA');

INSERT INTO Student V ALUES('10004','张立','男','18','IS');

INSERT INTO Student V ALUES('10005','丁雨','女','19','MA');

课程表

INSERT INTO Course VALUES('1','数据库','5','4');

INSERT INTO Course VALUES('2','数学','NULL','2');

INSERT INTO Course VALUES('3','信息系统','1','4');

INSERT INTO Course VALUES('4','操作系统','6','3');

INSERT INTO Course VALUES('5','数据结构','7','4');

INSERT INTO Course VALUES('6','数据处理','NULL','2');

INSERT INTO Course VALUES('7','PASCAL语言','6','4');

选课:

INSERT INTO SC VALUES('10001','1','92'); INSERT INTO SC VALUES('10001','2','85'); INSERT INTO SC VALUES('10002','3','88'); INSERT INTO SC VALUES('10003','2','90');

INSERT INTO SC VALUES('10003','5','75');

(3)写出向数据库中插入和修改数据的DML语句delete from sc where sno='10001'

insert into sc values('10005','4',79)

实验二:

内容:

通过odbc 桥访问数据库。通过各数据库的驱动程序访问数据库。高级语言可以是Java,c++,basace 等。用高级语言实现简单的对数据库表的插入、修改、删除以及查询操作。

#include #include

#include

#include

#include

#include

#include

SQLHENV henv = SQL_NULL_HENV;

SQLHDBC hdbc1 = SQL_NULL_HDBC;

SQLHSTMT hstmt1 = SQL_NULL_HSTMT;

//用户名,密码

RETCODE retcode;

UCHAR szDSN[SQL_MAX_DSN_LENGTH+1] = "yu",

szUID[MAXNAME] = "sa",

szAuthStr[MAXNAME] = "";

int environment(){

//1.连接数据源

//1.环境句柄

retcode = SQLAllocHandle (SQL_HANDLE_ENV, NULL, &henv); retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION,

(SQLPOINTER)SQL_OV_ODBC3,

SQL_IS_INTEGER);

//2.连接句柄

retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1); retcode = SQLConnect(hdbc1, szDSN, 4, szUID, 2, szAuthStr, 0);

//判断连接是否成功

if ( (retcode != SQL_SUCCESS) && (retcode != SQL_SUCCESS_WITH_INFO) ) {

printf("连接失败!\n");

return(1);

} else {

printf("操作成功!\n");

}

return(0);

}

int inselect(char *a,char *b)

{

printf("%s,%s",a,b);

//SQL语句

//预编译SQL语句

UCHAR pre_sql[29] = "insert into test values(?,?)";

retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1,

&hstmt1);

SQLINTEGER p = SQL_NTS;

//1预编译

SQLPrepare(hstmt1,pre_sql,29); //第三个参数与数组大小相同,而不是

数据库列相同

//2绑定参数值

SQLBindParameter(hstmt1,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,a

,0,&p);

SQLBindParameter(hstmt1,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,b

,0,&p);

//3 执行

SQLExecute(hstmt1);

printf("插入成功!\n");

return(0);

}

int search(char *a)

{

UCHAR sql2[35] = "select b from test where a = ? ";

UCHAR sql3[19] = "select b from test";

//2.创建并执行一条或多条SQL语句

/*

1.分配一个语句句柄(statement handle)

2.创建SQL语句

3.执行语句

4.销毁语句

*/

retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1);

//绑定参数方式

SQLINTEGER p = SQL_NTS;

//1.预编译

SQLPrepare(hstmt1,sql2,35); //第三个参数与数组大小相同,而不是

数据库列相同

//2.绑定参数值

SQLBindParameter(hstmt1,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,a

,0,&p);

//3.执行

SQLExecute(hstmt1);

char list[10];

SQLBindCol(hstmt1, 1, SQL_C_CHAR, list, 10, 0);

retcode= SQLFetch(hstmt1);

if(retcode==SQL_NO_DATA)

{

printf("NO data!!\n");

return 0;

}

printf("%s\n",list);

//3.检查结果记录(如果有的话)

SQLExecDirect (hstmt1,sql3,19);

SQLBindCol(hstmt1, 1, SQL_C_CHAR, list, 10, 0);

do{

retcode = SQLFetch(hstmt1);

if(retcode == SQL_NO_DATA){

break;

}

printf("%s\n",list);

}while(1);

return(0);

}

int change1(char *a,char *b)

{

printf("%s,%s",a,b);

//SQL语句

//预编译SQL语句

UCHAR pre_sql[40] = "update test set b=? where a=?";

retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1);

SQLINTEGER p = SQL_NTS;

//1预编译

SQLPrepare(hstmt1,pre_sql,40); //第三个参数与数组大小相同,而不是

数据库列相同

//2绑定参数值

SQLBindParameter(hstmt1,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,a

,0,&p);

SQLBindParameter(hstmt1,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,b

,0,&p);

//3 执行

SQLExecute(hstmt1);

printf("修改成功!\n");

return(0);

}

int inrealese()

{

SQLCloseCursor (hstmt1);

SQLFreeHandle (SQL_HANDLE_STMT, hstmt1); // 释放语句句柄 //3.断开数据源

/*

1.断开与数据源的连接.

2.释放连接句柄.

3.释放环境句柄 (如果不再需要在这个环境中作更多连接)

*/

SQLDisconnect(hdbc1);

SQLFreeHandle(SQL_HANDLE_DBC, hdbc1);

SQLFreeHandle(SQL_HANDLE_ENV, henv);

return 0;

}

int delete1(char *a)

{

printf("%s",a);

//SQL语句

//预编译SQL语句

UCHAR pre_sql[39] = "delete from test where a=?";

retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1);

SQLINTEGER p = SQL_NTS;

//1预编译

SQLPrepare(hstmt1,pre_sql,39); //第三个参数与数组大小相同,而不是

数据库列相同

//2绑定参数值

SQLBindParameter(hstmt1,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,a

,0,&p);

//3 执行

SQLExecute(hstmt1);

printf("删除成功!\n");

return(0);

}

int indicate()

{

UCHAR sql1[30]="select * from test";

retcode = SQLAllocHandle(SQL_HANDLE_STMT,hdbc1,&hstmt1);

SQLINTEGER p =SQL_NTS;

SQLExecDirect (hstmt1,sql1,30);

char list1[15],list2[15];

SQLBindCol(hstmt1, 1, SQL_C_CHAR, list1, 15, 0);

SQLBindCol(hstmt1, 2, SQL_C_CHAR, list2, 15, 0);

do{

retcode = SQLFetch(hstmt1);

if(retcode == SQL_NO_DATA){

break;

}

printf("%s %s\n",list1,list2);

}while(1);

return 0;

}

int main()

{

int tech=environment();

if(tech>0) return 0;

printf("数据修改:1.显示整个数据库;2.插入数据;3.删除数据;4.查找数据;5.修改数据;6.结束\n");

printf("请输入代号:");

int c;

scanf("%d",&c);

getchar();

char a[200],b[200];

while(c!=6)

{switch(c)

{

case 1:printf("显示整个数据信息:\n");indicate();break;

case 2:printf("请分别输入列a,列b:");gets(a);gets(b);inselect(a,b);break;

case 3:printf("请输入删除的列a:");gets(a);delete1(a);break;

case 4:printf("请输入查找的列a:");gets(a);search(a);break;

case 5:printf("请输入修改的列a,列b的值:");gets(b);gets(a);change1(a,b);break;

}

printf("请输入代号:");

scanf("%d",&c);

getchar();

}

inrealese();

return 0;

}

实验三:

借书还书管理子系统的具体功能目标如下:

(1)借书操作:用户借书后在借出图书信息表中添加用户信息及书籍信息等,并将图书信息表中的数量减1。

(2)续借操作:当用户借阅图书后,如需延长借阅日期则可使用此功能续借图书。

(3)还书操作:用户归还书籍后在借书表中删除借出信息,同时在图书信息表中将对应书籍的数量加1,便于他人借阅。并在还书表中增加借书历史的信息。

(4)逾期罚金:归还书籍时如果超过期限,规定超过一天罚0.1元钱。

(5)查询借书信息:查询借书表中读者已借的图书信息。

数据库概念设计

系统功能结构图:描述系统要实现的各个模块的功能

图1 图书管理系统功能结构图

图2 图书管理系统总体E-R图

图3 图书信息表E-R图

图书(图书编号,图书名,价格,类别名,出版社, 作者, 数量, ISBN)

图4 读者信息表E-R图

管理员(用户名,密码,权限)

2.3数据库逻辑设计

用户信息表(users):

3 图书管理系统(借书还书管理子系统)详细设计3.1登陆界面:

图6 登陆界面图

功能:提供用户登录,使用户能操作图书管理系统。

代码:

void CLoginDlg::OnLoginbr() //登录系统

{

CString str1,str2;

int suc;

if(m_uet.IsOpen())

{ //打开数据库

m_uet.Close();

}

else

{

m_uet.Open();

}

if(!m_uet.CanUpdate())

{

AfxMessageBox(_T("无法登录"));

}

else

{

GetDlgItemText(IDC_EDIT1,str1); //获得编辑框中的内容

GetDlgItemText(IDC_EDIT2,str2);

m_uet.MoveFirst();

while(!m_uet.IsEOF()){

m_uet.m_users.Replace(" ",""); //去掉空格以便于比较

m_uet.m_passwd.Replace(" ","");

if(m_uet.m_users==str1 && m_uet.m_passwd==str2) //判断用户名和密码

{

suc = 1;

break;

}

else

{

m_uet.MoveNext();

}

}

if(suc==1)

{

OnOK(); //用户名和密码正确,登录系统

}

else

{

MessageBox("用户名或密码错误,请重新输入!");

}

}

m_uet.Close();

}

void CLoginDlg::OnCancel() //退出系统

{

ExitProcess(1);

}

3.2主菜单界面:

图7 主菜单界面图

功能:主菜单界面包含图书管理系统的所有功能,具体如下:

1)用户管理模块:添加用户,删除用户,修改密码,查询用户信息。

2)读者管理模块:添加读者,删除读者,修改读者信息,查询读者信息。

3)图书管理模块:添加图书,删除图书,修改图书信息,查询图书信息。

4)借书和还书操作模块:借书操作,还书操作,续借操作,查询借书信息。借书还书子系统界面、功能及实现代码如下:

1、借书操作:

借书操作界面:

图8 借书操作界面图

借书操作功能:用户借书后在借出图书信息表中添加用户信息及书籍信息等,并将图书信息表中对应图书的数量减1。

借书操作代码:

void CLibraryView::OnBorrowsys() //响应借书操作模态对话框

{

CBorrowDlg bordlg;

bordlg.DoModal();

}

void CBorrowDlg::OnBorrow() //借书操作

{

CTime time=CTime::GetCurrentTime(); //获得系统当前时间

int m=0,suc=0,success=0; //定义变量

CString str;

if(m_jet.IsOpen()){ //打开数据库

m_jet.Close();

}

else{

m_jet.Open();

}

if(!m_jet.CanUpdate()){

AfxMessageBox(_T("不能完成借书功能!"));

}

else{

m_jet.MoveLast(); //将记录移到最后

m_jet.AddNew(); //增加新纪录

UpdateData(TRUE); //更新数据库记录

m_jet.m_reader_code = m_borrow1;

m_jet.m_book_code = m_borrow2;

str=m_jet.m_book_code;

m_jet.m_borrow_date =time;

if(time.GetMonth()==2){

m=28;

}

else

if(time.GetMonth()==4||time.GetMonth()==6||time.GetMonth()==9||time.GetMonth()= =11){

m=30;

}

else{

m=31;

}

CTimeSpan tmsp(m,0,0,0);

time = time+tmsp;

m_jet.m_return_date = time;

UpdateData(FALSE);

m_jet.Update();

m_jet.Close();

}

if(m_jbet.IsOpen()){ //打开数据库

m_jbet.Close();

}

else{

m_jbet.Open();

}

if(!m_jbet.CanUpdate()){

AfxMessageBox(_T("不能完成借书功能!"));

}

else{

m_jbet.MoveFirst();

while (!m_jbet.IsEOF()) { //判断是否到达最后一条记录

m_jbet.m_book_code.Replace(" ","");

if(m_jbet.m_book_code!=str){ //找到当前借出图书的信息

m_jbet.MoveNext();

}

软件设计过程实验报告

软件开发过程 实验一软件需求分析 一、目的和意义 对本书第二和三章的内容做进一步的掌握,写出软件需求规格说明书。为下面的实习奠定基础。 二、实习内容 xx、确定软件题目(学生可自己拟定,也可在本书附录2中选择); 2、分析软件需求以及人工模式下的工作流程; 3、编写需求规格说明书(需求规格说明书的编写要求参见本节模板参考); 4、完成形式:以文档的形式完成软件的需求规格说明书。纸张型号为A4。 三、实习指导 xx、在磁盘上建立一个软件工程实习文件夹,以自己的姓名命名。 2、提交文档的格式如下: 第一页的格式为: 软件名称:文档编号 版本号 文档名称: 项目名称: 项目负责人: 编写时间 审核时间 批准时间 开发单位 第二页之后的内容为: ●编写目的:阐明编写该文档的目的,指出读者对象 ●项目背景:项目的委托单位、开发单位、该软件系统与其他系统的关系。

●参考资料 软件需求规格说明的书写原则 ①任务概述:软硬件环境、条件和限制(软件的使用条件和限制)。 ②数据描述:输入数据、输出数据、数据库设计和建立数据词典。 ③功能需求:功能划分和功能描述 ④性能需求:数据精度、时间特性、适应性(操作方式、与其他软件的接口、开 发计划变化时,软件应具有的适应能力。)。 ⑤运行要求:用户界面、硬件接口(如:连接打印机)、软件接口(如:是否为 其他项目的子项目)、故障处理。 ⑥其他需求:可使用性、安全保密性、可维护性、可移植性等。 ●模板参考 第一页: 软件名称:教务管理软件文档编号 xxxxxx 版本号 Ver xx.xx 文档名称:需求规格说明书 项目名称:课表编排系统 项目负责人:屈艳 编写: 组 第二页之后的内容: 编写目的:编写该文档是为了分析人工状态下课表编排的工作流程,把人工模式抽象为可在计算机上处理的自动模式。便于开发小组成员对系统整体功能的认识。 项目背景:高校的课表编排一直是一个烦琐的工作,为了解决这个问题,某某高校教务处委托我们开发该软件。该软件是高校教务软件的一个子系统。该子系统与专业规划子系统和教师管理软件有一定的关系。 参 实用软件工程(第二版)北京:清华大学出版社,xxxxxx7 任务概述: 硬件环境:CPU的型号为PentiumIII以上,内存25xxM ,及其兼容机

南邮广播电视工程数字视频非线性编辑制作课程设计实验报告定稿版

南邮广播电视工程数字视频非线性编辑制作课 程设计实验报告精编 W O R D版 IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

通信与信息工程学院 2016 / 2017 学年第一学期 课程设计实验报告 模块名称数字视频非线性编辑制作 专业广播电视工程 学生班级 B130114 学生学号 学生姓名陈超 指导教师姚锡林 日期: 2016 年 11 月 21 日 摘要 本次课程设计利用软件premiere进行数字视频非线性编辑制作。本文首先就本次实验主题归纳总结电视节目制作一般流程方法,接着对此次课程设计主要软件工具进行系统介绍,主要涉及实验相关借本操作的详细阐述;接下来两大章节部分先从取材、构思角度详细分析此次课程设计所做的主题内容与规划,并以此为指导再从具体操作上分步骤、多角度实现视频序列的制作;最后对本次课程设计的体味与收获进行思考。 此次作品《再次出发》电影鉴赏是将导演约翰卡尼的一部经典音乐影视作品利用premiere软件,在制作的过程中添加了转场特效,关键帧,字幕,音频等功能,并运用多种素材,重新删减编辑,形成一部情节连贯,内容完整、主题明确的电影鉴赏短片。短片的片长时间为9分40秒,大小为720*576,AVI格式,PAL制式(48Khz)。

关键词:数字视频非线性编辑制作;premiere;视频制作;

目录 第一章电视节目制作的一般流程与方法 (1) 1.1 电视节目制作一般流程 (1) 1.1.1 前期制作流程 (1) 1.1.2 后期制作工作流程 (2) 1.2 电视节目制作的一般方法 (2) 1.2.1 ENG方式 (2) 1.2.2 EFP方式 (2) 1.2.3 ESP方式 (3) 第二章 Premiere的功能介绍及操作方法 (4) 2.1 Premiere概述 (4) 2.1.1 概述 (4) 2.1.2 基本操作界面 (4) 2.2 Premiere的基本操作 (5) 2.2.1 新建项目 (5) 2.2.2 新建序列 (6)

SQL语言的应用 南京邮电大学软件工程与数据库实验报告一

实验报告一 实验名称:SQL语言的应用 指导教师:茅苏 实验类型:验证 实验学时:4*2 实验时间:2012年9月28日 一、实验目的和要求 练习使用SQL SERVER数据库产品,熟练使用查询分析器和企业管理器; 掌握SQL语言中常用的语句:用DDL创建基本表;用DML插入、修改、删除数据;用QL查询数据等。 二、实验环境(实验设备) 硬件:个人计算机; 软件:MS SQL SERVER环境。 三、实验原理及内容 1.用SQL SERVER的企业管理器创建数据库 数据库名称:10001927db 操作步骤:1、单击左侧的SQL Server组 右键 新建SQL Server注册 下一步 在左侧的“可用的服务器”栏选中或输入CC-PC,点击中间 的添加,将CC-PC添加到右侧的“添加的服务器”栏 下一步 选中“登录时使用Windows身份认证”,然后点击下一步 选中“在 现有SQL Server组中添加SQL Server”,然后点击下一步 完 成 关闭。 2、单击左侧的SQL Server组下面可用的已注册子组里面的数据库→ 右键→新建数据库→输入数据库名称10001927db 2.用查询分析器在上一步创建的数据库中完成以下功能 (1)进入查询分析器并选择操作的数据库 操作步骤:1、开始→程序→MS SQL Server→查询分析器 确认SQL Server(s)为CC-PC 选择Windows身份认证 点击确定 2、在工具栏的下拉链表种选择名为10001927db的数据库。 (2)建立基本表:学生、课程和选课,写出DDL语句。 要求:需为每张表建立主键,其他完整性约束可自己添加。

软件项目管理课程设计实验报告精

软件项目管理课程设计报告 学院: 专业: 班级: 学号: 姓名: 指导教师: 时间:2013年 1月 目录 1、项目概述 (1) 2、工作任务 (Statement Of Work,SOW书 (1) (一整体要求 (1) (二系统逻辑模型 (2) (三系统功能描述 (3) (四应达到的技术指标和参数 .................................... 3 3、项目进度计划 .. (4) (一分解项目工作 (4) (二项目工作关系表 (5) (三项目甘特图 (6) (四网络进度计划图 (7) (五里程碑计划 ................................................ 9 4、项目规模成本估算 . (9)

(一分解项目工作 (9) (二项目规模估算表 (11) (三计算开发成本 (12) (四计算管理、质量成本 (12) (五直接成本 (12) (六计算间接成本 (12) (七计算总估算成本 (12) (八项目报价 ................................................. 13 5. 项目质量计划 .. (13) (一项目质量保证组织 (13) (二质量目标 (14) (三质量策略 (15) (四质量保证活动 (15) (五质量控制活动 (17) (六质量保证的报告途径 (17) (七记录的收集、维护和保存 ................................... 17 6、软件项目团队 . (17) (一团队组织及职责 (18) (二项目的沟通计划 ........................................... 19 7、软件项目配置管理计划 .. (19) 学校内部职工工资系统项目管理书 1、项目概述 假设学校共有教职工约 1000人, 10个行政部门和 8个系部。每个月 20日前各部门(包括系、部要将出勤情况上报人事处, 23日前人事处将出勤工资、奖金及扣款清单送财务处。财务处于每月月底将教职工的工资表做好并将数据送银行。每月初(3日前将工

南京邮电大学软件设计实验报告

软件设计报告 ( 2014 / 2015 学年第二学期) 课程名称软件设计 指导老师赵江实习时间第十八周学生姓名学号 ____学院______专业

软件设计 课程编号:B0465011C 适用专业: 班级: 一、所涉及的课程及知识点 涉及的课程:第6学期之前的专业基础课程。 知识点:专业基础课程中所学的知识点。 二、目的与任务 目的:通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。 任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及应用。

软件设计的内容 题目1:如果给出两个矩阵?? ??? ?????=136782078451220124A ,????? ?????=087654321B ,执行下面的矩阵运算命令。 (1)B A *5+和I B A +-分别是多少(其中I 为单位矩阵) (2)B A *?和B A *将分别给出什么结果,它们是否相同为什么 逻辑功能程序: function [ ] = EXP1() A=[4,12,20;12,45,78;20,78,136]; B=[1,2,3;4,5,6;7,8,0]; I=eye(3); disp('A+5*B='); disp(A+5*B); disp('A-B+I=') disp(A-B+I); disp('A.*B='); disp(A.*B) disp('A*B='); disp(A*B); End 实验过程与结果 打开matlab ,在命令窗口“Command Window ”中键入edit,启动程序编辑器。输入完整程序后利用save as 储存为M 文件,文件名为EXP1。返回主界面,

南邮课程设计实验报告

课程设计I报告 题目:课程设计 班级:44 姓名:范海霞 指导教师:黄双颖 职称: 成绩: 通达学院 2015 年 1 月 4 日

一:SPSS的安装和使用 在PC机上安装SPSS软件,打开软件: 基本统计分析功能包括描述统计和行列计算,还包括在基本分析中最受欢迎的常见统计功能,如汇总、计数、交叉分析、分类比较、描述性统计、因子分析、回归分析及聚类分析等等。具体如下: 1.数据访问、数据准备、数据管理与输出管理; 2.描述统计和探索分析:频数、描述、集中趋势和离散趋势分析、分布分析与查看、正态性检验与正态转换、均值的置信区间估计; 3.交叉表:计数;行、列和总计百分比;独立性检验;定类变量和定序变量的相关性测度; 4.二元统计:均值比较、T检验、单因素方差分析; 5.相关分析:双变量相关分析、偏相关分析、距离分析; 6.线性回归分析:自动线性建模、线性回归、Ordinal回归—PLUM、曲线估计; 7.非参数检验:单一样本检验、双重相关样本检验、K重相关样本检验、双重独立样本检验、K重独立样本检验; 8.多重响应分析:交叉表、频数表; 9.预测数值结果和区分群体:K-means聚类分析、分级聚类分析、两步聚类分析、快速聚类分析、因子分析、主成分分析、最近邻元素分析; 10. 判别分析; 11.尺度分析; 12. 报告:各种报告、记录摘要、图表功能(分类图表、条型图、线型图、面积图、高低图、箱线图、散点图、质量控制图、诊断和探测图等); 13.数据管理、数据转换与文件管理; 二.数据文件的处理 SPSS数据文件是一种结构性数据文件,由数据的结构和数据的内容两部分构成,也可以说由变量和观测两部分构成。定义一个变量至少要定义它的两个属性,即变量名和变量类型其他属性可以暂时采用系统默认值,待以后分析过程中如果有需要再对其进行设置。在spss数据编辑窗口中单击“变量视窗”标签,进入变量视窗界面,即可对变量的各个属性进行设置。 1.创建一个数据文件数据 (1)选择菜单【文件】→【新建】→【数据】新建一个数据文件,进入数据编辑窗口。窗口顶部标题为“PASW Statistics数据编辑器”。 (2)单击左下角【变量视窗】标签进入变量视图界面,根据试验的设计定义每个变量类型。

【精品实验报告】软件体系结构设计模式实验报告

【精品实验报告】软件体系结构设计模式实验报告软件体系结构 设计模式实验报告 学生姓名: 所在学院: 学生学号: 学生班级: 指导老师: 完成日期: 一、实验目的 熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括组合模式、外观模式、代理模式、观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式,并学会分析这些模式的使用效果。 二、实验内容 使用PowerDesigner和任意一种面向对象编程语言实现组合模式、外观模式、代理模式、观察者模式和策略模式,包括根据实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。 (1) 组合模式 使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、视频文件VideoFile。绘制类图并编程模拟实现。 (2) 组合模式 某教育机构组织结构如下图所示: 北京总部 教务办公室湖南分校行政办公室 教务办公室长沙教学点湘潭教学点行政办公室

教务办公室行政办公室教务办公室行政办公室 在该教育机构的OA系统中可以给各级办公室下发公文,现采用 组合模式设计该机构的组织结构,绘制相应的类图并编程模拟实现,在客户端代码中模拟下发公文。(注:可以定义一个办公室类为抽象叶子构件类,再将教务办公室和行政办公室作为其子类;可以定义一个教学机构类为抽象容器构件类,将总部、分校和教学点作为其子类。) (3) 外观模式 某系统需要提供一个文件加密模块,加密流程包括三个操作,分别是读取源文件、加密、保存加密之后的文件。读取文件和保存文件使用流来实现,这三个操作相对独立,其业务代码封装在三个不同的类中。现在需要提供一个统一的加密外观类,用户可以直接使用该加密外观类完成文件的读取、加密和保存三个操作,而不需要与每一个类进行交互,使用外观模式设计该加密模块,要求编程模拟实现。参考类图如下: reader = new FileReader();EncryptFacadecipher = new CipherMachine();writer = new FileWriter();-reader: FileReader-cipher: CipherMachine-writer: FileWriter +EncryptFacade () +fileEncrypt (String fileNameSrc,: voidString plainStr=reader.read(fileNameSrc); String fileNameDes)String

南邮单片机实验报告

南邮单片机实验报告 篇一:南邮数据库实验报告 数据库实验报告 ( XX / XX 学年第二学期)? ? 学号 姓名 指导教师 成绩 一、数据库原理第一次实验 【一】实验内容: 数据库表的建立与管理【二】、实验目的: 学习数据库及表的建立、删除、更新等操作。 注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。【三】、实验题目及其解答: 1、创建一名为‘test’的数据库; CREATE DATABASE test 2、在“test”数据库中新建一张部门表“部门”,输入列:name(char,10位),ID(char,7位),manager (char,10位)各列均不能为空值。

Solution: use test CREATE TABLE 部门 (ID CHAR(7) NOT NULL,name CHAR(10) NOT NULL,manager CHAR(10) NOT NULL) 结果: 3、在“test”数据库中新建一张员工表,命名为 “员工”。在表中输入以下各列: name(char,10位),personID(char,7位),Sex(char,7位),birthday(datetime),deptID(char,7位),各列均不能为空值。 CREATE TABLE 员工 (name CHAR(10) NOT NULL, personID CHAR(7) NOT NULL, sex CHAR(7) NOT NULL, birthday datetime NOT NULL, deptID CHAR(7) NOT NULL) 结果: 4、修改表的操作练习: 1)将‘部门’表中的列ID设为主键; 2)将‘员工’表中personID设为主键,并将deptID设置为外键,关联到‘部门’表上的‘ID’列; 3)在‘部门’表中,添加列quantity(char, 5); 4) 删除‘员工’表中的列‘sex’; 5)修改‘员工’表中列name为(varchar,8) ALTER TABLE 部门 ADD CONSTRAINT C1 PRIMARY KEY(ID) ALTER TABLE 员工ADD CONSTRAINT C2 PRIMARY

设计模式实验报告

实验一单例模式的应用 1 实验目的 1) 掌握单例模式(Singleton)的特点 2) 分析具体问题,使用单例模式进行设计。 2 实验内容和要求 很多应用项目都有配置文件,这些配置文件里面定义一些应用需要的参数数据。 通常客户端使用这个类是通过new一个AppConfig的实例来得到一个操作配置文件内容的对象。如果在系统运行中,有很多地方都需要使用配置文件的内容,系统中会同时存在多份配置文件的内容,这会严重浪费内存资源。 事实上,对于AppConfig类,在运行期间,只需要一个对象实例就够了。那么应该怎么实现呢?用C#控制台应用程序实现该单例模式。绘制该模式的UML 图。 3 实验代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AppConfig { publicclass Singleton { privatestatic Singleton instance; private Singleton() {

} publicstatic Singleton GetInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } class Program { staticvoid Main(string[] args) { Singleton singletonOne = Singleton.GetInstance(); Singleton singletonTwo = Singleton.GetInstance(); if (singletonOne.Equals(singletonTwo)) { Console.WriteLine("singletonOne 和 singletonTwo 代表的是同一个实例"); } else { Console.WriteLine("singletonOne 和 singletonTwo 代表的是不同实例"); } Console.ReadKey(); } } } 4 实验结果

电工电子实验报告-南邮课程设计

目录 第一章技术指标 (2) 1.1 系统功能要求 (2) 1.2 系统结构要求 (2) 1.3 电气指标 (2) 1.4 设计条件 (2) 第二章整体方案设计 (2) 2.1 整体方案 (2) 2.2 整体原理及方框图 (2) 第三章单元电路设计 (4) 3.1 频率控制电路设计 (4) 3.2 计数器设计(256) (5) 3.3 存储器及正弦函数表 (6) 3.4 D/A(II)正弦波产生电路 (7) 3.5幅度控制 (8) 3.6 阻抗控制 (9) 3.7整体电路图 (9) 3.7 整体元件清单(理论值) (9) 第四章测设与调整(数据) (11) 4.1 频率控制电路调测 (11) 4.2 地址计数器电路调测如下: (11) 4.3 存贮器电路调测(R=1千欧) (11) 4.4 数字幅度电路调测 (11) 4.5 波形扩展 (11) 4.6 整体指标测试 (12) 第五章设计小结 (13) 5.1电子电路课程设计的意义 (13) 5.2 设计任务完成情况 (13) 5.3 问题及改进 (13) 5.4 心得体会 (14) 附录 (15) 参考文献 (15) 主要芯片介绍: (15)

第一章技术指标 1.1 系统功能要求 数控正弦函数信号发生器的功能是,用数字电路技术产生正弦波信号。正弦波输出信号的频率和电压幅度均由数字式开关控制。 1.2 系统结构要求 数控正弦波信号发生器的结构要求如图(1)所示,其中正弦波发生器采用数字电路产生正弦信号,频率选择开关用于选择输出信号的频率,幅度选择开关用于选择输出信号电压幅度。频率选择开关和幅度选择开关均应采用数字电路。 1.3 电气指标 输出信号波形:正弦波 输出信号频率范围:1kHz~5kHz 输出信号最大电压:2.8V (峰峰值) 输出阻抗:50Ω 幅度选择档位:5档 波形可选择:方形,正弦波,三角波,斜波 输出频率最小步长:20Hz 1.4 设计条件 电源条件:+5V,-5V ?可供选择器件如下: ?型号名称及功能数量 ?DAC0832 8位D/C转换电路 2 ?MC4046 锁相电路 1 ?28C64B EEPROM存储器 1 ?T4LS393 双16进制计数器 1 ?MC4051 四模拟开关 1 ?TL084 运算放大器 1 ?8路开关双制直插式微型开关 2 ?MC4060 与晶振为频率器 1 ?CD7474 双D型触发器 3 ?CD7404 六反向器 1 ?74139 译码器 2 ?LED 二极管12 ?单开关开关 3 ?晶振32768k 1 ?其他若干电阻,电容 第二章整体方案设计 2.1 整体方案 事先对正弦波进行取样,把各个取样点的取样值存入存储器构成正弦函数表(可以存入一个周期完整信号,也可以存入半个周期或1/4周期)。通过数字频率控制电路对正弦函数表的读取,再把读出的取样值取出还原成原始的正弦信号。 2.2 整体原理及方框图

《软件课程设计》实验报告

编号:()字号 《软件课程设计》报告 班姓学级:名:号: 指导老师: 职称: 计算机科学与技术学院 二〇〇八年月

专业年级: 学生姓名: 任务下达日期: 课程设计日期: 课程设计题目:面向过程 一.需求分析 设计任务:软件课程设计任务书 题目七: 1.将输入的罗马数据化为10进制数。假设罗马数据中只使用如下7 个“基值”字母:M、D、C、L、X、V、I,分别用来表示 1000、500、100、50、10、5、1。如,罗马数据LXXXVII 表示10 进 制的87。 2.将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用 “基值”字母:M、D、C、L、X、V、I,分别用来表示 1000、500、100、50、10、5、1。 主要界面为:

输入1或2可以选择功能。 输出的形式 如上所示:当输入大写或小写的阿拉伯字母时。 程序能计算出十进制。 程序所能达到的功能 测试的数据:当输入mvii罗马数字时输出十进制 1007 当输入十进制数4535 时相应输出MMMMDXXXV。 二.概要设计 程序中主要在开头用了一个死循环来实现功能的不断循环。通过exit函数退出程序。 主程序的流程以及各程序模块之间的层次(调用)关系。

Convert1() Break; >switch(n) Default; 三.详细设计 实现概要设计中定义的数据类型和操作。以增加程序的可读性,关键算法部分 画出程序流程图。 主函数的流程图如右图示: Switch() Cin>>n Convert1() Break; Case1: Case2:; Convert2(); Break; Default; Exit(1); While(1) Main() Return 0; Main->jiemina->while(1)- Convert2() Break; Exit()

arm嵌入式课程开发试验设计报告-南京邮电大学钱晨

通信与信息工程学院2015/2016 学年第一学期课程设计实验报告 模专块名称 业 ARM 嵌入式开发 电子信息工程 学生班级学生学号学生姓名

指导教师余雪勇

实验内容 一、基本要求 在基本要求中,需要从11 个测试程序中选做8 个,以下是对8 个程序的实验过程的叙述,包括实验前的硬件连接准备、软件环境配置(串口工具、dnw、ADS、交叉编译环境等)、每个实验的关键代码以及简单分析。 1、硬件连接 用USB 线、串口线把开发板连到电脑相应的端口,再将电源线插好。 2、软件环境配置 设置串口工具SecureCRT 解压在“windows 平台开发工具包\”目录下的“SecureCRT.rar”后,即可使用SeureCRT,双击图标,打开SecureCRT,如下图所示: 点击图中红色方框图标,出现下图的设置窗口:

在 Ptotocol 里面选择 Serial,出现如下图所示的对话框,详细设置 参考下图,超级终端设置部分,不再重复。 注意:Port 选项部分根据您实际使用的端口进行配置,其他选项请一 定配置如下图所示。 配置完毕后,点击上图的“Connect”选项即可连通串口。 DNW 设置 DNW 在这里是我们的.bin 文件下载软件,可实现我们向 flash 或者内存当中烧写程序的功能。 直接双击“Windows 平台工具\DNW”目录下的DNW 软件,出现下图: (1)点击“Configuration”菜单的“Options”,出现“UART\USB

Options”配置 (2)配置如下图: 3、实验前准备 串口工具和开发板连接成功后,将选择开关打到norflash,并按一下重启键,开发板则自动按照选择从norflash 启动。此时,如果 SecureCRT 界面显示如下,则表示串口工具已经工作正常: 一般出厂光盘里面已经有许多bin 文件了,其中包括我们此处所说的 TQ2440_Test 的bin 文件。我们也可以参考以下步骤,使用ADS1.2 生成自己的“*.bin”文件。 (1)、安装ADS1.2(ARM Developer Suite v1.2,一款针对ARM 的开发套件),并使用ADS打开天嵌科技的出厂自带的测试程序。 (2)、点击compile 键进行编译,点击make 键生成我们此处所需要的“*.bin”文件生成自己的 bin 文件之后,就可以使用SecureCRT 配合dnw 来实现对bin 文件的下载了:操作步骤其实和上面烧写出厂程序一样,在此再详细叙述一下:

设计模式上机实验二实验报告

设计模式实验二 实验报告书 专业班级软件0703 学号3901070324 姓名吉亚云 指导老师伟 时间2010年4月24日 中南大学软件学院

实验二设计模式上机实验二 一、实验目的 使用PowerDesigner和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式。 二、实验内容 使用PowerDesigner和任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。 三、实验要求 1. 正确无误绘制装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式的模式结构图; 2. 使用任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,代码运行正确无误。 四、实验步骤 1. 使用PowerDesigner绘制装饰模式结构图并用面向对象编程语言实现该模式; 2. 使用PowerDesigner绘制外观模式结构图并用面向对象编程语言实现该模式; 3. 使用PowerDesigner绘制代理模式结构图并用面向对象编程语言实现该模式; 4. 使用PowerDesigner绘制职责链模式结构图并用面向对象编程语言实现该模式; 5. 使用PowerDesigner绘制命令模式结构图并用面向对象编程语言实现该模式; 6. 使用PowerDesigner绘制迭代器模式结构图并用面向对象编程语言实现该模式; 7. 使用PowerDesigner绘制观察者模式结构图并用面向对象编程语言实现该模式; 8. 使用PowerDesigner绘制状态模式结构图并用面向对象编程语言实现该模式; 9. 使用PowerDesigner绘制策略模式结构图并用面向对象编程语言实现该模式; 10. 使用PowerDesigner绘制模板方法模式结构图并用面向对象编程语言实现该模式。 五、实验报告要求 1. 提供装饰模式结构图及实现代码; 2. 提供外观模式结构图及实现代码; 3. 提供代理模式结构图及实现代码; 4. 提供职责链模式结构图及实现代码;

软件工程实验报告

1.1 实验一结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: ●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、 ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); ●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; ●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人 士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; ●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; ●读者可以通过本系统查询馆藏图书; ●读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不 准外借; ●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年 不归还图书的读者冻结其图书证; ●读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。

四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 ●本项目的参与对象有图书管理员及读者。 ●对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢 的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。 并且读者能修改个人信息。 ●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理 员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。 根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。 3.绘制数据流图、功能分析图等。

南京邮电大学软件设计VHDL实验报告

南京邮电大学软件设计VHDL实验报告

通信与信息工程学院 / 年第 2 学期 软件设计实验报告 模块名称VHDL 专业通信工程 学生班级 学生学号 学生姓名 指导教师梅中辉

设计题目 基本课题:04. 2对4译码器 综合课题:18. 奇偶校验器 任务要求 1.基本课题:设计一个2对4译码器(输入:A B 输出:Y3 Y2 Y1 Y0),真值表如图2。 2. 奇偶校验器系统的功能是对八位二进制数据及其奇偶校验位的输入进行校验,输出正确的奇、偶校验位。ODD_IN 与EVEN_IN 是控制奇校验和偶校验功能输入,IN0到IN7是七位数据及一位校验位数据输入,IN_READY 表示输入数据已经准备好,能够处理,当OUT_REQ 输入表示要求输出数据,CLK 端口用于接收时钟信号,支持系统的时钟上升沿同步。当输出端口OUT_READY 输出信号有效时,表示输出数据已经准备好,能够为下级电路使用,ODD_OUT 与EVEN_OUT 用来输出正确的奇偶校验位。上述控制端口均为高电平有效。 A B Y3 Y2 Y1 Y0 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 实验设备 及软件 1. 微型计算机 2. EDA-VHDL 开发软件 同组人员 学号及姓名 11001803 胡雪琪

参考文献 1. 张顺兴 《数字电路与系统设计》东南大学出版社 .8 2. 苗丽华《VHDL 数字电路设计教程》人民邮电出版社 .11 VHDL 课程设计题目及要求(自编资料) 3. VHDL 课程设计题目及要求(自编资料) 4. 杨晓慧 杨永健 《基于FPGA 的EDA/SOPC 技术与VHDL 》 国防工业出版社 .7 5. Peter J. Ashenden 《The VHDL Cookbook 》Dept. Computer Science University of Adelaide South Australia July, 1990 报告内容 一. 实验目的 1.掌握组合逻辑中译码器电路的设计原理。 2.能利用VHDL 语言设计一个2-4译码器。 二. 实验器件 1.微型计算机 2.EDA-VHDL 开发软件 三. 实验名称 2-4译码器 四. 题目要求概述 设计一个2对4译码器(输入:A B 输出:Y3 Y2 Y1 Y0),真值表如图 五. 系统分析 ○ 1.原理图: 分析:EN=1,Z[0]=Z[1]=Z[2]=Z[3]=1; EN=0,Z[0]=!(!A!B ),Z[1]=!(!AB),Z[2]=!(A!B),Z[3]=!AB ○ 2.设计算法: A B Y3 Y2 Y1 Y0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1

课程设计电工实践报告

新疆大学 实习(实训)报告 实习(实训)名称:电工技能实践 学院:电气工程学院 专业、班级:电气15-3班 指导教师:娄毅力报告人: 学号: 时间:2017年6月19日

1 电机的启动和点动 1.1目的要求 a.通过操作加深对电机启动原理的理解 b.能正确连线,并安全启动 1. 2线路图 电机启动电路图 主电路: (1)隔离开关QS (2)熔断器FU (3)接触器KM1的常开主触点 (4)电动机M 控制电路 (1)开关SB3、SB1和SB2 (2)接触器KM1线圈的常开辅助触点 (3)SB2的常闭触头 1.3启动原理

在定子绕组上通三相交流电,定子绕组内(结合定子铁心)就会产生旋转磁场,当磁力线切割转子绕组时,转子绕组会在电磁感应作用下产生电流,结果就形成自己的磁场。在定子磁场与转子磁场相互作用时,转子就随定子磁场旋转而转动。(电动机就启动了)电能---------磁能------电磁感应------电能------磁能。磁能与磁能相互作用。电能就转变成机械能。 1.4步骤 1)起动电动机合上三相隔离开关QS,合上开关SB3、SB1、SB2常开触点, 接触器KM1吸引线圈得电,3对常开主触点闭合,将电动机M接入电源,电动 机开始起动。 2)停止电动机断开开关SB1,SB2常开触点,接触器KM1的线圈失电,其主触点和辅助触点均断开,电动机脱离电源,停止运转。 1.5实际接线图

电机启动实物图 2 三相异步电动机的正反转 2.1目的要求 a.通过操作加深对电机启动原理的理解; b.能正确连线,并安全启动; 2.2线路图 由两条启动支路构成,且在对方支路中相互串联上彼此的常闭辅助触头,使一个接触器线圈得电吸合后另一个接触器因所串联的常闭辅助触头断开而受到制约无法得电,保证了KM1,KM2不能同时得电,从而可靠地避免了两相电源短路事故的发生,电路安全、可靠。这种在一个接触器得电动作时通过其常闭辅

软件设计模式与软件体系结构实验报告

《软件体系结构》大作业(1) 学院:软件学院 课程名称:软件体系结构 专业班级: 学生姓名:学号: 学生姓名:学号: 指导教师: 完成时间:年月日 评分表 1、叙述各小组成员完成本题目的分工协作情况。 小组中的每个成员都先理解题目要求及涉及的设计模式,并一起完成代码编写。另外,组长负责文档制作。 2、评分表 序号姓名评分是否组长 1 2 作业正文需要包括以下内容: 1、作业题目内容的详细描述。 2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的 软件体系结构名称及画出相应的体系结构图。

3、画出完成本题目所设计程序的设计类图;如还有其他图,也一并画出。 4、完成本题目所设计的程序代码。 5、程序运行的典型界面截图

1、作业题目内容的详细描述。 【作业2.1-1】例2.3为使用工厂方法模式设计的汽车保险管理应用程序实例。现在需要 扩展例2.3的设计图,添加一个名为LuxuryCarInsurance的类,并且需要编写此类和其他需要添加的类的代码,详细要求参见光盘的相应作业部分。 【作业2.1-1】在例2.4中,设计并且实现了豪华(Super)和中等(Medium)别墅(House)与公寓(Condo)的查询。要求在该设计的基础上,增加一个新的类SemiDetacher(半独立式楼宇),并且编写代码,实现相应的查询功能,详细要求参见光盘的相应作业部分。 2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的软件体系结构名称及画出相应的体系结构图。 【作业2.1-1】采用的是工厂方法模式 【作业2.1-2】采用的是抽象方法模式

软件设计实验报告

通达学院 2017/2018 学年第 1 学期 课程设计实验报告 模块名称综合软件设计 专业通信工程 学生班级141301 学生学号14130118 学生姓名陈启朋 指导教师王诚

目录 第一章在线考试系统 (1) 1.1 实验目的 (1) 1.2 实验内容 (1) 1.3.1考试登录模块设计 (1) 1.3.2管理员模块设计 (7) 1.4 实验结果 (12) 第二章学生成绩管理系统 (13) 2.1 实验目的 (13) 2.2 实验内容 (13) 2.3 实验过程 (13) 2.3.1学生成绩管理模块设计 (13) 2.3.2 公共模块设计 (18) 2.4 实验结果 (20) 总结 (21) 参考文献 (21)

第一章在线考试系统 1.1 实验目的 通过本次软件设计,使学生掌握并能熟练运用Java和mysql语言编写程序,掌握面向对象的概念,采用C/S结构,设计数据库模型,能够了解和数据库连接的方法。 1.2 实验内容 本次实验的内容是编辑生成试题库,随机生成本次考试试题,提供在先评分并保存结果;同时,管理员可以添加、修改、删除考题和考生用户。 1.3 实验过程 1.3.1考试登录模块设计 主要程序如下: package com.Exam.Index; import java.awt.Insets; import javax.swing.*; import javax.swing.GroupLayout; import https://www.doczj.com/doc/31804136.html,youtStyle; import com.Exam.bean.*;

import com.Exam.controller.ControllerFrame; import com.Exam.dao.*; public class MyLand extends javax.swing.JFrame { initComponents(); }@SuppressWarnings("unchecked") private void initComponents() { jTextField3 = new javax.swing.JTextField(); jTextField1 = new javax.swing.JTextField(); jpanel = new MyJPanel(); choicejLabel = new javax.swing.JLabel(); userChoicejComboBox = new javax.swing.JComboBox(); choicejLabel1 = new javax.swing.JLabel(); UserNameTextField = new javax.swing.JTextField(); choicejLabel2 = new javax.swing.JLabel(); PassWordjTextField = new javax.swing.JPasswordField(); enterButton = new javax.swing.JButton(); enterButton.setMargin(new Insets(2, 2, 2, 2)); resButtonjButton = new javax.swing.JButton(); resButtonjButton.setMargin(new Insets(2, 2, 2, 2)); jTextField3.setText("jTextField3"); jTextField1.setText("jTextField1"); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); choicejLabel.setText("选择用户:"); userChoicejComboBox.setModel(newjavax.swing.DefaultComboBoxModel(new String[] { "","考生", "管理员" })); setTitle("考试系统"); choicejLabel1.setText("用户名:"); UserNameTextField.setText(""); choicejLabel2.setText(" 密码:"); PassWordjTextField.setText(""); enterButton.setText("登录"); enterButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { enterButtonActionPerformed(evt); } }); resButtonjButton.setText("重置"); resButtonjButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

相关主题
文本预览
相关文档 最新文档