收藏 分销(赏)

软件工程实验报告.docx

上传人:丰**** 文档编号:3891541 上传时间:2024-07-23 格式:DOCX 页数:15 大小:417.24KB 下载积分:8 金币
下载 相关 举报
软件工程实验报告.docx_第1页
第1页 / 共15页
软件工程实验报告.docx_第2页
第2页 / 共15页


点击查看更多>>
资源描述
1.1 实验一 结构化需求分析 一.实验类型 图书馆管理系统 假定校图书馆需要你设计一个图书馆管理系统,要求包括以下功能: l 图书管理员可以管理馆藏图书,包括每本图书的藏书编号、书名、编著者、ISBN号、出版社、出版时间、入馆时间、馆藏数量(如果馆藏数量为1,则标明为孤本图书)、在馆数量、学科类别等(或其它你认为有用的信息); l 管理员可以查询、统计所有图书、每一类图书或每一本书的借阅记录; l 图书管理员可以管理所有读者的信息,包括读者类型(学生、教师、社会人士)、姓名、图书证编号、办证时间、证件状态(正常、挂失、冻结)等信息; l 图书管理员可以查询和统计所有读者、每一类读者或每一个读者的借阅记录; l 读者可以通过本系统查询馆藏图书; l 读者可以通过本系统借阅读书。但对于孤本图书或在馆数量为1的图书则不准外借; l 管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; l 读者可以通地本系统归还图书。如果图书超期,则自动计算罚款金额。 二.实验目的 1.掌握数据流的分析技术 2.掌握软件需求分析的过程和方法。 3.熟悉项目开发计划和需求规格说明书的制定方法。 三.实验内容和要求 1.用结构化数据流分析技术进行软件系统需求分析,得出系统的数据流图和数据字典。 2.正确运用图表工具进行表示。 3.按规范正确编写软件文档。 四.实验步骤 1.理解所承担项目的业务流程和业务内容。 本软件项目是面向中小型学校、单位机构对于图书管理的基于服务的一款便捷式软件。能满足一系列常用图书管理的功能模块,提供简介、准确的操作性,可以很大程度减少人为因素带来的数据错误,统计错误,系统逻辑错误。并且规模小,很容易进行推广。 l 本项目的参与对象有图书管理员及读者。 l 对于读者,能通过该软件浏览馆藏的所有图书。读者在图书馆找到自己喜欢的书后,能自行通过该软件操作完成借阅操作。若读者是第一次借书,必须通过图书管理员进行添加读者记录,登记读者信息。读者在登陆后方能完成借阅操作,对于孤本图书(即图书馆中馆藏只有一本的图书)则拒绝进行借阅操作。在规定期限内,读者可以通过该软件完成还书操作,对于超期的图书,应将扣除一定罚款金额,对于超期一年不归还图书的读者冻结其图书证。并且读者能修改个人信息。 l 对于图书管理员,能管理自己和比自己低一级管理权限的管理员。一级管理员能完成维护管理员的基本信息和二级管理员的一切操作。二级管理员则能维护自己的信息和添加读者、添加图书的功能。管理员可以对超期未归还图书的读者发送电子邮件进行提醒,对于超期一年不归还图书的读者冻结其图书证; 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 (二):解析注册文件 public class PropertyReader { static private Properties ps; static{ ps = new Properties(); try{ //db.conf与PropertyReader.class位于同一目录下 InputStream in = PropertyReader.class.getResourceAsStream("db.conf.txt"); ps.load(in); //载入属性 in.close(); }catch(IOException e){ e.printStackTrace(); } } public static String get (String key){ //读取属性 return (String)ps.getProperty(key); } } (三):获取数据库的Connection public class ConnectionProvider { private String JDBC_DRIVER; private String DB_URL; private String DB_USER; private String DB_PASSWORD; public ConnectionProvider(){ 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(ClassNotFoundException e){ e.printStackTrace(); } } public Connection getConnection(){ Connection con = null; try{ con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD); }catch(SQLException e){ e.printStackTrace(); } return con; } } (四):增,删,改,查等操作(以查询为例,其他类似) public Book getBook(String id)throws SQLException{ //返回用户信息 Connection con = null; PreparedStatement pstmt = null; Book book = new Book (); con = provider.getConnection(); String sql = "select * from Book where ID = ?"; pstmt = con.prepareStatement(sql); pstmt.setString(1, id); ResultSet rs = 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); return book; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服