热门标签 | 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




推荐阅读
  • 本文探讨了Java编程的核心要素,特别是其面向对象的特性,并详细介绍了Java虚拟机、类装载器体系结构、Java类文件和Java API等关键技术。这些技术使得Java成为一种功能强大且易于使用的编程语言。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 深入理解 .NET 中的中间件
    中间件是插入到应用程序请求处理管道中的组件,用于处理传入的HTTP请求和响应。它在ASP.NET Core中扮演着至关重要的角色,能够灵活地扩展和自定义应用程序的行为。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • TechStride 网站
    TechStride 成立于2014年初,致力于互联网前沿技术、产品创意及创业内容的聚合、搜索、学习与展示。我们旨在为互联网从业者提供更高效的新技术搜索、学习、分享和产品推广平台。 ... [详细]
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • PostgreSQL 最新动态 —— 2022年4月6日
    了解 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社区 版权所有