中国红 实验五 软件开发案例(2)团队作业
实验五:软件项目 案例分析(2)
项目 | 内容 |
---|---|
班级博客链接 | 2023春软件工程2020级计算机科学与技术 |
本次作业要求链接 | 实验五:软件项目案例分析(2) |
团队名称 | 中国红 |
团队的课程学习目标 | 完成软件开发案例(2),总结软件开发相关经验 |
这个作业在哪些方面帮助团队实现学习目标 | 1.通过完成的软件项目案例,加深对开发过程各个环节的理解,提高开发能力; 2.学会了软件各类环境的配置; 3.通过博客阐述对软件项目案例的分析,提高表达和写作能力; 4.使我们对前后端的交互有了初步的认识. |
团队博客链接 | 中国红 |
团队的课程学习目标
(1)理解MVC软件设计模式
(2)练习并掌握JSP+JavaBean+Servlet技术实现的MVC设计模式;
(3)练习UML建模技术。
任务1:创建学生信息管理的Java web项目
我们的团队成员对任务1进行了合作,让每个人都参与了部分工作。具体分工如下:
- 杨国周:创建Java web项目,导入mysql驱动支持包,部署到Tomcat服务器,相关增量的开发。
- 朱习良:使用脚本方式创建mysql数据库及表。
- 赵生龙、蒋宇轩:将用户综合管理软件案例代码导入到项目中,并测试运行用户信息的查询、更新、删除、显示等操作。
以下是任务1完成的过程截图:
1.1 在MySQL中创建数据库:students
1.2 在students数据库中创建学生信息表并增加字段file,且默认值为"./images/420.jpg":
1.3 创建Web项目,项目名称为:studentmanager
1.4 在项目的src包中创建包controller、dao、service、utils,在webapp下创建JSP文件夹
1.5 在项目中添加MySQL数据库驱动包
1.6 在src包中创建entity包存放实体类,创建实体类Student.java,其属性与数据库表的student的字段对应,程序中获取的数据库表student的记录就可存储到Student.java类的对象实例中。
1.7 在src包中创建utils包存放数据库连接工具类DButil.java
1.8 对案例中四个模块的M、V、C层进行编码
1.9 将项目部署在Tomcat服务器,在浏览器输入:http://localhost:8080/6.3/page/index.jsp
测试运行学生信息的增加、更新、删除、显示等操作。
任务2:学生信息管理软件增量开发
我们小组为用户综合管理软件增加了两个新功能:
- 批量导入excel功能;
- 项目的WebRoot文件夹下创建一个upload文件夹用于存放用户上传的文件,增加学生信息字段:相片,根据相片字段的信息存储和维护完善案例软件,要求学生相片文件存放在服务器上项目的upload文件夹中,数据库中存放相片的文件名,显示相片时是根据文件名到该文件夹中访问图片文件而实现。
这两个功能由朱XX和蒋XX分别完成。
以下是任务2完成过程的截图:
2.1 新增数据
为案例软件开发一个新功能,可将excel文件的学生信息批量导入数据库。
2.2 用户头像
在项目的WebRoot文件夹下创建一个images文件夹用于存放用户上传的文件,增加学生信息字段:相片,根据相片字段的信息存储和维护完善案例软件,要求学生相片文件存放在服务器上项目的images文件夹中,数据库中存放相片的文件名,显示相片时是根据文件名到该文件夹中访问图片文件而实现。
2.3 将任务1与任务2的完成的学生信息管理软件源码上传到团队github仓库。
https://github.com/rendaoxiaoyao/zhong-guo-hong
任务3:完成《实验五 软件开发案例(2)团队作业》团队博文作业
我们团队博客中发布了实验五的作业博文,其中包括了我们实现任务1和任务2的过程截图,以及团队成员的学习心得总结和任务完成情况。
3.1 总结Servlet技术的工作原理
Servlet技术的工作原理:
Servlet是Java Web应用程序的基本组件,用于处理客户端请求和生成相应的结果。Servlet实现了Java Servlet API规范,该规范定义了一种Web组件,它可以动态地响应客户端请求并生成响应结果,从而构成了Web应用程序的基本组成部分。
一个Web应用程序会有一个或多个Servlet容器,Servlet容器负责启动和管理Servlet程序,并对请求和响应进行处理。当客户端向服务器发送请求时,Servlet容器会根据请求信息查找、实例化Servlet程序,并将请求与Servlet程序的Service方法进行绑定,完成请求的处理并生成响应结果返回给客户端。
3.2 总结MVC设计模式的特点
MVC设计模式的特点:
MVC是一种软件设计模式,其核心思想是将系统分为三个部分,即模型(Model)、视图(View)和控制器(Controller)。MVC的主要特点如下:
- 分层设计:MVC将系统分为三个层次,每层之间的职责明确,彼此独立。
- 松耦合:MVC各层之间通过接口交互,使它们之间更加松耦合,便于维护和扩展。
- 重用性:MVC的各个部分可以独立地进行开发、测试和部署,可以通过接口的方式对第三方进行集成。
- 高内聚低耦合:MVC的每个部分内部具有高内聚性,对外与其他部分则具有低耦合性,对系统的整体开发和维护都有很好的帮助作用。
3.3 团队分工与感受
3.3.1 团队分工
团队成员 | 分工 |
---|---|
杨国周 | 部署项目,负责数据库部分,开发网页 |
朱习良 | 负责用户信息批量导入数据库部分,撰写博客 |
蒋宇轩 | 项目开发,项目测试,以及项目的改进,排错 |
赵生龙 | 项目的开发,测试,撰写博客 |
3.3.2 任务列表以及花费时间(单位:分钟)
任务内容 | 实际花费时间 |
---|---|
下载软件,部署相关环境 | 20 |
创建用户综合管理软件的Java web项目 | 30 |
在项目中添加mysql的驱动支持包 | 20 |
分别用手工或脚本方式创建mysql数据库及表 | 30 |
将用户综合管理软件案例代码导入到项目中 | 80 |
在Tomcat服务器中部署项目 | 20 |
测试运行学生信息的查询、更新、删除、显示等操作 | 60 |
为案例软件开发一个新功能,可将excel文件的用户信息批量导入数据库 | 200 |
在项目的WebRoot文件夹下创建一个upload文件夹用于存放用户上传的文件,增加学生信息字段:相片 | 200 |
将任务1与任务2完成的用户综合管理软件源码上传到团队github仓库 | 10 |
撰写博客,反思与总结 | 100 |
3.4 感受与心得
团队成员 | 心得体会 |
---|---|
杨国周 | 通过本次实验,我更深入的了解了Java web项目的配置和部署流程,同时,也熟悉了基本的数据库应用程序开发技术和Java web的应用开发。通过和团队成员的合作,我体会到了合作开发的优势,同时也了解了如何合理分配任务并有效地协作完成。 |
朱习良 | 本次实验让我更加熟悉了mysql数据库的应用,了解了如何使用脚本创建mysql数据库及表、如何使用jdbc连接mysql数据库,并掌握了如何在Java web中使用jdbc进行数据库连接。与此同时,我学习了如何使用POI库实现Excel读写操作。通过与团队成员的合作,我学习了如何有效地协作,分工明确,互相学习,一起完成任务。 |
蒋宇轩 | 在本次实验中,我首先学习了如何使用脚本创建mysql数据库及表,并且加深了自己对Java web程序的了解。接着在任务二中,我跟组员一起实现了批量导入Excel文件的功能,同时也更深入地理解了如何在Java web应用程序中实现数据库与文件的操作,并体验了团队协作的乐趣。 |
赵生龙 | 通过本次实验,我完成了文件上传和头像显示,深入认识了MVC设计模式的特点和优势,进一步掌握了JavaEE技术中的Servlet编程和MySQL数据库的操作,同时在页面设计和编码方面有了更加全面和深入的实践,感谢团队的合作帮助我成长和进步。 |
团队总体的心得体会:
- 本次实验对我们小组来说是一次非常有收获的实践,为我们提供了很好的开发经验,让我们进一步熟悉了开发软件的全流程,让我们更加熟练掌握了Java web开发和数据库应用开发的技能。同时我们修改了很多的错误,也提高了改错排错的能力。