团队作业3 需求分析与设计


一、需求分析:

1.用户访问:

我们本身做的就是具有在线问卷调查功能的软件,所以我们就没有采用问卷调查的方式来进行用户调研。但是从其他团队所作的项目中可以看出,他们大多数还是用问卷调查这种方式来进行用户调研,所以这种方式对于大学生来说,还是受欢迎的。而且在朋友圈里,也经常可以看到问卷调查这种方式。

2.需求规格说明书的git链接

This is an example link

3.项目的NABCD

need需求:面向学生群体的问卷平台是当前市面上所缺少的存在,大多数校园针对性在线问卷工作都是由教育机构网站兼职操作,要么参与度低、要么任务式流程缺少了答案的真实性,这正是说明市场需要一个专用的平台接入广大的学生群体,提供一个自由、开放的问卷平台

approach做法:提供两套用户账户功能,发布者账户可在本平台上进行自定义的调查内容设定、编写,并设定参与者的相关信息条件限制(如规定可参与者的年龄、性别等),达到精准投放的效果并通过本平台进行发布。被调查账户可在本平台上填写必要的个人信息后自由选择发布者发布的问卷进                       行填写并提交。而后发布者账户可查看上交的问卷数据统计。

benefit好处:针对校园群体的调查网站,可以让学生、教师等(受调查问卷者)与发布者进行直接而高针对性的信息交流,学生只需拥有一个账号,即可任意参与符合自身条件的调查问卷,发布者也能得到有效而准确的信息

competitors竞争:目前市面上已经存在了不少的调查问卷网平台,但是依然在正常维护运营的平台已经为数不多,如第一调查、集思网等,而多数是处于停滞状态,效率低下

delivery 交付:上线后可在校园论坛和校园APP等场所进行宣传推广,且可以建议问卷发布者通过对用户参与问卷调研环节之后提供相应的奖励措施,促进平台的推广和运营,甚至在条件允许的情况下直接接入校园APP。

4.项目的杀手功能:

专门针对学生群体,拥有最准确的用户指向性,确保问卷调查投放的目标精准、高效。

5.将NABCD要点组织成一段话:

我们的平台以一个完整的问卷调查体系为目标,建立一个问卷调查平台,被调查对象限定在学生群体,发布调查问卷权限向社会各个机构、组织、个人开放。系统主体功能包含完整的发布和填写、后期的数据查询统计。力图做到快、准、简三个原则。

二、原型设计:

1.原型设计的结果和原型设计用到的工具,需要图文并茂

用户主界面:

管理员界面:

用户界面

用户注册界面

三、任务分解:

1.团队项目的WBS

2.成员估计各自任务所需时间

功能 人员 时间
GUI界面 张金伟 罗骏 15h
问卷自定义框架 冯鸣 20h
用户群组系统、账户系统 詹昌锦 卢杰 20h
提交、迁入数据库 叶金蕾 卢杰 25h
查询后台信息 罗骏 詹昌锦 20h
最高权限 网站后台管理 张金伟 叶金蕾 20h

三、编码规范:

1.制定团队的编码规范,给出Git链接

普通变量:
普通变量命名遵循以下规则:
a. 所有字母都使用小写;
b. 对于一个变量使用多个单词的,使用’_'作为每个词的间隔。
例如:$base_dir、$red_rose_price等

静态变量:
静态变量命名遵循以下规则:
a. 静态变量使用小写的s_开头;
b. 静态变量所有字母都使用小写;
c. 多个单词组成的变量名使用’_'作为每个词的间隔。
例子:$s_base_dir、$s_red_rose_prise等。

局部变量:
局部变量命名遵循以下规则:
a. 所有字母使用小写;
b. 变量使用’_'开头;
c. 多个单词组成的局部变量名使用’_'作为每个词间的间隔。
例子:$_base_dir、$_red_rose_price等。

全局变量:
全局变量应该带前缀’g',知道一个变量的作用域是非常重要的。
例如
global $gLOG_LEVEL;
global $gLOG_PATH;
    
全局常量:
全局变量命名遵循以下规则:
a. 所有字母使用大写
b. 全局变量多个单词间使用’_'作为间隔。
例子:$BASE_DIR、$RED_ROSE_PRICE等。

 类:
类命名遵循以下规则:
a. 以大写字母开头;
b. 多个单词组成的变量名,单词之间不用间隔,各个单词首字母大写。
例子:class MyClass 或class DbOracle等。
            
方法或函数:
方法或函数命名遵循以下规则:
a. 首字母小写;
b. 多个单词间不使用间隔,除第一个单词外,其他单词首字母大写。
例子:function myFunction ()或function myDbOracle ()等。

    缩写词:
当变量名或者其他命名中遇到缩写词时,参照具体的命名规则,而不采用缩写词原来的全部大写的方式。
例子:function myPear(不是myPEAR) functio getHtmlSource(不是getHTMLSource)。

数据库表名:
数据库表名命名遵循以下规范:
a. 表名均使用小写字母;
b. 对于普通数据表,使用_t结尾;
c. 对于视图,使用_v结尾;
d. 对于多个单词组成的表名,使用_间隔;
例子:user_info_t和book_store_v等

数据库字段:
数据库字段命名遵循以下规范:
a. 全部使用小写;
b. 多个单词间使用_间隔。
例子:user_name、rose_price等。

书写规则:
代码缩进:
 使用4个空格作为缩进,而不使用tab缩进

大括号{ }书写规则:
在程序中进行结构控制代码编写,如if、for、while、switch等结构,大括号传统的有两种书写习惯,分别如下:
a.{直接跟在控制语句之后,不换行,如
for ($i=0;$i<$count;$i++) {
echo "test";
}
b.{在控制语句下一行,如
for($i=0;$i<$count;$i++)
{
echo "test";
}

小括号( )和函数、关键词等:
a. 不要把小括号和关键词紧贴在一起,要用一个空格间隔;如if ( $a<$b );
b. 小括号和函数名间没有空格;如$test = date("ymdhis");
c. 除非必要,不要在Return返回语句中使用小括号。 如Return $a;
    
符号书写:
a. 在=符号的两侧,均需留出一个空格;如$a = $b 、if ($a = = $b)等;
b. 在一个申明块,或者实现同样功能的一个块中,要求=号尽量上下对其,左边可以为了保持对齐使用多个空格,而右边要求空一个空格;如下例:
$testa = $aaa;
$testaa = $bbb;
$testaaa = $ccc;

对于控制结构的书写遵循以下规则:
a. 在if条件判断中,如果用到常量判断条件,将常量放在等号或不等号的左边,例如:
if ( 6 == $errorNum ),因为如果你在等式中漏了一个等号,语法检查器会为你报错,可以很快找到错误位置,这样的写法要多注意;
b. switch结构中必须要有default块;
c. 在for和wiile的循环使用中,要警惕continue、break的使用,避免产生类似goto的问题;

如果要在类里面编写构造函数,必须遵循以下规则:
a. 不能在构造函数中有太多实际操作,顶多用来初始化一些值和变量;
b. 不能在构造函数中因为使用操作而返回false或者错误,因为在声明和实例化一个对象的时候,是不能返回错误的;

语句断行, 每行控制在80个字符以内
在代码书写中,遵循以下原则:
a. 尽量保证程序语句一行就是一句,而不要让一行语句太长产生折行;
b. 尽量不要使一行的代码太长,一般控制在80个字符以内;
c. 如果一行代码太长,请使用类似 .= 的方式断行书写;
d. 对于执行数据库的sql语句操作,尽量不要在函数内写sql语句,而先用变量定义sql语句,然后在执行操作的函数中调用定义的变量;
例子:
$sql = "SELECT username,password,address,age,postcode FROM test_t ";
$sql .= " WHERE username='aaa'";
$res = mysql_query($sql);

四、系统设计:

1.系统的架构设计

2.团队项目的数据库设计,并在随笔中提供相应ER图

【成员的完成情况】

【个人的感受】

张金伟:周末小组开了讨论,会上决定该如何实施这个项目,并且也询问了老师,应该如何做好,老师给的建议是从从基础学习,先实现页面的交互,我也在课余时间学习了HTML和CSS的前端视频。发现该项目所需要的技术还是挺多的,自己并不是很了解,打算这周先把前端学好,实现界面的交互。

冯鸣:刚开始做这个团队编程时,自己还是一头雾水,不过在小组的讨论下,内心逐渐有了方向和目标,也大概知道了自己应该做什么内容,接下来的环节,也要好好去做,把自己的每一步都做到最好。接下来的每一步都是十分重要的,要尽力跟随团队的脚步,把这个项目做好。

詹昌锦:本周进行了小组讨论,更加明确了各自的任务,包括项目整体的结构以及整个项目具体的功能,界面设计。目前只有大概的一个雏形,然后我们每个人各自去学习所属任务区域的技术,虽然说现在对技术这些还不是很熟练,但相信经过后面几周的训练,会更加如鱼得水的,我相信我们会做好这个项目的。

罗骏:本周结束之后,我们的团队整个前期准备、规划工作,对后期任务计划已经算是完全完成,接下来就是投入到最重要最有挑战性的实际开发环节中去了,很显然,在此之前我们团队似乎还是一团乱麻一般找不到方向,经过这周团队作业详细的需求分析设计之后,一切都仿佛箭在弦上,接下来的实际操作环节,就是体现我们本周团队计划任务是否有效、合理的阶段。从需求分析到系统设计,我已经感觉到接下来的开发环节比预想的要更加复杂和具有挑战性,总之要尽力配合,协力完成

叶金蕾:在上周的谈论后,我们这周对整个项目的框架运用,服务器等语言选择及编码规范做了一个说明。包括前端界面的样式,具体的功能。我相信通过我们的目录,我们会完成好这个项目。

卢杰:在上周的分工基础上,我们这周对整个项目的流程进行了讨论,包括前端界面如何进行构建,后段语言的选用和处理,相应数据库的连接和规划。虽然现在可能依旧一头雾水,但我们依然在路上,我们从基础知识开始,去学习那些知识,以期待着在接下来的几周内可以一步一个脚印得向上攀爬。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM