软件工程课程设计报告

article/2025/10/19 13:36:18

本人的软件工程课程设计报告,可以作以参考,望读者不要全部照抄,仅为大家提供参考,感谢大家的支持!!!
在这里插入图片描述

目录

  • 1. 相关文档
    • 1.1 文档介绍
    • 1.2 文档范围
    • 1.3 读者对象
  • 2. 需求分析报告
    • 2.1 需求分析背景
    • 2.2 需求分析过程
  • 3. 原型设计与界面说明
    • 3.1 确定参与者
    • 3.3 用例描述
  • 4. 设计概述
    • 4.1 设计目的
    • 4.2 子功能详细设计
  • 5. 源代码展示
  • 6. 详细设计及界面测试
    • 6.1 详细设计及界面测试
    • 6.2 界面测试结论
  • 7. 参考文献
  • 1. 相关文档
    • 1.1 文档介绍
    • 1.2 文档范围
    • 1.3 读者对象
  • 2. 需求分析报告
    • 2.1 需求分析背景
    • 2.2 需求分析过程
  • 3. 原型设计与界面说明
    • 3.1 确定执行者
    • 3.2 确定用例
    • 3.3 用例描述
    • 3.4 类图分析
  • 4. 设计概述
    • 4.1 设计目的
    • 4.2 子功能详细设计
  • 6. 详细设计以及界面测试
    • 6.1 详细设计
      • 1.编写java代码
      • 2.编写web前端代码
    • 6.2 界面测试结论
  • 7. 参考文献
    • 参考资料:

1. 相关文档

1.1 文档介绍

1.2 文档范围

1.3 读者对象

2. 需求分析报告

2.1 需求分析背景

2.2 需求分析过程

3. 原型设计与界面说明

3.1 确定参与者

3.3 用例描述

4. 设计概述

4.1 设计目的

4.2 子功能详细设计

5. 源代码展示

6. 详细设计及界面测试

6.1 详细设计及界面测试

6.2 界面测试结论

7. 参考文献

1. 相关文档

1.1 文档介绍

学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。推行学校信息管理系统的应用是进一步推进学生学籍管理规范化、电子化、控制辍学和提高义务教育水平的重要举措。

1.2 文档范围

本系统是以数据库为后台核心应用,以服务校园学生为目的的学生信息管理平台,对学生信息资源进行科学的加工整序和管理维护,为提高高校管理学生信息的效率而设计的系统。

1.3 读者对象

信息管理员可以对信息进行增加、查看、删除、查找、排序五个功能。

2. 需求分析报告

2.1 需求分析背景

学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整 ,我国高等院校大规模的扩招 ,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人工管理,而旦传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。随着科学技术的不断提高计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以计算机为物质基础的信息收起大方法所取代。
针对这些要求设计了学生信息管理系统,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除等。

2.2 需求分析过程

信息管理系统提供给用户WEB的界面,此界面要求操作清晰,页面简介,并尽可能的为用户的查询操作提供方便。系统管理员能通过此界面完成各种基本信息的录入、修改和删除的功能,也能通过此界面控制管理整个用户群;
学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况。
具体系统功能需求描述如下:

学生信息管理
每学期都有新生与毕业生的信息加入或删除,以及各类学生信息的更新;该模块支持学生的添加、删除、信息修改,以及老师可查询学生信息的功能

3. 原型设计与界面说明

3.1 确定执行者

执行者是指系统交互的人或者其他其他系统,执行者代表一种角色而不是指具体的某个人。一个人在同一个系统中可以扮演几个不同的执行者。本软件课程介绍网站包含的执行者有管理员。

3.2 确定用例

用例有以下特征:
1.用例总是被执行者启动的,执行者必须直接或者间接地指示系统去执行用况。
2.用例向执行者提供值,这些值必须是可识别的。
3.用例是完整的。

本学生信息管理系统包含以下几个用例:
1.登录 2.信息管理 3.添加学生 4.查看信息 5.删除学生
6.查找学生 7.排序 8.退出
具体用例图如图所示。

在这里插入图片描述

3.3 用例描述

用况通常用正文(text)来描述,正文是一份关于执行者与用况如何交互的简明和一致的规约。正文着眼于系统的外部行为,而忽略系统的内部实现。描述中使用客户所使用的语言和术语。

3.4 类图分析

类图由系统中使用的类以及他们之间的关系组成。类之间的关系具有关联、依赖、泛化、实现等。类图是一种静态模型,是其它图的基础。一个系统可以有多幅类图,一个类也可以出现在几副类图中。下面是软件课程介绍学生管理系统的类图。

在这里插入图片描述

4. 设计概述

4.1 设计目的

介绍了实现该系统需求的程序模块设计问题,把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在概要设计报告中对在本阶段中对系统所做的所有概要设计进行了详细的说明。

4.2 子功能详细设计

1.添加学生信息,根据学生属性通过Java后端代码把学生信息添加到数据库.
2.查看学生信息,可以在后端通过代码访问数据库查看学生信息,也可以根据web页面访问数据库.
3.删除学生信息,根据后端对数据库进行操作.
4.查找学生信息,根据后端代码对数据库进行查询,把数据库学生信息展示出来.
5.排序功能,根据Java后端操作数据库进行排序,可以根据ID和年龄进行排序.
6.退出,结束程序.
5.源代码
该网站的主要代码如下:
后端添加数据代码


public static void add(){System.out.println("请输入添加学生的ID:");int id = sc.nextInt();System.out.println("请输入添加学生的名字:");String name = sc.next();System.out.println("请输入添加学生的性别:");String sex = sc.next();System.out.println("请输入添加学生的年龄:");int age=sc.nextInt();Stu stu=new Stu(id,name,sex,age);try {String sql= "insert into student(ID,Name,Sex,Age) values(?,?,?,?)";ps=conn.prepareStatement(sql);ps.setInt(1,stu.getId());ps.setString(2,stu.getName());ps.setString(3,stu.getSex());ps.setInt(4,stu.getAge());if(!ps.execute())              //检查执行是否成功,true表示执行的是查询语句,false表示执行的是insert,delete,update等等{System.out.println("添加数据成功!");return;}}catch (Exception e) {e.printStackTrace();}System.out.println("添加数据失败!");}
public static void delete(){System.out.println("请输入删除学生的ID:");int id=sc.nextInt();try {String sql="delete from student where ID=?";ps=conn.prepareStatement(sql);ps.setInt(1,id);int t=ps.executeUpdate();if(t>0) {System.out.println("删除信息成功!");}else {System.out.println("查无此人,删除信息失败!");}}catch(Exception e) {e.printStackTrace();}}public static void find(){System.out.println("请输入查找学生的ID:");int id=sc.nextInt();int flag=1;try {String sql="select * from student";ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()) {if(id==rs.getInt("ID")){System.out.println("ID"+"           "+"Name"+"\t"+"Sex"+"\t"+"Age");System.out.println(rs.getInt("ID")+"     "+rs.getString("Name")+"\t"+rs.getString("Sex")+"\t"+rs.getInt("Age"));flag=0;break;}}}catch(Exception e) {e.printStackTrace();}if(flag==1) {System.out.println("查无此人!");}}public static void sort(){System.out.println("ID"+"           "+"Name"+"\t"+"Sex"+"\t"+"Age");try {String sql="select * from student order by ID";ps=conn.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()) {int id=rs.getInt("ID");String name=rs.getString("Name");String sex=rs.getString("Sex");int age=rs.getInt("Age");Stu stu = new Stu(id,name,sex,age);System.out.println(stu.print());}}catch(Exception e) {e.printStackTrace();}}public static void manager(){while(true) {System.out.println();System.out.println("*********欢迎使用学生管理系统**********");System.out.println("功能:1.添加学生;2.查看信息;3.删除学生;4.查找学生;5.排序;0.退出登录;");int n = sc.nextInt();switch(n) {case 1:add();break;case 2:show();break;case 3:delete();break;case 4:System.out.println("1.按ID查找;2.按名字查找;");int s=sc.nextInt();if(s==1)find();elsefind();break;case 5:System.out.println("1.按ID排序;2.按年龄排序;");int a=sc.nextInt();if(a==1)sort();elsesort();break;case 0:System.exit(0);default:System.out.println("输入有误!");break;}}}public static void main(String[] args) throws Exception {init();manager();}

通过jdbc与数据库建立连接

private static Scanner sc=new Scanner(System.in);private static Connection conn=null;public static PreparedStatement ps = null;static ResultSet rs = null;private static String URL="jdbc:mysql://localhost:3306/java?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT&useSSL=false";  //连接到指定参数private static String USER="root";           //访问数据库用户名private static String PASSWORD="123456";       //访问数据库密码public static void init()throws Exception{if(conn!=null)return;Class.forName("com.Main");    //加载驱动器conn=DriverManager.getConnection(URL,USER,PASSWORD);     //获取数据库连接*/System.out.println("jdbc已连接");}public static void close()throws Exception{if(conn!=null) {conn.close();}}数据库代码
create database java;
use java;
create table student(ID int,Name varchar(20),Sex varchar(10),Age int);前端主要代码
<div class="wrapperBox"><div class="header"><div class="headerTitle"><div class="headerLine">学生信息管理系统</div></div><div class="headerButton"><button class="addButton">新增</button><button id="deleteButton">删除</button></div></div><div class="container"><table id="containerTable"><thead class="tableHeaher"><tr><th><input type="checkbox"></th><th>ID</th><th>Name</th><th>Sex</th><th>Age</th><th>操作</th></tr></thead><tbody id="tdata"><tr class="trHover"><td><input type="checkbox"></td><td class="stuSequence">1</td><td class="stuName">冯日东</td><td class = "Sex"></td><td class="stuAge">21</td><td><a class="viewInf ">查看</a><a class="updateInf ">修改</a></td></tr>

6. 详细设计以及界面测试

6.1 详细设计

1.编写java代码

创一个lib,文件夹,在lib中引入mysql连接压缩包
导入压缩包
编写jdbc代码,数据库与java代码建立连接.
添加信息
查看信息
查找学生
排序
删除学生
退出登录

2.编写web前端代码

前端与后端建立约定

6.2 界面测试结论

通过这次的实验,帮助我们对软件工程的结构化分析以及数据流图等知识有了更深刻的理解与认识,让我们对软件工程中的需求分析部分有了更好的理解,需求分析是对需求陈述进行分析,解决其中的歧义、不一致等问题,以系统化的形式表达用户的需求,即给出问题的形式化的描述。这次的实验过程让我理解了要在用户角度思考他们的需求,同时好的系统逻辑结构的构思也相当重要。
同时这次的实验也让我们明白了之前的项目制作过程的不足与不好之处,我们会继续好好学习软件工程课程,帮助自己对软件制作的整体过程有更加清晰的理解和认识。

7. 参考文献

参考资料:

[1]《软件工程技术与应用》姜楠 马蕾 [M] 上海交通大学出版社
[2]《数据库原理》丁宝康 [M] 经济科学出版社
[3]《数据库系统原理》王珊 陈红 [M] 清华大学出版社

最终解释权归小冯同学所有!!!


http://chatgpt.dhexx.cn/article/ExkljbTi.shtml

相关文章

汇编语言程序设计实验报告

运行环境masmplus 链接&#xff1a;https://pan.baidu.com/s/1jWoLfvxBxQgxd6wq21GK0w 提取码&#xff1a;ih43 目录 实验1 汇编语言源程序的输入实验目的实验原理实验仪器实验步骤实验要求 实验2 数据的建立与传送程序实验目的实验原理实验仪器实验步骤实验要求 实验3 分支程序…

C高级语言程序设计实验报告之选择结构程序设计

文章目录 实验目的题目代码题一题二题三题四 实验目的 1、了解C语言表示辑量的方法&#xff08;以0代表“假”&#xff0c;以非0代表“真”&#xff09; 2、学会正确使用遷辑运算符和遷辑表达式 3、熟掌握if语句的使用&#xff08;包括if语句的嵌套&#xff09; 4、熟掌握多分…

给你一份满分的程序设计报告(附源码)

ATM业务模拟系统功能要求 客户端&#xff1a; 定义用户数据对象&#xff0c;并以此为参数生成用户操作对象&#xff1b; 存款操作&#xff1a;生成一条新的业务信息&#xff08;业务对象&#xff09;&#xff0c;追加到交易记录中&#xff0c;并修改账号余额&#xff1b; 取款…

C++ 会议信息管理系统 程序设计报告

C 会议信息管理系统 C 会议信息管理系统 程序设计报告 会议记录管理系统 问题描述: 定义会议信息类class Conference 会议信息包括:会议编号&#xff0c;会议名称、部门名称、会议地点&#xff0c;会议日期&#xff0c;会议主会议记录人&#xff0c;出席人员&#xff0c;会…

Java高级程序设计课程设计报告

一、基于OBE模式的实验目的和要求 要求复习课件中理论知识&#xff1b;练习课堂所讲的例子&#xff1b;编写程序完成以下实验目标并上交实验报告&#xff08;包括电子文档与纸质文档&#xff09;。 能够根据Java集合框架&#xff0c;利用迭代方法编程实现对集合的遍历操作。能…

Java面向对象程序设计实验报告(实验三 继承的练习)

✨作者&#xff1a;命运之光 ✨ 专栏&#xff1a;Java面向对象程序设计实验报告 ​ 目录 ✨一、需求设计 ✨二、概要设计 ✨三、详细设计 ✨四、调试结果 ✨五、测试结果 ✨附录&#xff1a;源程序代码&#xff08;带注释&#xff09; demo3类 Person类 Student类 …

《程序设计基础课程设计》实验报告

《程序设计基础课程设计》实验报告 班 级&#xff1a; 学 号&#xff1a; 姓 名&#xff1a; 完成题目&#xff1a;1、2、3、4、5、6 概述 此次六道题目里面第四题是参考某博主的文章后实现的&#xff0c;有一些地方仍然不是特别理解&#xff0c;但是原文章里面存在一些小错…

Java面向对象程序设计实验报告(实验五 接口的练习)

✨作者&#xff1a;命运之光 ✨专栏&#xff1a;Java面向对象程序设计实验报告 ​ 目录 ✨一、需求设计 ✨二、概要设计 ✨三、详细设计 ✨四、调试结果 ✨五、测试结果 ✨附录&#xff1a;源程序代码&#xff08;带注释&#xff09; demo5类 Instrument类 Piano类 …

Python程序设计实验报告【合集】

课堂作业 1、词频统计&#xff1a;输入一个文件&#xff0c;程序读取文件&#xff0c;文件内容是英文内容&#xff0c;不少于500个单词的内容&#xff0c;统计每个单词在该短文内出现的次数。 https://www.jb51.net/article/144405.htm https://www.cnblogs.com/Eudemines/p/9…

Java面向对象程序设计实验报告(实验一 面向对象基础练习)

✨作者&#xff1a;命运之光 ✨ 专栏&#xff1a;Java面向对象程序设计实验报告 目录 ✨一、需求分析 ✨二、概要设计 ✨三、详细设计 ✨四、调试分析 ✨附录&#xff1a;源代码&#xff08;带注释&#xff09; 实验一 面向对象基础练习 实验环境&#xff1a;EclipseJDK …

《C语言程序设计》课程总结报告

《C语言程序设计》课程总结报告 一、我学到的内容 二、我的收获&#xff08;包括我完成的所有作业的链接收获&#xff09; 1.PTA作业 22年秋-第1周基础作业 https://pintia.cn/problem-sets/1575138141596397568 22年秋-第2周课后作业 https://pintia.cn/problem-sets/1…

(软件工程)-- 总体设计报告

1引言 1.1编写目的 本阶段完成系统的大致设计并说明系统的数据结构与软件结构&#xff0c;本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件概貌&#xff0c;把它加工成程序细节上非常接近与源程序开发的软件标识。 预期读者&#xff1a;软件测试人员、程序开发员…

程序设计报告模板

一、问题及代码 /* * 文件名称&#xff1a;Ex1-1.cpp * 作 者&#xff1a;曾辉 * 完成日期&#xff1a;2015 年 1 月 1 日 * 版 本 号&#xff1a;v1.0 * 对任务及求解方法的描述部分: * 输入描述&#xff1a;无 * 问题描述&#xff1a;我的第一个C程序&#xff0c;熟…

C语言程序设计期末大作业—教师工资管理系统(附程序设计报告)

C语言大作业——教师工资管理系统 主要的难点在于文件读取 数据结构用的是链表 源码放上&#xff0c;直接粘贴复制就可以&#xff0c;我的C程大作业 具体的问题不懂的可以评论和私信&#xff0c;总之还是简单的 放张图片 程序设计报告可以私信我 #include<stdio.h> …

C语言程序设计 课程设计报告

C语言程序设计课程设计报告 一、 系统简介 学生成绩管理系统简介&#xff1a;一个简易的学生成绩管理系统&#xff0c;它包括并可以实现&#xff1a;“录入并保存学生信息、打印学生信息、读取学生信息、查找学生信息、删除学生信息、修改学生信息、排序学生信息、退出系统 ”…

程序设计基础实训报告

一、实训目的 程序设计基础是程序设计C语言和C语言的入门课程&#xff0c;该课程兼顾基础理论和编程实践。通过学习该课程的理论知识和编程实战&#xff0c;培养学生的专业实践技能&#xff0c;学校设有专用实训周&#xff0c;帮助学生全面牢固地掌握课堂教学内容、提升实际动手…

程序设计课程设计报告(学生成绩管理系统)

程序设计课程设计报告 课程设计题目及内容 题目&#xff1a;学生成绩管理系统 设计要求及提示如下&#xff1a; &#xff08;1&#xff09;、设计一个学生类Student,包括数据成员&#xff1a;姓名、学号、二门课程(面向对象程序设计、高等数学)的成绩。 &#xff08;2&…

如何在A4相纸上打印4张5寸相片

第一步&#xff0c;打开ps&#xff0c;点击文件-新建&#xff0c;新建一个空白文档&#xff0c;宽度设置为12.7cm&#xff0c;高度设置为8.9cm&#xff0c;分辨率设置为300&#xff0c;rgb颜色设置为8位。 如下图&#xff1a; 第二步&#xff0c;设置完点确定&#xff0c;然后…

PS照片排版1寸2寸等及照片规格

我的电脑是macOS&#xff0c;为了这个文章通用win的朋友&#xff0c;尽量少用快捷键&#xff0c;多截图&#xff0c;本文以1寸为例介绍&#xff1a; 1.打开PS&#xff0c;文件-打开-选择要打印的照片 2.点裁剪-选择宽/高/分辨率-输入高度-输入宽度-输入分辨率-确定 3. 点击图像…

自制1寸照片及打印排版

1、打开Photoshop,新建一个2.5*3.5cm的图层&#xff0c;分辨率为300的文件。如果是2寸的就新建一个3.5*5.3cm的图层。&#xff08;文件----新建&#xff09; 2、打开拍摄的照片&#xff0c;使用”拖动”工具将照片拖到之前新建的1寸照片中&#xff0c;照片拖进去之后原始尺寸肯…