软件课程设计 中期报告

软件课程设计 中期报告
软件课程设计 中期报告

华中科技大学电子科学与技术系

软件课程设计

中期进展报告

题目:学生成绩管理系统

组长:

组员:

组员:

组员:

指导老师:

目录

1.设计任务 (1)

2. 基本思路 (1)

3. 方案设计 (1)

3.1 主要算法说明 (1)

3.1.1 ADO基本介绍 (4)

3.1.2 ADO中的主要函数使用方法 (8)

3.2 程序框架设计 (11)

4. 程序的源代码 (11)

5. 调试过程中出现的问题及相应解决办法 (16)

6. 总结 (17)

参考文献 (17)

1.设计任务

我们组选的题目是:学生成绩管理系统。中期基本完成了所要求的大部分功能,可以添加、修改、删除、查找、排序,并且设计了登陆界面。但是仍然存在很多不足的地方,比如说不能保存排序得到的结果,不能新建表,使用ADO访问数据库的时候遇到了很多困难。

打开登陆界面,可以输入学号和密码登陆;添加学生信息部分可以添加和修改学生的姓名、学号、年龄、各科成绩,也可以添加班级;修改部分除了和添加部分相同的项目基本相同;查找部分可以按学号或姓名查找;排序可以按照各科成绩或学号排序;删除部分可以删除整个学生信息;“显示全部”部分可以显示全部的学生信息。

2. 基本思路

在完成本次任务的过程中,为了使用VC++实现界面可视化,我们首先自学了关于MFC的一些知识,并且了解了visual studio 2008的基本操作。并且在后续的过程中使用了ADO技术访问数据库。

由于之前我们对MFC也不太了解,所以花了一些时间学习了如何新建MFC工程,如何添加消息响应函数,如何添加对话框资源,如何添加事件处理函数,如何在控件里添加内容等等。其中最关键的是登录对话框的设计,使用ADO技术访问数据库。

3. 方案设计

3.1 主要算法说明

在对话框中主要采用了列表框控件其中主要用到的函数为GetDlgItem(),GetFirstSelectedItemPosition(),GetNextSelectedItem(),DeleteAllItems(),InsertItem(),SetItemText(),SetItemState(),具体作用见下表

GetDlgItem() 得到一个指向控件的指针

GetFirstSelectedItemPosition() 列表视图控件中获取第一个选择项的位置

GetNextSelectedItem() 返回列表视图控件中被选择的下一项的索引值

DeleteAllItems() 删除控件内的所有内容

SetItemText() 插入一行中需要显示的内容

SetItemState() 设置列表一行的状态(是否被选中)

InsertItem() 在列表中插入一行

由于在任务中使用的ADO访问数据库,所以具体的查询排序添加等等函数都不需要自己写,只需要直接调用系统的函数就可以了。主要的函数包括OnAddclass()(添加班级记录该函数还未实现),OnAddcourse()(添加课程),OnFindname()(按姓名查找),OnFindnumber()(按学号查找),OnAddstudent()(添加学生信息),OnAll()(显示全部记录),OnDelete()(删除一个记录),OnModify()(修改学生信息),OnSortage()(按年龄排序)。中间所有的操作均采用ADO提供的方法来实现。

函数名作用关键的ADO方法

OnAddstudent 添加学生信息AddNew

OnModify 修改学生信息PutCollect

OnFindName 按姓名查找Find

OnFindNumber 按学号查找Find

OnSortage 按年龄排序Open

OnDelete 删除一个记录Delete

OnAll 显示全部记录GetCollect

为了让更改能够动态在列表视图控件里动态显示,每次数据发生更改以后都需要调用CListCtrl的DeleteAllItems,然后再读取出记录集里面的内容。

例如OnModify函数的实现(只列出了部分完整的见代码的OnModify函数):

判断记录集是否已经打开

if (!(m_pRecordset->State & adStateOpen))

{

AfxMessageBox((_T("记录集未打开。")));

return;

}

获取记录集的当前位置

CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST);

POSITION pos = pListCtrl->GetFirstSelectedItemPosition();

if (pos == NULL)

{

return;

}

int nItem = pListCtrl->GetNextSelectedItem(pos);//获取当前选中的位置CModifyDlg dlg; //实例化修改对话框的对象dlg.m_Name = pListCtrl->GetItemText(nItem, 1); //获取修改前的内容

if (dlg.DoModal() != IDOK)

{

return;

}

//在响应IDOK时候文本控件的值已经被更新

m_pRecordset->MoveFirst(); //移动到第一条记录

m_pRecordset->Move((long)nItem); //移动到选中记录的位置

m_pRecordset->PutCollect(_variant_t(_T("SNAME")), //修改记录的值_variant_t(dlg.m_Name));

m_pRecordset->Update(); //更新记录集中的内容

while (!m_pRecordset->adoEOF)

{

varV alue = m_pRecordset->GetCollect(_variant_t(_T("SNAME")));

if (varV alue.vt != VT_NULL)

{

strName = varValue.bstrV al;

}

else

{

strName = _T("");

}

//刷新ListCtrl

CString strText = _T("");

strText.Format(_T("%d"), n + 1);

pListCtrl->InsertItem(n, strText);//插入一行

strText.Format(_T("%s"), strName);

pListCtrl->SetItemText(n, 1, strText); //设置一行的第一个子项的值

n++;

m_pRecordset->MoveNext();

}

return TRUE;

对程序中可能出现的算法的介绍,以及算法的实现方法。注意格式,要活用格式刷。

3.1.1 ADO基本介绍

ADO简介

微软公司的ADO (ActiveX Data Objects)是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。

使用ADO操作数据库的步骤:

(1)COM库的初始化

使用AfxOleInit()来初始化COM库,通常在CWinApp::InitInstance()的重载函数中完成。在InitInstance()函数中添加

if(!AfxOleInit()) //这就是初始化COM库

{

AfxMessageBox(L"OLE初始化出错!");

return FALSE;

}

(2)用#import指令引入ADO类型库

我们在stdafx.h中加入如下语句:

#import"c:\program files\common files\system\ado\msado15.dll"\

no_namespace\ rename("EOF", "adoEOF")

(3)创建Connection对象并连接数据库首先我们需要添加一个指向Connection对象的指针:

_ConnectionPtr m_pConnection;

_RecordsetPtr m_pRecordset;

_CommandPtr m_pCommand;

创建连接

if (!SUCCEEDED(m_pConnection.CreateInstance(__uuidof(Connection))))

{

m_pConnection = NULL;

TRACE(_T("Database CreateInstance failed"));

}

if (!SUCCEEDED(m_pRecordset.CreateInstance(__uuidof(Recordset))))

{

m_pRecordset = NULL;

TRACE(_T("Recordset CreateInstance Failed!"));

}

if (!SUCCEEDED(m_pCommand.CreateInstance(__uuidof(Command))))

{

m_pCommand = NULL;

TRACE(_T("Command CreateInstance Failed!"));

}

(4)打开记录集和数据库连接

为了方便打开数据库和记录集构造了两个函数

BOOL CMYDlg::OpenRecordset(LPCTSTR lpszSource, long nCursorType, long nLockType, long nOptions)

{

ASSERT(m_pConnection != NULL);

ASSERT(m_pRecordset != NULL);

ASSERT(lpszSource != NULL);

ASSERT(AfxIsV alidString(lpszSource));

//打开记录集

try

{

return (SUCCEEDED(m_pRecordset->Open(_variant_t(lpszSource),

m_pConnection.GetInterfacePtr(),

(CursorTypeEnum)nCursorType,

(LockTypeEnum)nLockType,

nOptions)));

}

catch(_com_error e)

{

TRACE(_T("%s\n"), e.ErrorMessage());

return FALSE;

}

}

打开数据库

BOOL CMYDlg::OpenDatabase(LPCTSTR lpszConnect, long nOptions)

{

ASSERT(m_pConnection != NULL);

ASSERT(lpszConnect != NULL);

ASSERT(AfxIsV alidString(lpszConnect));

//打开数据库连接

try

{

return SUCCEEDED(m_pConnection->Open(_bstr_t(lpszConnect),

_T(""), _T(""), nOptions));

}

catch (_com_error& e)

{

TRACE(_T("%s\n"), e.ErrorMessage());

return FALSE;

}

}

另外还有对应的关闭数据库和记录集的函数。

//打开数据库

CString strConnect = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= MY.mdb");

if (!OpenDatabase(strConnect))

{

AfxMessageBox(_T("数据库打开失败。"));

return;

}

//打开记录集

CString strSource = _T("SELECT * FROM MyTable");

if (!OpenRecordset(strSource))

{

AfxMessageBox(_T("记录集打开失败。"));

return;

}

(5)执行SQL命令

m_pCommand->put_ActiveConnection(_variant_t((IDispatch*)m_pConnection));

m_pCommand->ActiveConnection=m_pConnection;

CString strCommand= L"CREA TE TABLE Persons(Id_P int,LastName varchar(255), FirstName

varchar(255),Address varchar(255),City varchar(255))"; //使用sql命令创建新表

m_pCommand->CommandType=adCmdText;

m_pCommand->CommandText = _bstr_t(strCommand);

try

{

m_pCommand->Execute(NULL, NULL, adCmdUnknown);

}

catch (_com_error& e)

{

TRACE(_T("%s\n"), e.ErrorMessage());

return;

}

3.1.2 ADO中的主要函数使用方法

(1)Open函数

Open方法的原型是:

HRESULT Recordset15::Open ( const _variant_t & Source, const _variant_t & ActiveConnection, enum CursorTypeEnum CursorType, enum LockTypeEnum LockType, long Options )

其中:

①Source是数据查询字符串

②ActiveConnection是已经建立好的连接(我们需要用Connection对象指针来构造一个_variant_t对象)

③CursorType光标类型,它可以是以下值之一,请看这个枚举结构:

enum CursorTypeEnum

{

adOpenUnspecified = -1,

///不作特别指定

adOpenForwardOnly = 0,

///前滚静态光标。这种光标只能向前浏览记录集,比如用MoveNext向前滚动,这种方式可以提高浏览速度。但诸如BookMark,RecordCount,AbsolutePosition,AbsolutePage都不能使用

adOpenKeyset = 1,

///采用这种光标的记录集看不到其它用户的新增、删除操作,但对于更新原有记录的操作对你是可见的。

adOpenDynamic = 2,

///动态光标。所有数据库的操作都会立即在各用户记录集上反应出来。

adOpenStatic = 3

///静态光标。它为你的记录集产生一个静态备份,但其它用户的新增、删除、更新操作对你的记录集来说是不可见的。

};

④LockType锁定类型,它可以是以下值之一,请看如下枚举结构:

enum LockTypeEnum

{

adLockUnspecified = -1,

///未指定

adLockReadOnly = 1,

///只读记录集

adLockPessimistic = 2,

悲观锁定方式。数据在更新时锁定其它所有动作,这是最安全的锁定机制

adLockOptimistc = 3,

乐观锁定方式。只有在你调用Update方法时才锁定记录。在此之前仍然可以做数据的更新、插入、删除等动作

adLockBatchOptimistic = 4,

乐观分批更新。编辑时记录不会锁定,更改、插入及删除是在批处理模式下完成。};

(2)Find函数

索Recordset 中满足指定标准的记录。如果满足标准,则记录集位置设置在找到的记录上,否则位置将设置在记录集的末尾。

语法

Find (criteria, SkipRows, searchDirection, start)

参数

criteria 字符串,包含指定用于搜索的列名、比较操作符和值的语句。

SkipRows 可选,长整型值,其默认值为零,它指定当前行或start 书签的位移以开始搜索。

searchDirection 可选的SearchDirectionEnum 值,指定搜索应从当前行还是下一个有效行开始。其值可为adSearchForward 或adSearchBackward。搜索是在记录集的开始还是末尾结束由searchDirection 值决定。

start 可选,变体型书签,用作搜索的开始位置。

criteria 中的“比较操作符”可以是“>”(大于)、“<”(小于)、“=”(等于)、“>=”(大于或等于)、“<=”(小于或等于)、“<>”(不等于)或“like”(模式匹配)。

criteria 中的值可以是字符串、浮点数或者日期。字符串值以单引号分界(如“state = 'W A'”)。日期值以“#”(数字记号)分界(如“start_date > #7/22/97#”)。

如“比较操作符”为“like”,则字符串“值”可以包含“*”(某字符可出现一次或多次)或者“_”(某字符只出现一次)。(如“state like M_*”与Maine 和Massachusetts 匹配。)关于函数的使用可以在ADO使用手册里找到。这里也不再详细介绍。

3.2 程序框架设计

这一部分可以是流程图,以及对流程图的说明。注意格式,要活用格式刷。

4. 程序的源代码

这里只列出两个比较关键的函数具体的函数代码比较繁琐,见文件源代码

显示所有记录的函数Read()

BOOL CMYDlg::Read()

{

CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST);

pListCtrl->DeleteAllItems(); //删除列表空间里面的所有记录

m_pRecordset->MoveFirst();

int n = 0;

while (!m_pRecordset->adoEOF)

{

_variant_t varV alue;

CString strName = _T("");

int Age = 0 , LiangZi = 0 , ShuLi = 0 , MoDian = 0 , XinHao = 0 ,Number = 0;

varV alue = m_pRecordset->GetCollect(_variant_t(_T("SNAME"))); //获取字段的值

if (varV alue.vt != VT_NULL)

{

strName = varV alue.bstrV al;

}

else

{

strName = _T("");

varV alue = m_pRecordset->GetCollect(_variant_t(_T("AGE")));

if (varV alue.vt != VT_NULL)

{

Age = varV alue.intV al;

}

else

{

Age = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("NUMBER"))); if (varV alue.vt != VT_NULL)

{

Number = varV alue.intV al;

}

else

{

Number = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("LIANGZI"))); if (varV alue.vt != VT_NULL)

{

LiangZi = varV alue.intV al;

}

else

{

LiangZi = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("SHULI")));

if (varV alue.vt != VT_NULL)

{

ShuLi = varV alue.intV al;

}

else

{

ShuLi = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("MODIAN"))); if (varV alue.vt != VT_NULL)

{

MoDian = varV alue.intV al;

else

{

MoDian = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("XINHAO")));

if (varV alue.vt != VT_NULL)

{

XinHao = varV alue.intV al;

}

else

{

XinHao = 0;

}

//刷新ListCtrl 在列表空间上显示记录

CString strText = _T("");

strText.Format(_T("%d"), n + 1);

pListCtrl->InsertItem(n, strText);

strText.Format(_T("%s"), strName);

pListCtrl->SetItemText(n, 1, strText);

strText.Format(_T("%d"), Age);

pListCtrl->SetItemText(n, 2, strText);

strText.Format(_T("%d"), Number);

pListCtrl->SetItemText(n, 3, strText);

strText.Format(_T("%d"), LiangZi);

pListCtrl->SetItemText(n, 4, strText);

strText.Format(_T("%d"), ShuLi);

pListCtrl->SetItemText(n, 5, strText);

strText.Format(_T("%d"), MoDian);

pListCtrl->SetItemText(n, 6, strText);

strText.Format(_T("%d"), XinHao);

pListCtrl->SetItemText(n, 7, strText);

n++;

m_pRecordset->MoveNext();

}

return TRUE;

}

按照学号查找

void CMYDlg::OnFindnumber()

{

// TODO: Add your command handler code here

CFindNumberDlg dlg;

if(dlg.DoModal()!=IDOK)

return ;

//查找条件

CString strCriteria = _T("");

strCriteria.Format(_T("NUMBER like '%d'"), dlg.m_Number);

// int number = dlg.m_Number;

//查找记录集

CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST);

pListCtrl->DeleteAllItems();

if (m_pRecordset->BOF && m_pRecordset->adoEOF)

{

return;

}

m_pRecordset->MoveFirst();

int n = 0;

m_pRecordset->Find(_bstr_t(strCriteria), 0, adSearchForward); //从当前行开始向下查找while (!m_pRecordset->adoEOF)

{

_variant_t varV alue;

CString strName = _T("");

int Number = 0, Age = 0 , LiangZi = 0 , ShuLi = 0 , MoDian = 0 , XinHao = 0 ;

varV alue = m_pRecordset->GetCollect(_variant_t(_T("SNAME")));

if (varV alue.vt != VT_NULL)

{

strName = varV alue.bstrV al;

}

else

{

strName = _T("");

}

//获取记录集的内容

varV alue = m_pRecordset->GetCollect(_variant_t(_T("AGE")));

if (varV alue.vt != VT_NULL)

{

Age = varV alue.intV al;

}

else

{

Age = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("NUMBER"))); if (varV alue.vt != VT_NULL)

{

Number = varV alue.intV al;

}

else

{

Number = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("LIANGZI"))); if (varV alue.vt != VT_NULL)

{

LiangZi = varV alue.intV al;

}

else

{

LiangZi = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("SHULI")));

if (varV alue.vt != VT_NULL)

{

ShuLi = varV alue.intV al;

}

else

{

ShuLi = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("MODIAN"))); if (varV alue.vt != VT_NULL)

{

MoDian = varV alue.intV al;

}

else

{

MoDian = 0;

}

varV alue = m_pRecordset->GetCollect(_variant_t(_T("XINHAO"))); if (varV alue.vt != VT_NULL)

{

XinHao = varV alue.intV al;

}

else

{

XinHao = 0;

}

//刷新ListCtrl,在控件上显示查找得到的记录

CString strText = _T("");

strText.Format(_T("%d"), n + 1);

pListCtrl->InsertItem(n, strText);

strText.Format(_T("%s"), strName);

pListCtrl->SetItemText(n, 1, strText);

strText.Format(_T("%d"), Age);

pListCtrl->SetItemText(n, 2, strText);

strText.Format(_T("%d"), Number);

pListCtrl->SetItemText(n, 3, strText);

strText.Format(_T("%d"), LiangZi);

pListCtrl->SetItemText(n, 4, strText);

strText.Format(_T("%d"), ShuLi);

pListCtrl->SetItemText(n, 5, strText);

strText.Format(_T("%d"), MoDian);

pListCtrl->SetItemText(n, 6, strText);

strText.Format(_T("%d"), XinHao);

pListCtrl->SetItemText(n, 7, strText);

n++;

// m_pRecordset->MoveNext();

m_pRecordset->Find(_bstr_t(strCriteria), 1, adSearchForward); //跳过当前行向下查找}

}

5. 调试过程中出现的问题及相应解决办法

1,程序最初中需要的问题包括汉字使用导致的编译出现问题。

解决办法:在需要输入汉字的地方加上L,或者_T例如L"数据库未打开",_T("记录集已打开")

2,在Access中新建表格的时候输入字段错误,导致程序运行的时候出现问题。由于调试不能发现错误,所以需要自己检查,最后自己花费了很长时间检查才发现了这样的错误。

3,执行SQL语句出现错误,由于自己对于sql也不太熟悉,所以编写sql语句的时候出现了问题。后来通过自己简单学习了一点sql的知识,能够成功编写基本sql语句。

4,使用_CommandPtr指针执行sql的设置出现问题。由于我对ado的执行方法也是初次接触,所以到网上查询了好长时间最终找到了一种适合自己的方法。具体成功以后的代码见OnSortage()函数。

5,设计登录界面的时候遇到的一个很麻烦的问题,如何设置部分控件的背景为透明,使它们显示在背景图像上面而不会遮住背景。到网上搜索了并且自己尝试了很多种办法,最后发现除了需要使用SetBkMode(TRANSPARENT);设置以外还必须得勾选控件的sample才行。不过后来我自己也发现直接使用TextOut()函数也是很方便的。

6. 总结

中期实验的过程是项目的关键部分,虽然距离完成全部任务还是有一些距离,但却是项目的骨架。期间遇到了很多难以解决的困难,需要花费更多的时间到网上查找资料,阅读相关书籍。但是在调试程序的过程中,大家确实学习到了很多知识。比如说关于MFC的基本操作,比如使用ADO数据库,比如自己独立发现问题、检索资料和解决问题的能力。

其中有很多问题,在网上是可以找到答案的。但是关于MFC其实比较方便的就是msdn了,里面给出了每一个函数的十分详细具体的介绍。网上查到的资料大都是翻译的msdn。ado也有专门的说明。这些都对我们的项目进展有很大的帮助。

写代码的过程中经常会出现编译错误或者得不到自己预期的效果,其中很大部分都是由于粗心大意造成的。比如说变量名字拼写错误,把代码从一处复制粘贴的时候忘记了修改关键的部分等等。

另外,项目的大部分工作均由徐洁同学完成,小组其他成员应该多多向他学习,为项目的完成做出更多的贡献。

参考文献

【1】https://www.360docs.net/doc/3214257522.html,/tangbo6/article/details/740814vc下ado开发实践

【2】https://www.360docs.net/doc/3214257522.html,/pecoco/blog/item/e05ee5ccffd4d72bf8dc61f4.html VC中利用ADO共同实现数据库的操作

【3】《精通——Visual C++实效编程280例》作者:曲扬编著,出版社:人民邮电

出版社出版,时间:2009-5-1

【4】《VC++深入详解》作者:孙鑫,余安萍编著,出版社:电子工业出版社出版,时间:2006-6-1

电子课程设计报告

海南大学信息科学技术学院电子技术课程设计报告 设计题目: 自动换挡数字频率计 专业班级:___11级通信工程2班_____ _ 姓名:_______ ____ ________ 同组员: 学号:_____ _____ 指导教师:_______易家傅___________

目录 一、设计目的 (1) 二、设计目标 (1) 1、整体功能要求 2、系统结构要求 3、电气指标 三、方案比较 (2) 四、理论分析 (3) 1、基本原理 2、整体框图 五、单元电路设计和整体电路图 (5) 1、时基电路设计 2、闸门电路设计 3、分频器的设计 4、控制信号产生电路 5、计数、锁存、显示电路设计 6、换挡电路设计 7、量程显示电路设计 8、整体电路图 六、电路仿真结果记录及分析 (10) 七、元器件列表 (11) 八、心得体会 (11)

自动换挡型数字频率计 一、 设计目的 本次课程设计主要是配合《模拟电子技术》和《数字电子技术》理论课程而设置的一门实践性课程,起到巩固所学知识,加强综合能力,培养电路设计能力,提高实验技术,启发创新思想的效果。 二、 设计目标 1、整体功能要求 频率计主要用于测量正弦波、矩形波等周期信号的频率值。 2、系统结构要求 数字频率计的整体结构要求如图所示。图中被测信号为外部信号,送入测量电路进行处理、测量,自动换挡指的是超量程自动换高档,低量程自动换低档。 图1 系统结构图 3、电气指标 (1)被测信号波形:正弦波、矩形波。 (2)被测信号的频率范围:1Hz 999KHz ,共分为4个档位: 1Hz 档位: 1Hz~999HZ 10Hz 档位: 10Hz~9.99KHZ 100Hz 档位: 100Hz~99.9KHZ 1000Hz 档位:1KHz~999KHZ (3)测量精度:用3位数码管显示测量数据,1位数码管显示档位。测量误差 小于1%。 (4)具有自检功能,即用仪器内部的标准脉冲校准测量精度。 (5)具有自动换挡功能,即超量程能换高档,欠量程换低档。 输入信号 数字频率计 (自动换挡) 显示结果

软件工程课程设计报告人事管理系统

软件工程课程设计报告人事管理系统

软件工程课程设计 题目人事管理系统 系计算机系 专业班级软件工程(动画方向)(2)班 学生姓名贾秋洪 学号 2358069 指导教师姜青山 年 6 月 18 日 1.课程题目 人事管理系统设计 2.概述 2.1本课题的来源 A公司是一家以寿险营销为目的的寿险公司,公司员工众多业务流量大,为了方便管理,我制作了一个人事管理系统。主要经

过员工基本信息录入、修改、查询、删除以及员工考勤等方面来对员工综合考评。以便对员工发放工资进行合理分配。这样能提高领导的人事管理水平还能提高员工的积极性。经过现代计算机技术与企业管理相结合,实现人事管理系统的科学化、信息化、现代化,而且适合一般人群使用。 企业人事管理是相对企业内部员工的管理。集人员、考勤、工资、员工培训、系统功能等于一体的大型管理系统,为公司在人事管理等方面提供极大的方便。本软件是以中小型企业为背景而设计开发的,界面美观、使用方便。本系统主要以人员管理、考勤管理、统计分析管理、工资核算等,是企业人事管理必不可缺的好帮手。 2.2本课题目的、实现功能与预期成果 2.2.1目的 当前市面上流行的人事管理系统不少。可是,对于A公司来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。 2.2.2实现功能 能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方

面的工作,基本满足人事日常业务的需要。 2.2.3预期成果 所做出的人事管理系统能让A公司管理层在操作简单的前提下并有效的提高对该公司的人事管理,并经过该系统提高员工的能力。尽量使本系统做到是一个科学化、信息化、简单使用的人事管理系统。 3.系统分析 3.1系统调研 正式开发管理信息系统之前进行调研是非常必要的,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。 3.2可行性分析概述 可行性分析是在A公司的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。 可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。 可行性分析阶段的主要工作包括以下几个方面:

电子系统综合设计报告

电子系统综合设计报告 姓名: 学号: 专业: 日期:2011-4-13 南京理工大学紫金学院电光系

摘要 本次课程设计目的是设计一个简易温度控制仪,可以在四联数码管上显示测得的温度。主要分四部份电路:OP07放大电路,AD转换电路,单片机部分电路,数码管显示电路。设计文氏电桥电路,得到温度与电压的关系,通过控制电阻值改变温度。利用单片机将现在温度与预设温度进行比较,将比较结果在LED数码管上显示,同时实现现在温度与预设温度之间的切换。 关键词放大电路转换电路控制电路显示

目录 1 引言 (4) 1.1 系统设计 (4) 1.1.1 设计思路 (4) 1.1.2 总体方案设计 (4) 2 单元模块设计 (5) 2.1 各单元模块功能介绍及电路设计 (5) 2.1.1 温度传感器电路的设计 (5) 2.1.2 信号调理电路的设计 (5) 2.1.3 A/D采集电路的设计 (5) 2.1.4 单片机电路 (6) 2.1.5 键盘及显示电路的设计 (6) 2.1.6 输出控制电路的设计 (6) 2.2元器件的选择 (6) 2.3特殊器件的介绍 (7) 2.3.1 OP07A (7) 2.3.2 ADC0809 (7) 2.3.3 ULN2003 (9) 2.3.4 四联数码管(共阴) (9) 2.4各单元模块的联接 (10) 3.1开发工具及设计平台 (11) 3.1.1 Proteus特点 (11) 3.1.2 Keil特点 (11) 3.1.3 部分按键 (12) 4 系统测试 (17) 5 小结和体会 (20) 6 参考文献 (21)

1 引言 电子系统设计要求注重可行性、性能、可靠性、成本、功耗、使用方便和易维护性等。总体方案的设计与选择:由技术指标将系统功能分解为:若干子系统,形成若干单元功能模块。单元电路的设计与选择:尽量采用熟悉的电路,注重开发利用新电路、新器件。要求电路简单,工作可靠,经济实用。 1.1 系统设计 1.1.1 设计思路 本次实验基于P89L51RD2FN 的温控仪设计采用Pt100温度传感器。 1.1.2 总体方案设计 热敏电阻测温调理电路 设计要求 1.采用Pt100温度传感器,测温范围 -20℃ --100℃; 2.系统可设定温度值; 3.设定温度值与测量温度值可实时显示; 4.控温精度:±0.5℃。 设定输入 单片机 LED 显示 控制输出 双向可 控硅 继电器 控制 对象 风扇 信号调 理电路 A/D 采集 电路 加热丝 传

软件工程课程设计报告——人事管理系统

软件工程课程设计 题目人事管理系统 系计算机系 专业班级软件工程(动画方向)(2)班 学生姓名贾秋洪 学号20082358069 指导教师姜青山 2010 年6 月18 日 1.课程题目 人事管理系统设计 2.概述 2.1本课题的来源 A公司是一家以寿险营销为目的的寿险公司,公司员工众多业务流量大,为了方便管理,我制作了一个人事管理系统。主要

通过员工基本信息录入、修改、查询、删除以及员工考勤等方面来对员工综合考评。以便对员工发放工资进行合理分配。这样能提高领导的人事管理水平还能提高员工的积极性。通过现代计算机技术与企业管理相结合,实现人事管理系统的科学化、信息化、现代化,并且适合一般人群使用。 企业人事管理是相对企业内部员工的管理。集人员、考勤、工资、员工培训、系统功能等于一体的大型管理系统,为公司在人事管理等方面提供极大的方便。本软件是以中小型企业为背景而设计开发的,界面美观、使用方便。本系统主要以人员管理、考勤管理、统计分析管理、工资核算等,是企业人事管理必不可缺的好帮手。 2.2本课题目的、实现功能与预期成果 2.2.1目的 目前市面上流行的人事管理系统不少。但是,对于A公司来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统。 2.2.2实现功能 能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方

面的工作,基本满足人事日常业务的需要。 2.2.3预期成果 所做出的人事管理系统能让A公司管理层在操作简单的前提下并有效的提高对该公司的人事管理,并通过该系统提高员工的能力。尽量使本系统做到是一个科学化、信息化、简单使用的人事管理系统。 3.系统分析 3.1系统调研 正式开发管理信息系统之前进行调研是非常必要的,必要对现行系统进行详细的调查,明确用户需求,保证开发的新系统的功能与用户的要求相吻合,避免耗费大量的人力、物力、财力,新系统的开发却失败的悲剧发生。 3.2可行性分析概述 可行性分析是在A公司的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。 可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。 可行性分析阶段的主要工作包括以下几个方面:

软件工程课程设计报告范例

西安科技大学 软件工程课程设计报告 题目:图书馆管理系统 班级:软件工程** 学号: ********** 姓名: ******* 2013年1月

目录 1绪论 (1) 2 可行性研究报告 (1) 3 需求规格说明书 (4) 4 总体设计说明书 (7) 5 数据库设计说明书 (8) 6 详细设计说明书 (9) 7 系统实现 (11) 8测试分析报告 (23) 参考文献

1.绪论 1.1 选题目的及意义 随着计算机技术的快速发展,人们对用计算机代替手工管理信息的需求越来越强烈,越来越多的计算机软件如雨后春笋般的应用于人们生产生活的各个领域,为人们提供各种各样的便利。本图书馆管理系统应用软件可以有效地解决高等院校、中小学图书馆由于藏书量增大而带来的管理问题,图书馆管理员可以更好地管理学校图书馆藏书信息,学生可以更方便地享受借书还书的服务,为更有效地学习知识提供有利的保证。 对于我来说,选择这个题目作为课程设计的题目有以下两个原因:一是因为自从上大学以来,每当在图书馆借书的时候,我都会留心观察一下图书馆管理员的那台计算机上显示的内容,久而久之,就对本系统的基本流程越来越了解,做好一个软件的前提是必须对这个软件的功能和原理非常熟悉,相比别的题目,我对这个题目更加了解;二是本学期通过学习Java程序设计和Oracle数据库课程,我觉得这个题目虽然没有那么难(涉及算法的内容很少),但也不是轻而易举就能完成的,所以我想挑战一下自己,看看自己的实现能力到底怎么样,因此决定用面向对象方法学的思想,前台用Java程序设计语言编写界面,访问Oracle数据库中的数据,完成本系统。 1.2 系统概述 本系统通过JDBC-ODBC桥实现前后台数据的联系,基本上实现了一个图书馆管理系统所具备的基本功能,本系统把使用者分为三类:超级管理员、普通管理员、读者,对三种用户分别设计了各自的主界面,以便更好的实现信息的隐藏性,超级管理员可以进行这个系统所有操作;管理员只能执行超级管理员的基本功能,查看自己的信息;读者只能查看自己的信息,对自己当前借书进行挂失和续借两种操作,查询图书馆的藏书。 2.可行性研究报告 2.1 编写目的 本报告编写目的在于研究图书馆管理系统应用软件是否可行,指出本软件开发所使用的方法和手段,并对该软件前景进行分析。 本报告的预期读者是:高等院校、中小学图书馆管理人员、程序设计人员、以及对图书馆管理系统感兴趣的爱好者。 2.2 相关背景 工程名称:图书馆管理应用软件 工程产品名称:高校图书馆管理系统应用软件 工程的组织者:西安科技大学计算机学院软件工程系 产品用户:高校图书馆、中小学图书馆; 产品的生产者:西安科技大学计算机学院软件工程062班袁震; 产品设计者:西安科技大学计算机学院软件工程062班袁震; 2.3 可行性研究的前提 本图书管理系统在功能上要求完成以下基本功能: a).读者、管理员登陆;

电子系统综合设计实验报告

电子系统综合设计实验报告 所选课题:±15V直流双路可调电源 学院:信息科学与工程学院 专业班级: 学号: 学生姓名: 指导教师: 2016年06月

摘要本次设计本来是要做±15V直流双路可调电源的,但由于买不到规格为±18V的变压器,只有±15V大小的变压器,所以最后输出结果会较原本预期要小。本设计主要采用三端稳压电路设计直流稳压电源来达到双路可调的要求。最后实物模型的输出电压在±13左右波动。 1、任务需求 ⑴有+15V和-15V两路输出,误差不超过上下1.5V。(但在本次设计中,没有所需变压器,所以只能到±12.5V) ⑵在保证正常稳压的前提下,尽量减小功效。 ⑶做出实物并且可调满足需求 2、提出方案 直流可变稳压电源一般由整流变压器,整流电路,滤波器和稳压环节组成如下图a所示。 ⑴单相桥式整流 作用之后的输出波形图如下:

⑵电容滤波 作用之后的输出波形图如下: ⑶可调式三端集成稳压器是指输出电压可以连续调节的稳压器,有输出正电压的LM317三端稳压器;有输出负电压的LM337三端稳压器。在可调式三端集成稳压器中,稳压器的三个端是指输入端、输出端和调节端。 LM317的引脚图如下图所示:(LM337的2和3引脚作用与317相反)

3、详细电路图: 因为大容量电解电容C1,C2有一定的绕制电感分布电感,易引起自激振荡,形成高频干扰,所以稳压器的输入、输出端常并入瓷介质小容量电容C5,C6,C7,C8用来抵消电感效应,抑制高频干扰。 参数计算: 滤波电容计算: 变压器的次级线圈电压为15V ,当输出电流为0.5A 时,我们可以求得电路的负载为I =U /R=34Ω时,我们可以根据滤波电容的计算公式: C=т/R,来求滤波电容的取值范围,其中在电路频率为50HZ 的情况下,T 为20ms 则电容的取值范围大于600uF ,保险起见我们可以取标准值为2200uF 额定电压为50V 的点解电容。另外,由于实际电阻或电路

软件工程课程设计报告案例

网上招聘系统分析设计

目录 第一章网上招聘系统需求规格说明书.................... - 3 - 第二章软件项目的概要设计说明书. (16) 第三章网上招聘系统详细设计 (54) 第四章软件项目的编码案例说明 (67) 第五章网上招聘系统客户端系统测试计划 (74) 第六章网上招聘系统客户端系统测试设计 (78) 第八章网上招聘系统客户端系统测试报告 (95)

第一章网上招聘系统需求规格说明书 1.导言 1.1 目的 该文档是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求,是概要设计阶段的重要输入。 本文档的预期读者是: ·设计人员; ·开发人员; ·项目管理人员; ·测试人员; ·用户。 1.2 围 该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。 1.3 编写说明 HR,Human Resource(人力资源管理)的缩写。 JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。 UML,Unified Modeling Language(统模语言)的缩写,是一个标准的建模语言。 1.4 术语定义 无 1.5 引用标准 [1]《企业文档格式标准》,****************软件工程过程化组织 [2]《需求规格报告格式标准》,************软件工程过程化组织 1.6 参考资料 [1]《UML说明》,***********************软件 [2]《需求规格报告格式标准》,************公司软件工程过程化组织 1.7 版本更新信息 本文档的更新记录如表A-1所示。 表A-1 版本更新记录 修改编号修改日期修改后版本修改位置修改容概述 001 002 003 004 005 2008.9.5 2006.9.10 2006.9.15 2006.9.16 2006.10.18 0.1 0.2 0.3 0.4 1.0 全部 第3.1节 第4.1节 第5.1节 第7章 初始发布版本 增加 修改 修改 增加 2.系统定义 我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。 2.1 项目来源及背景 本项目是为某公司开发的一个网上招聘系统,由于这个公司的规模比较大,需要招聘 的员工也很多,每次招聘总能收到成千上万的简历,如何挑选合适的应聘者常常是公司比较

电子综合课程设计报告

课程设计任务书姓名学号 班级学院 课程电子技术综合 题目简易信号发生器和简易频率计 设计任 务 1.设计一个的正弦波、方波和三角波发生器: (1) 频率可调范围:2Hz—20KHz,分为4档: 2—20Hz;20—200Hz;200Hz—2KHz;2—20KHz; (2) 幅度可调范围:0—5V; (3) 可调偏置。 2.设计一个简易数字频率计: (1) 可测量信号频率范围:1~100 KHz,显示单位为Hz; (2) 输入电压幅度VPP:100mV—10V; (3) 输入信号波形:任意周期信号; (4)显示方式: 6位十进制数显示。 时间进 度第17、18周 2010.12.27-2011.1.7 星期一、二布置设计方案、预设计及验收星期三、四、五计算机仿真及仿真结果验收星期一上午发放元器件、领取工具 星期一下午焊接 星期二、三、四安装、调试、教师验收 星期周五打印图纸、写设计报告 主要参考资料1.康华光。电子技术基础数字部分(第五版)。北京:高等教育出版社,2006; 2.康华光。电子技术基础模拟部分(第五版)。北京:高等教育出版社,2006; 3.电子技术(下)实验指导书,中原工学院电子技术课程组自编,2011;

目录 一、摘要 (2) 二、设计原理 (3) 2.1 简易信号发生器的基本原理 (3) 2.2 数字频率计的基本原理 (5) 三、方案设计 (9) 四、电路仿真 (10) 4.1 简易信号发生器电路仿真 (10) 4.2 数字频率计 (15) 五、电路焊接与调试 (17) 六、心得体会 (20) 附录一:参考文献 (22) 附录二:元器件表 (23) 附录三:原理图 (28)

软件工程课程设计报告书

第一章概述 1.1系统名称 学生宿舍管理系统 1.2开发及运行环境 CPU Intel? Core(TM)i5-4210M 存4GB 硬盘空间30M以上 输入设备键盘鼠标 操作系统windows 8.0 数据库windows sql server 2005 1.3软件开发计划 2017.12.01-2017.12.04 软件需求分析 2017.12.05-2017.12.09 系统结构设计 2017.12.10-2017.12.15 软件编码及数据 库设计实现 2017.12.16-2017-12.20 软件测试 2017.12.21 软件交付

第二章需求分析 目前,各学校的宿舍管理主要依赖于人工管理,学生宿舍相关的各种信息可以通过宿舍管理系统来集中统一管理,方便的宿舍管理员对宿舍的管理,更有利于宿舍安全以及同学们的健康成长。 2.1 任务概述 宿舍管理系统为了方便管理,尽可能的实现操作简单,易学易用,主要实现以下功能: 1)系统要求用户必须输入正确的用户名和密码才能进入系统; 2)系统应该提供学生住宿情况的基本登记; 3)系统应提供人员来访登记及结束访问的详细登记; 4)系统应提供学生在校期间物品出入宿舍楼的详细情况登记; 5)系统应提供查询功能,以方便用户对学生基本信息的查询(要实现按多种条件的查询)及楼房信息的查询; 6)系统应提供增加、删除、修改用户的功能; 7)增加学生离校的物品管理制度 2.2 宿舍管理系统一层数据流图及数据字典 2.2.1 一层数据流图

图1-1 学生宿舍管理系统一层数据流图 2.2.2 数据字典 以下是图1-1数据流图的数据字典本数据字典主要定义数据4方面容: 名字:数据元素的名字,作为在数据流图中的标识符, 描述:对名字所代表的数据功能和含义加以描述 定义:对名字所代表的实际构成加以解释 位置:表示数据流的来源 名字:管理员 描述:对宿舍管理系统进行操作的人员

《电工电子技术》课程设计报告书 (1)

武汉理工大学华夏学院 信息工程课程设计报告书 课程名称电工电子技术 课程设计总评成绩 学生姓名、学号 学生专业班级 指导教师姓名 课程设计起止日期2015.6.22~2015.7.3

课程设计基本要求 课程设计是工科学生十分重要的实践教学环节,通过课程设计,培养学生综合运用先修课程的理论知识和专业技能,解决工程领域某一方面实际问题的能力。课程设计报告是科学论文写作的基础,不仅可以培养和训练学生的逻辑归纳能力、综合分析能力和文字表达能力,也是规范课程设计教学要求、反映课程设计教学水平的重要依据。为了加强课程设计教学管理,提高课程设计教学质量,特拟定如下基本要求。 1. 课程设计教学一般可分为设计项目的选题、项目设计方案论证、项目设计结果分析、答辩等4个环节,每个环节都应有一定的考核要求和考核成绩。 2. 课程设计项目的选题要符合本课程设计教学大纲的要求,该项目应能突出学生实践能力、设计能力和创新能力的培养;该项目有一定的实用性,且学生通过努力在规定的时间内是可以完成的。课程设计项目名称、目的及技术要求记录于课程设计报告书一、二项中,课程设计项目的选题考核成绩占10%左右。 3. 项目设计方案论证主要包括可行性设计方案论证、从可行性方案中确定最佳方案,实施最佳方案的软件程序、硬件电路原理图和PCB图。项目设计方案论证内容记录于课程设计报告书第三项中,项目设计方案论证主要考核设计方案的正确性、可行性和创新性,考核成绩占30%左右。 4. 项目设计结果分析主要包括项目设计与制作结果的工艺水平,项目测试性能指标的正确性和完整性,项目测试中出现故障或错误原因的分析和处理方法。项目设计结果分析记录于课程设计报告书第四项中,考核成绩占25%左右。 5. 学生在课程设计过程中应认真阅读与本课程设计项目相关的文献,培养自己的阅读兴趣和习惯,借以启发自己的思维,提高综合分和理解能力。文献阅读摘要记录于课程设计报告书第五项中,考核成绩占10%左右。 6. 答辩是课程设计中十分重要的环节,由课程设计指导教师向答辩学生提出2~3个问题,通过答辩可进一步了解学生对课程设计中理论知识和实际技能掌握的程度,以及对问题的理解、分析和判断能力。答辩考核成绩占25%左右。 7.学生应在课程设计周内认真参加项目设计的各个环节,按时完成课程设计报告书交给课程设计指导教师评阅。课程设计指导教师应认真指导学生课程设计全过程,认真评阅学生的每一份课程设计报告,给出课程设计综合评阅意见和每一个环节的评分成绩(百分制),最后将百分制评分成绩转换为五级分制(优秀、良好、中等、及格、不及格)总评成绩。 8. 课程设计报告书是实践教学水平评估的重要资料,应按课程、班级集成存档交实验室统一管理。

软件工程课程设计实验报告

重庆邮电大学 软 件 工 程 课程设计实验报告 ——网上选课系统 姓名:雷雷 学号:08500329 专业:计算机科学与技术班级:0410801 指导老师:邹洋 教室:S331-A 时间:2011-5-30~2011-6-3

一、实验题目:网上选课系统 主要功能描述:系统首先维护校内所有课程的信息;课程分为研究生、本科生;也可以分为必修、选修、辅修。用户以学号和密码登陆,系统显示用户以选的课程、用户有权选但未选的其他课程,并显示具体信息(如学分)。用户选择后,系统根据规则检查用户是否进行正确的选课(如时间冲突、跨专业选课等);如果错误提示用户改,否则修改选课数据库。最后系统应能够向管理员提供查询界面和各类报表,统计每门课的选课情况。 二、实验目的 软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。 三、实验要求 1.一人一组。 2.熟悉Rose开发环境。 3.掌握UML的基本模型元素(如角色、用例、类等)。 4.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类 图)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram(数据模型图)。 5.进行系统需求分析与系统功能模块设计,绘出系统详细的业务流程图和数据流程图, 建立完整的系统数据库的逻辑模型。 6.完成对系统的建模实现。 7.进行检查,并提交设计报告。 四、实验内容 1、系统的需求分析 学生选课系统主要满足来自两方面的需求,这两个方面分别是学生用户和管理员用户,也即是两类用户角色。 (1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等; (2)管理员用户的功能需求较为复杂,包括对学生信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。 本系统将管理员用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。

软件工程课程设计必备指导书

《软件工程》课程设计指导书 福建农林大学 计算机与信息学院 2010年12月

软件工程课程设计指导书 一、软件工程课程设计指导书适用范围 (3) 二、课程设计基本目的 (4) 三、课程设计选题方案及备选题目 (5) 四、可采用技术简介 (5) 五、课程设计过程与具体要求 (5) 六、角色分工 (8) 七、课程设计交付说明 (10) 八、主要参考文献与网址 (10) 附录A:软件工程课程设计报告格式 (13)

一、软件工程课程设计指导书适用范围 所属课程:软件工程 所属专业:计算机科学与技术、软件工程等 领域方向:软件工程与软件开发实践、网页设计与Web应用、数据库应用与电子商务、Java/.net语言及其应用等等 参考学时:2周或以上 适用学生:学习《软件工程》课程的计算机科学与技术、软件工程等专业的本科生 先修课要求:程序设计、操作系统、数据库等

二、课程设计基本目的 1.通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。 2.为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、操作系统、数据库、网络编程等)创造实践机会。为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java 开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、积极探索与大胆创新的机会。 3.使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。 4.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,网页设计技术与常见工具;基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose等;商用数据库Access(或SQL Server、Oracle、MySql等)设计与实现;客户机/服务器结构)。 5.通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等内容的学习)、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。

软件工程课程设计样本

软件工程课程设计 学校:大连交通大学 专业:软件工程 班级:072班 姓名: 学号:0701030216

目录 1总体设计 (1) 1.1本系统的主要功能描述 (1) 1.2系统包含的类及类之间的关系 (1) 1.3 Java源文件及其功能 (2) 2 详细设计 (2) 2.1主类ChangeAnimalWindow (2) 2.2类Animal (3) 2.3类 HandleMouse (4) 2.4类 AutoMoveAnimal (4) 2.5类Point (5) 3功能测试及运行效果 (6) 3.1 系统初始界面 (6) 3.2 自动演示后界面 (6) 3.3游戏成功预览界面 (7) 3.4英雄榜界面 (7) 参考文献 (7) 附录软件源程序 (8)

1总体设计 1.1本系统的主要功能描述 在科技飞速发展、知识日新月异的今天,很多人已经离不开电脑了,包括玩一些休闲小游戏,一个功能齐全的动物换位小游戏应该是很受人们喜爱的。通过图形技术,实现图片的导入。通过消息响应机制,使程序可以响应用户的鼠标操作,进行动物换位游戏的操作。 对于本系统,我们需要实现以下一些基本功能: (1) 要实现人机交互,用户可以通过鼠标来操作动物位置。 (2)在游戏成功时会出现成功提示。 (3)用户在玩游戏的时候可以在游戏界面上选择音乐播放。 (4)用户可以选择插入任意已存储的图片。 (5)具有英雄榜功能,可以查看自己的成绩。 (6)具有帮助功能,可以查看游戏规则,和不懂得选项。 1.2系统包含的类及类之间的关系 本系统共包括9个Java源文件。类之间的关系如图1-1所示。 图1-1

综合电子系统课程设计报告模板

衡阳师范学院 物理与电子信息科学系 《综合电子系统》 课程设计报告 一号黑体,居中 简易电子称的设计 小二号粗黑体,居中 班级2011级电信1班 组长 成员三号宋体,加粗 指导教师 提交日期2014年6月10 日 《综合电子系统课程设计》成绩评定表 课程设计题目:简易电子秤

第一部分设计任务 1.1 设计题目及要求 (1) 1.2 备选方案设计与比较 (2) 1.2.1 方案一 (3) 第二部分系统硬件平台的设计 2.1 总体设计方案说明 (7) 2.2单片机最小系统 (9) 2.2.1S T C89C52单片机 (10) 2.2.2时钟电路 (11) 2.2.3复位电路 (12) 2.3功能模块二(参照2.2) (13) 2.3.1模块电路及参数计算 (14)

2.3.2工作原理和功能说明 (15) 2.3.3器件说明(含结构图、管脚图、功能表等) (16) 2.4功能模块三(实际名 (17) 2.4.1模块电路及参数计算 (18) 2.4.2工作原理和功能说明 (19) 2.4.3器件说明(含结构图、管脚图、功能表等) (20) 第三部分系统软件的设计与实现 3.1主程序流程图 (21) 3.2子程序一(实际名) (22) 3.3子程序二(实际名) (23) 3.4子程序三(实际名) (24) 3.4电路仿真(实际名) (24) 3.4.1仿真软件简介 (25) 3.4.2仿真电路图 (26) 3.4.3仿真结果(附图) (27) 第四部分安装调试与性能测量 4.1电路安装 (28) (推荐附整机数码照片) 4.2系统软、硬件调试 (29) 6.2.1调试步骤及测量数据 (30) 6.2.2故障分析及处理 (31) 4.3整机性能指标测量(附数据、波形等) (32) 课程设计总结 (33) 参考文献 报告正文的排版: 1. 纸张大小及版心:统一用A4纸(21×29.7)打印,边距设为:上 2.54cm,下2.54cm,左2.2cm,右2.2cm。行距为固定值20磅。 2. 第一级标题用三号粗黑体,(段落设置)段前1行,段后1行, 3. 第二级标题用小三黑体,靠左上下空一行 4. 第三级标题用四号黑体,靠左本身不空行 5. 正文小四号字体,行距为固定值20磅 6. 图题及图中文字用5号宋体 7. 参考文献标题用三号粗黑体,居中上下空一行,参考文献正文为五号宋体

软件工程课程设计报告

软件工程课程设计报告题目:校园小商品交易系统 一、实验题目 (2) 二、实验目的 (2) 三、实验要求 (3) 四、实验内容 (3) 五、系统设计文档 (4) 5.1需求分析 (4) 5.1.1对系统综合要求 (4)

5.1.2系统的数据要求 (4) 5.2总体设计 (5) 5.2.1系统总体用例图 (5) 5.2.2商品管理用例图 (5) 5.2.3用户信息用例图 (6) 5.2.4商品交易用例图 (6) 5.3详细设计 (6) 5.3.1系统类图以及类之间关系图 (6) 5.3.2由需求分析阶段以及类之间关系的设计分析可以得到系统 对应事件流 (7) 5.3.3系统数据库表 (11) 5.3.4系统组件图 (11) 5.3.5系统部署图 (12) 六、心得体会 (13) 一、实验题目 校园小商品交易系统 二、实验目的 通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。熟练掌握软件工程面向对象建模的总体方法。

三、实验要求 1.一人一组。 2.熟悉Rose开发环境。 3.掌握UML的基本模型元素(如角色、用例、类等)。 4.熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Object diagram(对象图,Rose中没有)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)。 5.完成对系统的建模。 6.周五上机检查,并提交设计报告。 7.集中上机时间不能迟到、早退。 8.请自觉维护实验室清洁,爱护实验设备。 四、实验内容 运用UML统一建模语言建立一个校园小商品交易系统。开发软件为ROSE,最后转换为VB代码。该系统主要的基本要求和功能如下: 包含三类用户:管理员、商品发布者、普通用户、访客。 (1)向管理员提供以下功能:自身密码修改,其他用户添加删除,用户信息修改、统计。商品信息添加、修改、删除、查找、统计。 (2)向商品发布者提供以下功能:注册、登陆、注销、自身密码修改、自身信息修改。商品信息发布,自身商品信息统计。查找浏览其他商品。 (3)向一般用户提供以下功能:商品浏览、查找、获知商家联系方式,定购商品。 (4)向访客提供以下功能:商品浏览、查找、获知商家联系方式。

软件工程课程设计报告模板

《软件工程》综合设计报告 题目: 学院:信息科学与技术学院 班别:软件工程1-4班 组长:学号: 组员:学号: 组员:学号: 组员:学号: 组员:学号: 指导老师:胡德昆 完成时间: 2014-6-10 成都大学信息与科学技术学院

提要 软件工程综合设计报告是软件工程的六个实验报告文档的汇总整理,包括软件项目可行性分析报告、项目开发计划书、需求规格说明书、概要设计文档、详细设计文档、编码与测试等实验内容和文档。 项目分组完成,每个小组3-5人,按小组提交综合设计报告。成员实验分数由小组的实验成绩和组内成绩构成,组内成绩由项目组长依据组员在项目研发中的贡献给出。

目录 第一章问题定义 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3定义 (1) 1.4参考资料 (1) 第二章可行性研究 (2) 2.1.可行性方案 (2) 2.2.资源有效性 (2) 2.3.开发风险 (2) 2.4.技术 (3) 2.5.高层逻辑模型 (3) 第三章需求分析 (4) 3.1.功能识别和描述 (4) 3.2.数据流图 (4) 3.3.数据字典 (5) 3.4.简要算法 (9) 第四章总体设计 (13) 4.1.模块结构 (13) 4.2.数据结构 (13) 第五章详细设计 (14) 5.1.输入设计 (14) 5.2.输出设计 (14) 5.3.数据库设计 (15) 5.4.模块设计 (17) 5.5 界面设计 (18) 第六章编码和单元测试 (19) 6.1.编码 (19) 6.2.单元测试 (20) 6.3.测试用例 (20) 第七章综合测试 (22) 7.1.自顶向下测试方式 (22) 7.2.自底向上测试方式 (22) 第八章软件维护 (23) 8.1.改正性维护 (23) 8.2.适应性维护 (23) 8.3.完善性维护 (23) 附录:软件工程课程实验成绩表 (24)

2015年电子设计大赛综合测评题课程设计解析汇报

郑州轻工业学院 电子技术课程设计 题目: 2015年电赛测评试题 姓名:王苗龙 专业班级:电信13-01 学号: 541301030134 院(系):电子信息工程学院 指导教师:曹卫锋谢泽会 完成时间: 2015年10月 29日

郑州轻工业学院 课程设计任务书 题目 2015年电子设计大赛综合测评试题 专业电信工程13-1 学号 541301030134 姓名王苗龙 主要内容、基本要求、主要参考资料等: 主要内容 1.阅读相关科技文献。 2.学习电子制图软件的使用。 3.学会整理和总结设计文档报告。 4.学习如何查找器件手册及相关参数。 技术要求 1、使用555时基电路产生频率20kHz-50kHz连续可调,输出电压幅度为1V的方波Ⅰ; 2、使用数字电路74LS74,产生频率5kHz-10kHz连续可调,输出电压幅度为1V的方波Ⅱ; 3、使用数字电路74LS74,产生频率5kHz-10kHz连续可调,输出电压幅度峰峰值为3V的三角波; 4、产生输出频率为20kHz-30kHz连续可调,输出电压幅度峰峰值为3V的正弦波Ⅰ; 5、产生输出频率为250kHz,输出电压幅度峰峰值为8V的正弦波Ⅱ;方波、三角波和正弦波的波形应无明显失真(使用示波器测量时)。频率误差不大于5%;通带内输出电压幅度峰峰值误差不大于5%。 主要参考资料 1.何小艇,电子系统设计,浙江大学出版社,2010年8月 2.姚福安,电子电路设计与实践,山东科学技术出版社,2001年10月 3.王澄非,电路与数字逻辑设计实践,东南大学出版社,1999年10月 4.李银华,电子线路设计指导,北京航空航天大学出版社,2005年6月 5.康华光,电子技术基础,高教出版社,2006年1月 完成期限: 2015年10月30日 指导教师签章: 专业负责人签章: 2015 年 10月26日

软件工程课程设计报告完整版

软件工程课程设计报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软件工程课程设计报告 旅游信息管理系统 姓名: 学号: 专业:软件工程 班级: 14软件工程1班 指导教师: 目录 4. 1系统结构图 4. 2系统登陆流程图 (7) 4. 3系统E-R图 (8)

1.课程设计概述 系统目的 该系统主要建立一个完整的旅游网站,突出旅游特点,有美观的界面设计。主要功能: 1.用户可以对各景点相关交通方式管理与查询、酒店预订、各个景点路程与旅游方式的设计与查询、对个景点所需费用查询。 2.有一定数量旅游景点相关信息可供处理。方便游客了解景区各种相关信息,同时有利与景区管理部门的管理,加强双边的沟通与协作,以提高和改善管理水平,使游客通过对网站的浏览可以对景点有比较真实和丰富的了解,对景点本身做一个比较好的宣传和推广。 系统根据实际情况收集的资料为背景,网站中包括各个景区的基本情况介绍如:交通情况,门票价格和风景图片欣赏等,用户登陆后,都可以浏览站中的所有信息,同时可以通过系统来查询所需要的各种信息,并且可以订购门票和预约酒店以及车辆等。 管理人员登陆系统后,将各种烦琐的管理工作通过网站来管理,用最少的人力和物力提高管理水平,方便发布各种旅游信息,处理游客所遇到的各种问题,及时了解游客对旅游管理部门的意见,通过数据分析可以了解游客的基本情况和不同时期游客的变化情况,提前做出必要的准备工作。 管理人员通过系统处理各个事务,使前台的用户操作方便简单,突出旅游特点,具有美观的界面设计,保证网站安全稳定的运行。 系统任务 旅游网站管理系统主要是用于旅游管理部门和旅游公司,对旅游信息的进行发布和修改以及加强游客进行交流。 本系统是根据旅游行业的这种现状,提出解决问题的一个可行性方法:采用现代化统一的计算机网络系统,实现了旅游管理的网络化,各类信息有序地进行存储,同时采用了权限认证的方式,只有经过了系统权限认证之后,方可

软件工程课程设计报告

软件工程课程设计报告样式 山东建筑大学计算机科学与技术学院 课程设计说明书 题目:学校教材订购系统的分析和设计 课程:软件工程 院(部):计算机科学与技术学院 专业:软件测试 班级:软测143 学生姓名:冯岩 学号:20141113088 指导教师:王宜贵 完成日期:

目录 课程设计任务书 (36) 1. 系统概述 (39) 1.1业务流程描述 (39) 1.2 业务流程图..................................................................................... 错误!未定义书签。2.系统需求分析.......................................................................................... 错误!未定义书签。 2.1 系统用例模型.................................................................................. 错误!未定义书签。 2.2 系统类图模型............................................................................ 错误!未定义书签。 2.3 系统顺序图模型........................................................................ 错误!未定义书签。 3. 系统设计.................................................................................................. 错误!未定义书签。 3.1 系统结构设计................................................................................. 错误!未定义书签。 3.2 数据库概念模型设计..................................................................... 错误!未定义书签。 3.3 数据库物理模型设计..................................................................... 错误!未定义书签。 4. 系统详细设计.......................................................................................... 错误!未定义书签。 4.1学校教材订购系统界面设计.......................................................... 错误!未定义书签。 4.2 销售系统处理............................................................................... 错误!未定义书签。 4.3 输入设计....................................................................................... 错误!未定义书签。 4.4 采购系统处理............................................................................... 错误!未定义书签。 4.5 设计............................................................................................... 错误!未定义书签。 4.6 输出设计....................................................................................... 错误!未定义书签。总结 .. (43) 参考文献 (45) 课程设计指导教师评语 (46)

相关文档
最新文档