热门标签 | 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 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
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社区 版权所有