《F4+2团队项目需求改进与系统设计》
任务一
a.分析《动态的太阳系模型项目需求规格说明书》初稿的不足。
任务概述描述的有些不具体,功能的规定不详细,在此次作业进行了修改。
b.参考《构建之法》8.5节功能的定位和优先级,给出功能分析的四个象限。
第一象限(杀手功能,必要需求):1.系统有多视角。2.太阳系是可以放大、缩小的,并且保证放大、缩小后行星照样能正确地运行。
第二象限(外围功能,必要需求):模拟系统界面逼真且美观,功能实用。
第三象限(外围功能,辅助需求):用户进入系统可以直接对系统进行操作。
第四象限(杀手功能,辅助需求):近日、远日行星的显示,放大、缩小、左、右、上、下移动功能,多视角观察太阳系概貌,行星运行、静止以及初始状态复原。

c.团队项目的WBS

d. 请以讲故事的方式介绍你们的项目中的功能,介绍一个场景,用户如何使用这项功能,解决了用户的什么问题。
l 场景:课堂教学
教师:同学们上课,这节课我们来认识一下太阳系概貌。(单用户系统所以无需输入密码及用户名等,直接打开系统,初始界面是整个太阳系静态图)
学生:请问老师,这些行星如何在太阳系中运动呢?
教师:那现在同学们请认真观看大屏幕。(先选定侧视视角,各个行星自己开始根据原先设定好的运行。教师也可以放大,缩小,左(右,上,下)移动整个太阳系,在太阳系运行过程中,可以暂停行星的运行,使太阳系处于静止状态,再次点击运行,行星会接着动起来。如果想回到最初的状态,点一下复原按钮,整个太阳系又回到了此视角下的最初始的状态。)
学生:老师,我对这些行星的运行方式还是有些不清楚,有其他角度的运行方式吗?
教师:我们现在来看一下,这些行星在俯视的时候是怎样运行的。(回到主界面,选择俯视模式,系统自己播放,教师也可与测试模式一样,实现放大、缩小、平移、静止和运行功能)
l 解决的问题
此系统,在功能方面,通过虚拟仿真技术发挥信息教学的优势,使得学生快速的认识学习了太阳系,以及各个行星的运行方式。并通过侧视与俯视两个视角,更清晰直观的观看了太阳系各行星的运行。教师在界面上进行放大,缩小,左(右,上,下)移动整个太阳系,;给学生以沉浸感,使学生能体验虚拟世界的太阳系。在界面设计方面,综合考虑了教学课堂要吸引学生注意力且调动学生积极性,尽量做到了界面的美观和功能的实用。
e. 团队成员估计各自任务所需时间
|
团队成员 |
任务 |
估计时间(天) |
|
马仲山 |
可行性研究,编码 |
18 |
|
马世芳 |
需求分析,总体设计 |
13 |
|
马婧(12) |
基于原型的项目调研,模块设计 |
9 |
|
马婧(13) |
基于原型的项目分析,原型设计 |
9 |
|
张俊逸 |
需求改进与系统设计 |
8 |
|
马邵辉 |
单元测试,综合测试 |
6 |
f. 使用WBS工具,拆分项目,创建自己的看板图和燃尽图。

燃尽图:

任务二:
总体设计的基本目标就是概要地回答系统应该如何实现。所以设计在任何工程产品或系统中,是开发阶段的第一步。设计可以定义为应用各种技术和原理,例如UML图模型,就是一个很好的实现总体设计的工具。系统的总体设计使在前面系统分析的基础上,为后期将要构造的系统实体建立一个模型。构造这样的模型就需要很多设计模型。而这些设计模型当中,,一些基本的技术和工具起到了重要的作用。才使得总体设计游刃有余。完成开发。以下为总体设计结构图:

以下为需求分析阶段的用例图:

任务三
团队项目概要设计说明书github地址:https://github.com/teammzs/project9
团队项目软件需求规格说明书github地址:https://github.com/teammzs/Demo7/tree/master
任务四
问题一:系统总体设计和需求分析的关系是什么?
答:在我认为需求分析的结果是系统总体设计的依据。因为有了需求才会有设计,通过需求分析进行系统总体设计,在软件项目的开发过程中,系统的需求分析和设计是至关重要的环节,是软件设计和编码的基础,也是项目开始实施最容易忽视的环节,需求分析的质量直接关系到项目的进度和项目的成败。
问题二:如何设计系统的总体结构?
答:首先我在上一个问题中提到的一样,需求分析使系统总体结构设计的依据和方向,所以系统结构设计还是要以需求分析开始。系统设计工作应该自顶向下地进行。首先是总体设计,分模块设计和配置方案设计,然后再进行详细设计,逐层深入进行直至进行每一个模块的设计。总体设计主要是指在需求分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。而详细设计是在系统总体结构之下,进行详细的分支设计。
项目分工
|
分工 |
成员 |
任务量 |
|
任务一 |
张俊逸、马世芳 |
40% |
|
任务二 |
马仲山 |
30% |
|
任务三 |
大马婧、小马婧 |
20% |
|
任务四 |
马绍辉 |
10% |
项目总结:
在经过此次的软件工程团队项目,本组成员对于软件开发的流程有了详细的理解。作为一个团队,统筹规划是多么的重要;并且要想使一个团队高效地运转起来,有多么的不容易。一开始,我们都觉得,对于开发一个软件,只要在最后能够生产出一个可以使用的产品就算完成任务,而对于项目文档以及前期设计并没有太看重。但是在实际的实践操作过程中,我们发现,盲目地去编写代码,而没有一份详细的规划作为指导,会极大程度地降低我们的开发效率。所以在一开始我们组成员进行了详细的分工,明确了各自的任务以及要求,而小组成员完成的也很认真及时,最终确保了实验的顺利进行。
《F4+2团队项目需求改进与系统设计》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- Summary: Prime
最近遇到很多问题都跟Prime有关,于是总结一下: Prime definition:A prime number (or a prime) is a natural number greater t ...
- java 事件通告写法
使用场景: 自己模块发生变化后可能引起其他模块变化的部分,需要添加事件通告,通知其他模块. 使用模式: 观察者模式 (以User类为例)写法: 1.创建接口: public interface IUs ...
- n的二进制中有几个1
实例十七:n的二进制中有几个1 方法:result=n & (n-1) n&(n-1)的目的使最低位的1不断翻转. 比如:n=108,其二进制表示为0110 1100,则n& ...
- 20154312 曾林 EXP7 网络欺诈防范
目录 1.基础问题回答 ----1.1.通常在什么场景下容易受到DNS spoof攻击 ----1.2.在日常生活工作中如何防范以上两攻击方法 2.实践总结与体会 3.实践过程记录 ----3.1.简 ...
- 让nodepad++编辑时链接能双击打开
让nodepad++编辑时链接能双击打开,Notepad++自动把代码或编辑状态里的链接或URL地址转成可点击的链接,当你双击该URL会打开相应的网页地址,不用复制地址到浏览器打开了,非常方便好用. ...
- 最新 mysql登录报错“Access denied for user 'root'@'localhost' (using password: NO”的处理方法
1.关闭正在运行的MySQL.2.打开DOS窗口,转到mysql\bin目录.3.输入mysqld --skip-grant-tables回车.如果没有出现提示信息,那就对了.(正常的情况是光标闪烁没 ...
- ACM第二站————STL之stack
栈,作为一种最基础的数据结构(栈还是一种内存的存储形式,就不介绍了),在各种数据结构的题目都会间接或者直接用到. 栈是一种受到限制的线性表,其限制是仅允许在表的一端进行插入和删除运算.这也给予了栈的一 ...
- OpenCV Using Python——基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 (光流、场景流)
https://blog.csdn.net/shadow_guo/article/details/44312691 基于SURF特征提取和金字塔LK光流法的单目视觉三维重建 1. 单目视觉三维重建问题 ...
- Spring Boot + thymeleaf 实现文件上传下载
参考博客:https://juejin.im/post/5a326dcaf265da431048685e 技术选型:spring boot 2.1.1+thymeleaf+maven 码云地址:htt ...
- Python3基础 str """ 多行字符串
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...