《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 安装并启动 ...
随机推荐
- react-native 0.57 run-ios 失败解决办法
React Native 日常报错 'config.h' file not found 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_ ...
- ATG精准科技-前端面试题
1.请写出以下结果 for(var i=0; i<10; i++){ setTimeout(function () { console.log(i) },10) } 结果:打印10次190解析: ...
- cocoapods 配置
二.CocoaPods 安装 CocoaPods可以方便地通过Mac自带的RubyGems安装. 打开Terminal(Mac电脑自带的终端): (1).设置ruby的软件源 这是因为ruby的软件源 ...
- 44 道 JavaScript 难题
JavaScript Puzzlers原文 1. ["1", "2", "3"].map(parseInt) 答案:[1, NaN, N ...
- Python之路----列表推导式和生成器的表达式
列表推导式 egg_list=['鸡蛋%s'%i for i in range(10)] print(egg_list) 列表推导式 推导过程 egg_list = [] for i in range ...
- ELK学习笔记之ELK分析nginx日志
0x00 配置FIlebeat搜集syslog #安装 rpm -ivh filebeat-6.2.3-x86_64.rpm mv /etc/filebeat/filebeat.yml /etc/fi ...
- UVA1714 Keyboarding(bfs)
UVA1714 Keyboarding bfs 坑点很多的一题(由于一本通的辣鸡翻译会错题意*n). 1.多组数据 2.如果某方向上没有不同字符光标不会动 我们每次预处理出每个点向四个方向下次到达的点 ...
- gcc5.2版本安装详解
gcc5.2版本安装详解 1.下载gcc-5.2安装包 gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/gcc-5.2浏览地址:http://ftp.gnu.org/gnu ...
- 20145310《网络对抗技术》Exp6 信息搜集技术
实验内容 本次实验的目标是掌握信息搜集的最基础技能.具体有 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 ( ...
- Win7远程桌面出现凭据不正确的解决办法
在自已平时的开发环境中,出现过WIN7远程桌面凭据不正确,但登录账号和密码是确认正确的问题.解决办法如下图所示: