热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

这座城市多了十只伤心的鸽

这个作业属于哪个课程2021春软件工程实践|W班(福州大学)这个作业要求在哪里团队第四次作业这个作业的目标设计项目原型、制作项目需求规格说明书团队名称这座城市多了十只伤心的鸽其他参


























这个作业属于哪个课程2021春软件工程实践|W班 (福州大学)
这个作业要求在哪里团队第四次作业
这个作业的目标设计项目原型、制作项目需求规格说明书
团队名称这座城市多了十只伤心的鸽
其他参考文献《软件需求规格说明书》国标规范文

目录
  • 1.开发计划——时间安排
  • 2.开发计划——分工安排(TODO)
  • 3.结构设计
    • 体系结构设计
    • 功能模块层次图
    • E-R图
    • 设计思路
  • 4.设计类图&系统安全与权限设计
    • 设计类图
    • 设计思路
    • 系统安全
    • 权限设计
  • 5.改进部分
    • 类图修改
    • 改进过程
  • 6.作业过程
    • 工作流程
    • 组员分工
  • 7.团队链接


1.开发计划——时间安排











































时间周期计划内容
(第八周)4.21 - 4.25前端:后台:项目脚手架搭建、实现页面路由及对应的菜单栏,前台:小程序项目配置、小程序页面显示及导航配置;后端: 数据库设计、后端开发框架搭建
(第九周)4.26 - 5.2前端:后台:完成登入、发布项目页面,前台:完成主页、项目详情制作;后端:完成数据库层与控制器层交互文档的编写、完成缓存访问的控制器设计
(第十周)5.3 - 5.9前端:后台:完成管理项目、项目详情页面,前台:完成反馈、报名页面制作;后端:完成数据库层的代码编写与调试、完成接口文档的编写
(第十一周)5.10 - 5.16前端:后台:完成用户管理、用户详情页面,前台:完成项目相关页面制作;后端:完成控制器层的代码编写与调试、对后端数据安全层进行封装
(第十二周)5.17 - 5.23前端:后台:完成收藏、账户管理、回收站页面,前台:我的相关页面制作;后端:构造数据库测试数据、确保控制器层的正确反馈
(第十三周)5.24 - 5.30前端:后台:完善接口请求工具模块、完成发布项目、管理项目的动态操作以及全部页面的跳转、搜索函数,前台:完善接口请求工具模块、完善页面跳转逻辑、实现项目报名相关动态功能;后端:完成接口的编写和调试、并部署到云服务器
(第十四周)5.31 - 6.6前后端联调,前端接入后端接口并进行测试
(第十五周)6.7 - 6.13前端:页面加载与分辨率适配优化、体验优化、功能测试;项目部署上线

2.开发计划——分工安排(TODO)









































































学号姓名角色负责开发部分
221801102唐德宇后端开发
221801107谢乐如前端开发Web前端
221801129许鹏宇后端开发
221801213郭达宇PM整体设计
221801221龚海旭后端开发
221801306程文健前端开发Web前端
221801311郭晗宇前端开发小程序
221801313方燮楠后端开发
221801320陈子傲PM项目跟进
291800139周睿思PM整体设计

3.结构设计


体系结构设计

体系结构设计图


功能模块层次图

功能模块层次图


E-R图

E-R


设计思路



  • 设计原则

    • 尽量减小实体集,能作为属性时不要作为实体集。

    • “属性”不能再具有需要描述的性质。“属性”必须是不可分割的数据项,不能包括其他属性。

    • “属性”不能与其他实体具有联系。在E-R中所有的联系必须是实体间的联系,而不能有属性与实体之间的联系。

    • 针对特定用户的应用,确定实体、属性和实体间的联系,设计该用户视图的局部E-R图。

    • 综合局部E-R图,产生出总体E-R图。在综合过程中,同名实体只能出现一次,并去掉不必要的联系,以便消除冗余。一般来说,从总体E-R图必须能导出原来的所有局部视图,包括实体、属性和联系。



  • 设计方法

    • 选择局部应用:根据某个系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图作为设计分E-R图的出发点 。

    • 逐一设计分E-R图:将数据字典中的数据抽取出来,参照数据流图,设计出E-R图,再作必要的调整。

    • 调整原则:为简化图的处置,现实世界中的事物能作为属性对待的,尽量作为属性对待。作为“属性”,不能再具有描述的性质,也不能与其他实体具有联系。




4.设计类图&系统安全与权限设计


设计类图

database_relation


设计思路



  • 客户端(Client)

    登录后



    • 可以参加管理员发布的项目

    • 可以对项目发布反馈

    • 可以对项目发起投票



  • 管理员(Admin)

    对于每个管理员



    • 拥有不同的角色,对应不同的操作权限

    • 可以发布与管理多个项目

    • 可以收藏项目



  • 投票(Vote)

    对于每个投票



    • 拥有多个选项




系统安全



  1. 通过预编译的方式执行SQL语句,避免SQL注入

  2. 使用JWT进行身份认证管理,保持http无状态的前提下管理权限

  3. 对特殊字符进行转义,避免简单XSS攻击

  4. 添加CSRF token,避免简单CSRF攻击

  5. 维护IP黑名单,对于短期内发起大量 HTTP请求/TCP连接请求 的IP进行封禁处理,避免简单DDOS(SYN)攻击


权限设计



  1. 超级管理员:可以赋予用户管理员权限

  2. 管理员:可以进行一些特权操作

  3. 用户:普通操作


5.改进部分


类图修改


改进过程



  • 增加了报名用户这个中间类,将项目子项和报名用户之间改成多对多关系

    • 在类图设计方面存在一些小错误,组内发现了问题并且解决

    • 让用户项不必和项目子项直接挂钩

    • 同时由一对多转换成多对多的对应关系




6.作业过程


工作流程



  1. 前后端开发组员,进行系统结构、功能模块和数据库设计的讨论

  2. 前端进行UI设计;后端数据库建表,并完成E-R分析、表结构设计等

  3. 前后端共同讨论完成接口设计

  4. 前后端共同协作PM完成相关文档编写和PPT制作


组员分工






























































学号工作内容贡献度
221801102唐德宇数据库设计及相关设计图绘制,参与数据库设计8
221801107谢乐如参与数据库设计,编写系统设计说明书8
221801129许鹏宇编写博客、整理工作流程与人员安排12
221801213郭达宇参与编写系统设计说明书,编写博客12
221801221龚海旭数据库设计及相关设计图绘制,参与数据库设计8
221801306程文健编写博客、整理改进内容、制作评审表12
221801311郭晗宇时间计划安排、PPT制作8
221801313方燮楠参与数据库设计,编写数据库设计说明书8
221801320陈子傲统筹、编写系统设计说明书、整理之前的问题12
291800139周睿思参与编写系统设计说明书,编写博客12

7.团队链接


github团队仓库链接



这座城市多了十只伤心的鸽_系统设计说明书.pdf

这座城市多了十只伤心的鸽_数据库设计说明书.pdf



这座城市多了十只伤心的鸽_系统设计和数据库设计答辩PPT.pdf




推荐阅读
  • 七大策略降低云上MySQL成本
    在全球经济放缓和通胀压力下,降低云环境中MySQL数据库的运行成本成为企业关注的重点。本文提供了一系列实用技巧,旨在帮助企业有效控制成本,同时保持高效运作。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • SSE图像算法优化系列三:超高速导向滤波实现过程纪要(欢迎挑战)
    自从何凯明提出导向滤波后,因为其算法的简单性和有效性,该算法得到了广泛的应用,以至于新版的matlab都将其作为标准自带的函数之一了&#x ... [详细]
  • 使用Matlab创建动态GIF动画
    动态GIF图可以有效增强数据表达的直观性和吸引力。本文将详细介绍如何利用Matlab软件生成动态GIF图,涵盖基本代码实现与高级应用技巧。 ... [详细]
  • 本文深入探讨了Linux内核中进程地址空间的设计与实现,包括虚拟地址空间的概念、内存描述符`mm_struct`的作用、内核线程与用户进程的区别、进程地址空间的分配方法、虚拟内存区域(VMA)的结构以及地址空间与页表之间的映射机制。 ... [详细]
  • 在使用Flex 4.6部署ArcGIS Viewer for Flex 3.7时遇到的问题及解决方案,包括如何正确导入和配置必要的库文件。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文详细介绍了如何利用 Bootstrap Table 实现数据展示与操作,包括数据加载、表格配置及前后端交互等关键步骤。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有