202210 实验九 团队作业6:团队项目编码
项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/2019nwnucs |
这个作业要求链接 | https://edu.cnblogs.com/campus/xbsf/2019nwnucs/homework/12699 |
团队名称 | 团队9527 |
团队成员分工描述 | 任务一:李健康;任务二:梁春云;任务三:李健康 李治江 梁春云;任务四:李治江 |
团队的课程学习目标 | 掌握软件编码实现的工程规范。 |
在实现学习目标上面的帮助 | 了解和学习软件编码实现的过程之中的规范 |
团队博客链接 | https://www.cnblogs.com/tuandui01/ |
团队项目Github仓库地址链接 | https://github.com/liangchunyun/01 |
任务一 :完善《实验八 项目需求分析建模与系统设计(2)》的项目系统设计说明书,进一步细化分析系统设计模型,精化类的属性和操作,详细定义类中服务参数和具体实现逻辑,调整类的层次关系和关联关系,定义软件数据库表结构等。并编制《XXX软件设计说明书1.2》发布在团队项目Github仓库。
1.细化分析系统设计模型
-
用户模块:用户注册和登录库,查看个人信息。
-
社区模块:分享和查看用户信息的文章。
-
文章模块:用户可在这一模块发布和查看自己的文章。
-
课程模块:学习并收藏自己感兴趣的课程。
-
管理员模块:实时管理用户,检测社区动态,更改用户信用分
2.精化类的属性和操作,定义类中服务参数和具体实现逻辑
-
用户类:访问权限向较于管理员比较低,可查看其他用户的有限前端信息,根据社区信用分有限地访问社区文章的动态和访问课程。
-
社区类:用户分享自己的动态,查看他人分享的文章。
-
文章类:文章内容、文章编号、文章作者等。
-
课程类:用户选择自己习惯的课程进行他学习,其中有付费的课程,也有免费的课程。
-
管理员类:拥有app的全部权限,可管理所有已经注册在户的用户。
3.调整类的层次关系和关联关系
4.软件数据库表结构
-
用户信息表
名称 类型 非空约束 是否主键 备注 user_name varchar(20) yes 用户昵称 user_id varchar(6) yes yes 用户uid user_phone varchar(11) yes 用户注册时用的手机号 user_credit int(3) yes 用户在社区的信用分,最低为0,最高为100 user_time long 用户使用社区APP的时间 -
社区文章表
名称 类型 非空约束 是否主键 备注 text_name varchar(20) yes 文章名称 text_id varchar(6) yes yes 文章唯一编号 text_writer varchar(11) yes 文章作者的名字 text_score int(3) yes 文章的作者在社区的信用分,最低为0,最高为100 text_content varchar 文章的主体内容 -
课程表
名称 类型 非空约束 是否主键 备注 course_name varchar(20) yes 课程名称 course_id varchar(6) yes yes 课程唯一编号 course_writer varchar(11) yes 课程老师的名字 course_score int(3) yes 课程学习者对该课程的分数评价,最低为0,最高为100 course_assess varchar 课程学习者对该课程的文字评价 -
好友表
名称 类型 非空约束 是否主键 备注 friend_name varchar(20) yes 好友昵称 friend_id varchar(6) yes yes 好友唯一uid friend_remark varchar(11) 对好友的备注 friend_score int(3) yes 好友在社区APP中的信誉分,最低为0,最高为100
5.软件设计说明书上传到Github
-
6.软件设计说明书
任务二:团队软件项目编码准备。
-
(1)搭建并配置软件开发环境
- 软件安装:Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。基于Gradle的构建支持;Android 专属的重构和快速修复;提示工具以捕获性能、可用性、版本兼容性等问题;支持ProGuard 和应用签名;基于模板的向导来生成常用的 Android 应用设计和组件;功能强大的布局编辑器,可以让你拖拉 UI 控件并进行效果预览。
Android studio官网下载地址:https://developer.android.google.cn/
- 1.使用版本
- 2.相关配置
- 3.首先进入Android官网
- 4.然后点击 Android Studio —> Download —> Download Android Studio(下载的是最新版本,此处是2021.2.1版本)
- 5.下翻到最后,勾选I have read and agree with the above terms and conditions,然后点击Download Android Studio 2021.2.1 for Windows 64-bit (914 MiB)
- 6.找到下载结束的安装文件,双击打开,然后点击next
- 7.点击install,直接进行安装
- 8.出现如下界面,等待安装完成,进度条结束后点击Next—>Finish
- 1.使用版本
- 软件安装:Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。基于Gradle的构建支持;Android 专属的重构和快速修复;提示工具以捕获性能、可用性、版本兼容性等问题;支持ProGuard 和应用签名;基于模板的向导来生成常用的 Android 应用设计和组件;功能强大的布局编辑器,可以让你拖拉 UI 控件并进行效果预览。
-
(2)团队商议制定团队项目编码规范。
任务3:以团队作业的前期成果为基础,采用团队协作方式编写软件代码,创建程序开发软件关联数据库,进行必要代码测试。
项目上传截图
任务四 实验总结
各项任务预计花费时间表
任务内容 | 预计花费时间(min) | 实际所用时间(min) |
---|---|---|
任务一 | 60 | 70 |
任务二 | 150 | 180 |
任务三 | 300 | 330 |
任务四 | 60 | 50 |
任务分工
姓名 | 任务 |
---|---|
梁春云 | 使用Bootstrap,JQuery进行背包知识社区前端设计 |
李健康 | 对前后端页面进行测试实现代码对接,并完成博客。且对整体代码进行测试,查找bug |
李治江 | 使用Django进行背包知识社区后端设计,编制《软件设计说明书1.2》 |
各成员本次实验心得
成员 | 心得 |
---|---|
梁春云 | 经过这次的实践操作,我个人得到了不少的收获,一方面加深了我对课本理论的认识,另一方面也提高了实验操作本事。此刻我总结了以下的体会和经验。这次的实验跟我们以前做的实验不一样,因为我觉得这次我是真真正正的尝试设计实现它,我亲自去完成。所以是我觉得这次实验最宝贵,最深刻的。就是实验的过程全是我们学生自我动手来完成的,这样,我们就必须要弄懂课本知识,在那里我深深体会到理论对实践的指导作用:弄懂实践原理,并且体会到了实验的操作本事是靠自我亲自动手,亲自开动脑筋,亲自去请教别人才能得到提高的。 |
李健康 | 本次实验与前面几次实验的不同点在于,本次实验开始了具体的编码过程,在前期的基础下,这次的博客内容主要是实施过程,通过连续7天的冲刺记录,我们团队的成员感觉到了压力很大,由于我们对类的划分不太明确。一个项目的开发真的不是一己之力便可以完成的,它不仅要团队之间的相互合作,而且还是个互相查缺补漏的过程。我们每天都处于紧张的状态,学习新的知识,与团队成员共同讨论,一起尝试新知识的应用。在这个过程中明显的发现这7天的效率要比之前课程中团队合作的效率高很多。 |
李治江 | 在前期的基础下,这次的博客内容主要是实施过程,通过连续7天的冲刺记录,我们团队的成员感觉到了压力很大,由于我们对类的划分不太明确,所以在软件设计说明书上下了一定的功夫。在这一周编程时间里,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。使我们懂得了理论与实际相结合是很重要的,只有从理论中得出结论,才能真正为掌握技术,从而提高自己的实际动手能力和独立思考的能力。 |
组长总结
-
过本次实验我们团队代码编写任务基本完成,但是实验过程中也遇到了很多困难,首先是前期一些设计类的工作没有做到很好,包括一些模块化的设计和类的具化,导致后期代码编写过程中出现数据冗余和代码重复的情况。其次是刚开始的分工合作没有安排妥当,队员们的工作量不均衡,通过几次商议和琢磨逐渐达到了最佳平衡状态,加快了任务完成的效率。最后就是代码测试过程中发现的一些问题,主要还是源于代码编写过程中对于编写规范的不严谨,导致测试出现问题找不到源头,浪费大量时间。但是同时这次高强度的任务训练也给我们带来了很多收获,团队人员的配合更加默契,而且对于项目的整体流程体系更加清晰,对于软件工程的理解也更加深刻。