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




推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 如何在窗口右下角添加调整大小的手柄
    本文探讨了如何在传统MFC/Win32 API编程中实现类似C# WinForms中的SizeGrip功能,即在窗口的右下角显示一个用于调整窗口大小的手柄。我们将介绍具体的实现方法和相关API。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
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社区 版权所有