《F4+2团队项目需求改进与系统设计》

时间:2024-06-15 13:36:32

任务一

a.分析《动态的太阳系模型项目需求规格说明书》初稿的不足。

任务概述描述的有些不具体,功能的规定不详细,在此次作业进行了修改。

b.参考《构建之法》8.5节功能的定位和优先级,给出功能分析的四个象限。

第一象限(杀手功能,必要需求):1.系统有多视角。2.太阳系是可以放大、缩小的,并且保证放大、缩小后行星照样能正确地运行。

第二象限(外围功能,必要需求):模拟系统界面逼真且美观,功能实用。

第三象限(外围功能,辅助需求):用户进入系统可以直接对系统进行操作。

第四象限(杀手功能,辅助需求):近日、远日行星的显示,放大、缩小、左、右、上、下移动功能,多视角观察太阳系概貌,行星运行、静止以及初始状态复原。

《F4+2团队项目需求改进与系统设计》

c.团队项目的WBS

《F4+2团队项目需求改进与系统设计》

d. 请以讲故事的方式介绍你们的项目中的功能,介绍一个场景,用户如何使用这项功能,解决了用户的什么问题。

l  场景:课堂教学

教师:同学们上课,这节课我们来认识一下太阳系概貌。(单用户系统所以无需输入密码及用户名等,直接打开系统,初始界面是整个太阳系静态图)

学生:请问老师,这些行星如何在太阳系中运动呢?

教师:那现在同学们请认真观看大屏幕。(先选定侧视视角,各个行星自己开始根据原先设定好的运行。教师也可以放大,缩小,左(右,上,下)移动整个太阳系,在太阳系运行过程中,可以暂停行星的运行,使太阳系处于静止状态,再次点击运行,行星会接着动起来。如果想回到最初的状态,点一下复原按钮,整个太阳系又回到了此视角下的最初始的状态。)

学生:老师,我对这些行星的运行方式还是有些不清楚,有其他角度的运行方式吗?

教师:我们现在来看一下,这些行星在俯视的时候是怎样运行的。(回到主界面,选择俯视模式,系统自己播放,教师也可与测试模式一样,实现放大、缩小、平移、静止和运行功能)

l  解决的问题

此系统,在功能方面,通过虚拟仿真技术发挥信息教学的优势,使得学生快速的认识学习了太阳系,以及各个行星的运行方式。并通过侧视与俯视两个视角,更清晰直观的观看了太阳系各行星的运行。教师在界面上进行放大,缩小,左(右,上,下)移动整个太阳系,;给学生以沉浸感,使学生能体验虚拟世界的太阳系。在界面设计方面,综合考虑了教学课堂要吸引学生注意力且调动学生积极性,尽量做到了界面的美观和功能的实用。

e. 团队成员估计各自任务所需时间

团队成员

任务

估计时间(天)

马仲山

可行性研究,编码

18

马世芳

需求分析,总体设计

13

马婧(12)

基于原型的项目调研,模块设计

9

马婧(13)

基于原型的项目分析,原型设计

9

张俊逸

需求改进与系统设计

8

马邵辉

单元测试,综合测试

6

f. 使用WBS工具,拆分项目,创建自己的看板图和燃尽图。

《F4+2团队项目需求改进与系统设计》

燃尽图:

《F4+2团队项目需求改进与系统设计》

任务二:

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

《F4+2团队项目需求改进与系统设计》

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

《F4+2团队项目需求改进与系统设计》

任务三

团队项目概要设计说明书github地址:https://github.com/teammzs/project9

团队项目软件需求规格说明书github地址:https://github.com/teammzs/Demo7/tree/master

任务四

 

问题一:系统总体设计和需求分析的关系是什么?

答:在我认为需求分析的结果是系统总体设计的依据。因为有了需求才会有设计,通过需求分析进行系统总体设计,在软件项目的开发过程中,系统的需求分析和设计是至关重要的环节,是软件设计和编码的基础,也是项目开始实施最容易忽视的环节,需求分析的质量直接关系到项目的进度和项目的成败。

问题二:如何设计系统的总体结构?

答:首先我在上一个问题中提到的一样,需求分析使系统总体结构设计的依据和方向,所以系统结构设计还是要以需求分析开始。系统设计工作应该自顶向下地进行。首先是总体设计,分模块设计和配置方案设计,然后再进行详细设计,逐层深入进行直至进行每一个模块的设计。总体设计主要是指在需求分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。而详细设计是在系统总体结构之下,进行详细的分支设计。

项目分工

分工

成员

任务量

任务一

张俊逸、马世芳

40%

任务二

马仲山

30%

任务三

大马婧、小马婧

20%

任务四

马绍辉

10%

项目总结:

在经过此次的软件工程团队项目,本组成员对于软件开发的流程有了详细的理解。作为一个团队,统筹规划是多么的重要;并且要想使一个团队高效地运转起来,有多么的不容易。一开始,我们都觉得,对于开发一个软件,只要在最后能够生产出一个可以使用的产品就算完成任务,而对于项目文档以及前期设计并没有太看重。但是在实际的实践操作过程中,我们发现,盲目地去编写代码,而没有一份详细的规划作为指导,会极大程度地降低我们的开发效率。所以在一开始我们组成员进行了详细的分工,明确了各自的任务以及要求,而小组成员完成的也很认真及时,最终确保了实验的顺利进行。