软件工程.docx

上传人:b****3 文档编号:4386687 上传时间:2022-12-01 格式:DOCX 页数:15 大小:131.97KB
下载 相关 举报
软件工程.docx_第1页
第1页 / 共15页
软件工程.docx_第2页
第2页 / 共15页
软件工程.docx_第3页
第3页 / 共15页
软件工程.docx_第4页
第4页 / 共15页
软件工程.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

软件工程.docx

《软件工程.docx》由会员分享,可在线阅读,更多相关《软件工程.docx(15页珍藏版)》请在冰豆网上搜索。

软件工程.docx

软件工程

软件工程实验报告

姓名:

董建伟学号:

3080702239

实验题目:

实验室设备管理系统

1、系统简介:

在进行计算机管理之前的实验室设备管理,完全依靠人工完成,没有统一的管理利用率低下,浪费了许多人力,找造成许多不必要的损失,计算机管理急需进行。

我校的实验设备管理还处于较原始的人工管理阶段,随着计算机技术的发展利用计算机管理我校的实验室设备势在必行。

实验室设备管理系统的目的是对学校的设备进行全面的管理,以便于对设备的使用情况进行统计,更新,同时节省开支,实现对资源的合理利用。

此系统利用计算机实现,节约了大量物力,人力,财力。

合理分配资源,提高了工作效率,对设备的管理,维修,报废等都有了进一步的提高。

2、技术要求及限定条件:

应用了简单的开发软件,结合数据库实现对设备的管理,系统技术要求不高,一般的学校都可以实现。

一:

可行性分析

1、技术可行性分析

当前的科技水平完全可以支持此系统的开发,系统可以投入到生产中。

系统要求的技术水平并不是太高,开发的算法简单易行。

开发所需的技术存在的风险较低。

开发人员可以比较容易的实现系统,工作可以运用到实际中。

2、经济可行性分析

系统所需的成本较低,开发简单,开发工具和所需设备都比较简单,对经济的要求不高。

系统的维护也比较简单,对开发人员的要求也不是太高,相对而言开发可以实现,并且节约了许多资源。

3、系统可选择的开发方案

开发方案A:

基于MicrosoftVisualStudio2008及SQLServer2000数据库平台开发

开发方案B:

基于Eclipse及MySQL5.0平台开发

方案A以小型数据库管理系统为后台数据库,该前台与数据分离,能实现多层应用系统,系统对硬件设备的要求剧中,特别适合在网络环境下使用,操作方便。

而且此方案中用户界面可以直接通过拖动,无需通过代码实现,从而提高了效率。

方案B以数据库管理系统为后台数据库,同样能实现多层应用系统,虽然用户界面需通过代码来实现,但快捷键的提示大大减轻我们的工作负担。

二种方案都可实现系统目标,但实现的方式、成本、工期不同。

通过比较从技术可行性,,经济可行性,操作可行性,社会因素可行性分析方案A更高效,简捷,选择方案A。

 

二:

软件需求分析

1.软件系统需求基本描述:

1.背景描述

实验室设备管理系统主要用于实验室设备的管理,通过利用计算机提高管理的效率,节约成本,合理充分的利用资源。

本管理系统通过计算机对实验设备进行自动管理,设备管理员可以直接在计算机实现实验设备的信息管理,并在一定程度上实现自动化,改善了工作运行效率和效果。

2.功能分析

(1)、对于已彻底损坏的作报废处理,同时详细记录有关信息。

(2)、对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等。

(3)、对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。

新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。

(4)、设备管理员可以查询信息,对设备进行管理。

(5)、随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段查询。

2.软件系统数据流图(由加工、数据流、文件、源点和终点四种元素组成):

(1)第0层数据流图

(2)第1层数据流图

(3)第2层数据流图

3.软件系统数据字典:

1、数据流条目

(1)登陆信息

输入:

设备管理员

输出:

身份验证

描述:

登陆信息=用户名+密码+登陆权限

(2)查询信息

输入:

合法人员对设备的查询操作

输出:

设备信息表

描述:

查询信息=设备名/型号/类别/购置日期

(3)维修信息

输入:

所需维修设备的信息

输出:

确定维修设备的记录

描述:

维修信息=设备名+修理日期+修理厂家+修理费+负责人

(4)购买设备

输入:

购买设备的信息

输出:

确定购买的新设备的记录

描述:

新设备=类别+设备名+型号+规格+单价+数量等

(5)报废设备

输入:

所需报废的设备的信息

输出:

报废的设备记录

描述:

报废设备=类别+设备名+型号等

(6)审核信息

输入:

审核

输出:

上级领导

描述:

审核信息=报废设备信息/新设备购买记录

2、加工条目

身份验证,统计查询,维修,购买,报废,生产报表,审核

3、文件条目

(1)登陆表

输入:

身份验证

输出:

身份验证

数据结构:

用户名+密码+登陆权限

(2)设备信息表

输入:

统计查询

数据结构:

类别+设备名+型号+规格等

(3)维修记录表

输入:

统计查询,维修

输出:

统计查询

数据结构:

设备名+修理日期+修理厂家+修理费+责任人等

(4)新设备表

输入:

统计查询,购买

输出:

统计查询

数据结构:

类别+设备名+型号+规格+单价+数量+生产厂家+购买人等

(5)报废记录表

输入:

报废,统计查询,生产报表

输出:

统计查询,生产报表

数据结构:

类别+设备名+型号等

(6)申请表

输入:

统计查询,生产报表

输出:

统计查询,生产报表,购买

数据结构:

设备名+型号+规格+数量+负责人

 

4.E-R图

三:

软件设计

1.软件系统模块结构图

2.软件系统数据设计(数据库的表)

登陆表

列名

数据类型

长度

允许空

用户名

varchar

50

notnull

密码

varchar

50

notnull

登陆权限

char

10

notnull

设备信息表

列名

数据类型

长度

允许空

设备型号

varchar

10

notnull

设备名

varchar

20

notnull

规格

varchar

10

notnull

单价

float

8

null

购买日期

datetime

8

null

生产厂家

varchar

20

null

购买人

varchar

10

null

数量

Int

4

null

维修记录表

列名

数据类型

长度

允许空列名

设备型号

varchar

10

notnull

设备名

varchar

20

notnull

维修日期

datetime

8

null

维修厂家

varchar

30

null

维修费用

float

8

null

责任人

varchar

10

null

报废记录表

列名

数据类型

长度

允许空

设备型号

varchar

10

notnull

设备名

varchar

20

notnull

报废日期

datetime

8

null

责任人

varchar

10

null

申请表

列名

数据类型

长度

允许空

设备名

varchar

10

notnull

日期

Datatime

8

notnull

规格

varchar

10

notnull

数量

int

4

null

申请人

Varchar

10

Null

新设备表

列名

数据类型

长度

允许空

设备型号

varchar

10

notnull

设备名

varchar

20

notnull

规格

varchar

10

notnull

单价

float

8

null

购买日期

datetime

8

null

生产厂家

varchar

20

null

购买人

varchar

10

null

数量

Int

4

null

3.软件系统其中的3个模块的详细设计:

1.上级领导操作功能

2.设备管理员操作

3.系统功能

四:

软件编码

1.软件系统的编码:

namespaceWindowsApplication1

{

publicpartialclass登录页面:

Form

{

public登录页面()

{

InitializeComponent();

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

textBox2.Text="";

textBox1.Text="";

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(textBox2.Text!

=null&&textBox1.Text!

=null&&textBox2.Text.Equals("admin"))

{

SqlConnectionsqlcn=newSqlConnection();

sqlcn.ConnectionString=connectionString;

SqlCommandobjcmd=newSqlCommand("login",sqlcn);

objcmd.CommandType=CommandType.StoredProcedure;

SqlParameterparname=newSqlParameter("@name",SqlDbType.VarChar,50);

parname.Value=textBox2.Text;

objcmd.Parameters.Add(parname);

SqlParameterparmima=newSqlParameter("@pass",SqlDbType.VarChar,50);

parmima.Value=textBox1.Text;

objcmd.Parameters.Add(parmima);

objcmd.Connection.Open();

SqlDataReaderdr=objcmd.ExecuteReader();

if(dr.Read())

{

Hide();

f.Show();

}

else

{

MessageBox.Show("用户名或密码输入错误!

");

}

dr.Close();

objcmd.Connection.Close();

}

elseif(textBox2.Text!

=null&&textBox1.Text!

=null)

{

SqlConnectionsqlcn=newSqlConnection();

sqlcn.ConnectionString=connectionString;

SqlCommandobjcmd=newSqlCommand("login",sqlcn);

objcmd.CommandType=CommandType.StoredProcedure;

SqlParameterparname=newSqlParameter("@name",SqlDbType.VarChar,50);

parname.Value=textBox2.Text;

//Console.WriteLine(name1);

objcmd.Parameters.Add(parname);

SqlParameterparmima=newSqlParameter("@pass",SqlDbType.VarChar,50);

parmima.Value=textBox1.Text;

objcmd.Parameters.Add(parmima);

objcmd.Connection.Open();

SqlDataReaderdr=objcmd.ExecuteReader();

if(dr.Read())

{

Hide();

主菜单图f=new主菜单图();

f.Show();

}

dr.Close();

objcmd.Connection.Close();

}

else

{

MessageBox.Show("用户名或密码不能为空!

");

}

}

}

}

namespaceWindowsApplication1

{

publicpartialclass主菜单图:

Form

{

public主菜单图()

{

InitializeComponent();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

this.Hide();

设备查询a=new设备查询();

a.Show();

}

 

privatevoidbutton2_Click(objectsender,EventArgse)

{

this.Hide();

设备申请a=new设备申请();

a.Show();

}

privatevoidbutton6_Click(objectsender,EventArgse)

{

this.Hide();

维修记录a=new维修记录();

a.Show();

}

}

}

namespaceWindowsApplication1

{

publicpartialclass维修查询:

Form

{

public维修查询()

{

InitializeComponent();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

SqlParameterparkcmc=newSqlParameter("@kcmc",SqlDbType.VarChar,50);

parkcmc.Value=t1.Text;

objcmd.Parameters.Add(parkcmc);

SqlParameterparcbs=newSqlParameter("@cbs",SqlDbType.VarChar,50);

parcbs.Value=t2.Text;

objcmd.Parameters.Add(parcbs);

SqlParameterparjcdm=newSqlParameter("@jcdm",SqlDbType.VarChar,50);

parjcdm.Value=t3.Text;}

}

}

}

objcmd1.Parameters.Add(parzy);

SqlDataReadersd=objcmd1.ExecuteReader();

sd.Close();

objcmd1.Connection.Close();

MessageBox.Show("录入成功!

");

t1.Text="";

t2.Text="";

t3.Text="";

this.Hide();

主菜单图a=new主菜单图();

a.Show();

}

}

}

2.主要功能运行界面

五:

实验小结

1、实验内容总结

实验开发的是一个实验室设备管理系统,系统开发用到了数据库和MicrosoftVisualStudio2008开发工具。

要求实现对设备的查询。

维修,报废,申请购买的功能。

同时用户可以进行一定的操作。

上级领导对申请可以进行批准等操作。

经过几周的开发,实现了几大功能,同时也具有许多的不足,在数据库的应用上有待提高。

系统分成三个模块:

系统功能模块,设备管理员操作模块和上级领导模块,每个模块再细分成具体的操作模块。

设计系统E-R图建立关系数据表。

软件编码阶段设计系统功能界面,并添加相应的代码,与数据库相连接,实现系统功能。

软件测试与调试时,将要测试的数据输入到相应的功能界面,测试本系统能否正常实现相应的功能,并及时进行相应的改进。

2、心得体会

通过实验对软件工程真门课有了更深入的了解,对软件开发的流程更加的熟悉。

本系统是一个管理实验室设备的系统,比较简单,对开发水平要求不高。

通过对本实验室设备管理系统的设计,使我认识到软件开发的过程实际上就是描述现实世界的过程。

而由现实世界向软件模型的转化过程是其中最核心的过程。

在课程设计的过程中我们遇到了许多问题,如在需求分析阶段不能完全正确的把握住系统的功能描述,设计数据流图时出现了很大的问题,在与同学讨论过程中,解决了这些问题。

本次实验是一个很好的实践过程,不仅熟悉了软件开发的流程,也对自己的开发水平有一个了解,找到了自己的不足,为以后的提高打下了基础。

让我从整体的程序开发到具体软件的设计都有了一个全面的掌握,为我即将从事的工作打下了一个坚实的基础!

该系统还有许多不尽人意的地方,用户界面设计不够美观,在真正实现数据库时候为了读取与写入方便将类型全部设为varchar型等等,由于时间的仓促和能力限制这些都有待进一步改善。

但本次实验提高了我实际操作能力,从以前的理论上升到实践,从感性认识上升到理性认识,真正做到学有所用。

实验让我知道只有通过自己的实践才能找到自己的不足,才能更好的提高自己,开发不是一朝一夕的事情,是一个积累的过程,只有不断的努力实践,才能真正的提高自己。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1