软件工程的实验报告.docx

上传人:b****5 文档编号:11625380 上传时间:2023-03-29 格式:DOCX 页数:16 大小:360.11KB
下载 相关 举报
软件工程的实验报告.docx_第1页
第1页 / 共16页
软件工程的实验报告.docx_第2页
第2页 / 共16页
软件工程的实验报告.docx_第3页
第3页 / 共16页
软件工程的实验报告.docx_第4页
第4页 / 共16页
软件工程的实验报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

软件工程的实验报告.docx

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

软件工程的实验报告.docx

软件工程的实验报告

1.1实验一结构化需求分析

一.实验类型

图书馆管理系统

假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能:

●图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息);

●管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录;

●图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息;

●图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录;

●读者可以通过本系统查询馆藏图书;

●读者可以通过本系统借阅读书。

但对于孤本图书或在馆数量为1的图书则不准外借;

●管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证;

●读者可以通地本系统归还图书。

如果图书超期,则自动计算罚款金额。

二.实验目的

1.掌握数据流的分析技术

2.掌握软件需求分析的过程和方法。

3.熟悉项目开发计划和需求规格说明书的制定方法。

三.实验内容和要求

1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。

2.正确运用图表工具进行表示。

3.按规范正确编写软件文档。

四.实验步骤

1.理解所承担项目的业务流程和业务内容。

本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。

能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。

并且规模小,很容易进行推广。

●本项目的参与对象有图书管理员及读者。

●对于读者,能通过该软件浏览馆藏的所有图书。

读者在图书馆找到自己喜欢的书后,能自行通过该软件操作完成借阅操作。

若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。

读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。

在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。

并且读者能修改个人信息。

●对于图书管理员,能管理自己和比自己低一级管理权限的管理员。

一级管理员能完成维护管理员的基本信息和二级管理员的一切操作。

二级管理员则能维护自己的信息和添加读者、添加图书的功能。

管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证;

2.按照系统的功能及性能要求,系统的作业范围等,确定软件系统的开发环境(操作系统、开发工具、程序设计语言等)。

根据软件编程经验,本系统将采用面向对象的设计方法,使用Eclipse开发工具,java窗体应用程序,操作系统使用Win8。

3.绘制数据流图、功能分析图等。

 

0层数据流图:

4.编写数据字典、数据加工处理的描述等。

数据字典(数据字典卡片形式):

 

5.阅读相关的软件开发的标准文档。

6.编写需求规格说明书。

1.2实验二结构化软件设计

一.实验类型

设计性(总体设计)

二.实验目的

1.掌握结构化软件设计的过程和方法。

2.掌握设计说明书的编写。

三.实验内容和要求

1.在需求分析的基础上,用结构化软件设计方法进行系统设计,给出系统合理的体系结构。

2.完成数据设计、软件结构设计、接口设计及过程设计。

过程设计:

可以参看系统体系结构,对整个系统运行的状态都有详细的描述,不再赘述。

3.正确运用图表工具进行表示,如层次图、HIPO图、结构图、N—S图、PAD图、判定表及伪码等描述方式。

4.按规范正确编写软件文档。

四.实验步骤

1.分析数据流特性,确定流类型(变换流/事务流),进行系统结构设计。

2.处理过程设计(Jackson方法)。

由Jackson方法的处理过程如下:

 

(一)读者检索图书的输入输出数据结构的Jackson图

(二)读者借阅图书的输入输出数据结构的Jackson图

(三)读者归还图书的输入输出数据结构的Jackson图

3.界面设计。

登陆界面:

学生用户界面:

 

学生图书查询界面:

借阅图书界面:

还书界面:

4.存储文件格式设计(数据库结构设计)。

5.阅读相关的软件开发标准文档。

6.编写设计说明书(概要设计说明书或详细设计说明书)。

1.3实验三面向对象的软件分析

一.实验类型

设计性实验

二.实验目的

掌握面向对象的软件分析方法

三.实验内容和要求

1.用面向对象的分析方法进行软件系统需求分析,得出系统的分析模型(对象模型、动态模型、功能模型)。

2.正确运用图表工具进行表示。

3.按规范正确编写软件文档。

四.实验步骤

1.建立问题域的对象模型,确定类与对象、确定关联、确定属性等。

(用对象图表示)

2.建立动态模型,定义行为、过程和事件。

(用顺序图、协作图、状态图、活动图等表示)

主要活动描述如下

读者借书

顺序图

活动图:

 

图书的状态图:

3.建立功能模型,表明系统内的数据如何由输入值得到输出值。

(用数据流图表示)

4.编写分析文档。

 

1.4实验四软件编码与测试

一.实验类型

设计性实验

二.实验目的

1.掌握软件测试的过程和方法。

2.掌握测试用例的设计方法。

3.熟悉测试计划说明书、测试记录与分析报告的编写。

三.实验内容和要求

1.用程序设计所规定的编程语言,编写一段代码实现软件需求给出的一个功能。

每个小组至少有两个功能模块。

2.根据前面实验中完成的软件项目进行相应软件测试,制定测试计划、设计测试用例,特别是一些异常情况的处理。

3.模块的动态测试以黑盒法为主,辅以白盒法。

重要执行路径的测试使用白盒法。

白盒法必须先列出所有判定,再选择覆盖标准,根据不同的覆盖标准所列出的情况,设计测试用例。

4.集成测试重点测试模块的接口部分,要求保留测试过程所设计的驱动模块或桩模块。

5.应根据需求规格说明书所确定的系统功能和性能设计测试用例。

6.阅读相关的软件开发标准文档,正确编写测试计划、测试记录与分析报告。

四.实验步骤

1.编写一段代码实现软件项目的一个功能。

2.制定测试计划,设计软件项目相应的测试用例。

3.测试数据,调试运行策略。

4.编写测试记录与分析报告。

5.完成实验报告。

 

附主要代码:

(主要是与数据库相关代码)

(一):

注册文件

JDBC_DRIVER=com.mysql.jdbc.Driver

DB_URL=jdbc:

mysql:

//localhost:

3306/LibraryManageSystem

DB_USER=root

DB_PASSWORD=mysql123

(二):

解析注册文件

publicclassPropertyReader{

staticprivatePropertiesps;

static{

ps=newProperties();

try{

//db.conf与PropertyReader.class位于同一目录下

InputStreamin=PropertyReader.class.getResourceAsStream("db.conf.txt");

ps.load(in);//载入属性

in.close();

}catch(IOExceptione){

e.printStackTrace();

}

}

publicstaticStringget(Stringkey){//读取属性

return(String)ps.getProperty(key);

}

}

(三):

获取数据库的Connection

publicclassConnectionProvider{

privateStringJDBC_DRIVER;

privateStringDB_URL;

privateStringDB_USER;

privateStringDB_PASSWORD;

publicConnectionProvider(){

JDBC_DRIVER=PropertyReader.get("JDBC_DRIVER");

DB_URL=PropertyReader.get("DB_URL");

DB_USER=PropertyReader.get("DB_USER");

DB_PASSWORD=PropertyReader.get("DB_PASSWORD");

try{

Class.forName(JDBC_DRIVER);

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

}

publicConnectiongetConnection(){

Connectioncon=null;

try{

con=DriverManager.getConnection(DB_URL,DB_USER,DB_PASSWORD);

}catch(SQLExceptione){

e.printStackTrace();

}

returncon;

}

}

(四):

增,删,改,查等操作(以查询为例,其他类似)

publicBookgetBook(Stringid)throwsSQLException{//返回用户信息

Connectioncon=null;

PreparedStatementpstmt=null;

Bookbook=newBook();

con=provider.getConnection();

Stringsql="select*fromBookwhereID=?

";

pstmt=con.prepareStatement(sql);

pstmt.setString(1,id);

ResultSetrs=pstmt.executeQuery();

while(rs.next()){

book.setID(rs.getString("ID"));

book.setAuthor(rs.getString("Author"));

book.setName(rs.getString("Name"));

book.setDate(rs.getString("Date"));

book.setPrice(rs.getString("Price"));

book.setIntro(rs.getString("intro"));

}

closeResultSet(rs);

closeStatement(pstmt);

closeConnection(con);

returnbook;

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

当前位置:首页 > 求职职场 > 简历

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

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