码迷,mamicode.com
首页 > 其他好文 > 详细

分析与设计

时间:2018-05-20 15:32:36      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:font   分行   括号   解决   dos   alt   git   tin   The   

一、项目分工

  郭思卿201521122118    类图、原型设计

  陈凇旖201521122110    顺序图、编码规范

  林泓晖201521122107    需求分析、用例图、用例规约

二、需求分析

1.访问软件项目的真实用户

Q1:您的身份是?

  A.教师  B.学生  C.家长

Q2:您更倾向于什么难度的算术题?

  A.简单的   B.中等的   C.复杂的

Q3:您觉得,四则运算是否需要加入分数?

  A.需要  B.不需要  C.都可以

Q4:您觉得,可以评价及奖励的功能怎么样?

  A.很不错  B.不怎么样  C.没有用

Q5:您觉得,一个软件应该更注重实用性,还是更注重界面的华丽?

  A.实用性   B.界面的华丽   C.都可以

 

用户A  AABCB

用户B  ACCAA

用户C  BACBA

用户D  CCAAA

用户E  CBACB

用户F  AAAAB

用户G  ACCBA

用户H  ABBCC

用户I  BBAAB

用户J  CABCA

2.软件需求规格说明书

  https://gitee.com/yiusnow/four_operations

三、原型设计

   

四、用例图、用例规约

1.用例图

技术分享图片

2.用例规约(主要)

用例ID: tea02

用例名称: 出题

简要说明: 本用例描述已登录教师用户使用“出题”功能的过程

参与者: 教师,后台服务系统

涉众及其关注点:

----教师:手动输入题目,或者选择参数随机出题,设置开始时间、截止时间和做题时间

----后台服务系统:根据输入的参数随机出题,校对题目的合理性

前置条件: 教师用户已通过身份验证

后置条件:所出的全部题目合理,出题成功

扩展点:无

触发事件: 教师用户在功能列表页面选择“出题”功能

基本流: 

1.如果要手动出题,就在题目输入框中输入题目,每一行为一题,用换行表示间隔;如果要自动出题,就在各个参数输入框中选择输入出题参数,点击“出题”按钮,题目便显示在题目输入框中,可随意修改

2.点击“下一步”按钮

3.选择题目开始时间、截止时间和做题时间,点击“发布”按钮

4.显示“出题成功”,点击“返回”按钮就返回功能列表页面,用例结束

备选流:

*a. 在基本流的任何一步骤执行过程中用户选择“取消”操作:

         系统取消当前操作或撤销当前事务,返回功能列表页面,用例结束

*b. 在基本流的任何一步骤执行过程中用户超时(10秒):

         系统取消当前操作,返回功能列表页面,用例结束

2a. 题目无效:

         系统提示用户哪些题目是无效的,提示用户修改,页面不跳转,用例继续

3a. 时间不合理:

         系统提示用户时间设置不合理,提示用户修改,页面不跳转,用例继续

4a. 系统错误:

    1. 系统取消当前操作或撤销当前事务
    2. 系统提示用户相应的错误信息
    3. 用户选择返回,用例结束

成功场景:

    1. 出题成功:基本流
    2. 取消出题:基本流的某个步骤用户选择了“取消”操作
    3. 操作输入超时:基本流中的某个步骤客户输入超时

失败场景:

    1. 题目无效:基本流第1步骤中最后的题目不合理
    2. 时间不合理:基本流第3步骤中某个时间选项设置不合理

特殊需求:

         无

未解决问题:

         无

 

用例ID:01

用例名称: 注册

简要说明: 本用例描述未登录用户使用“注册”功能的过程

参与者: 未注册用户,后台服务系统

涉众及其关注点:

----未注册用户:输入个人信息,如果不是要注册教师用户则需要输入邀请码

----后台服务系统:验证用户输入的个人信息和邀请码,准确记录用户的个人信息

前置条件:未登录用户尚未注册账号

后置条件:用户成功注册账号,可以登陆系统

扩展点:无

触发事件: 未登录用户在登陆页面选择“注册”功能

基本流: 

1.按照提示输入个人信息,选择用户类型(教师、学生、家长),姓名和联系方式为必填,如果用户类型选择了学生或者家长,则需要输入邀请码,如果选择教师则不需要

2.点击“注册”按钮

3.显示“注册成功”,点击“返回”就返回到登陆页面,用例结束

备选流:

*a. 在基本流的任何一步骤执行过程中用户选择“取消”操作:

         系统取消当前操作或撤销当前事务,返回功能列表页面,用例结束

*b. 在基本流的任何一步骤执行过程中用户超时(10秒):

         系统取消当前操作,返回功能列表页面,用例结束

2a. 个人信息无效:

  系统提示个人信息中带有不支持的字符,或者是该个人信息已注册,提示用户修改页面不跳转,用例继续

2b. 邀请码错误:

         系统提示用户输入的邀请码错误,提示用户修改,页面不跳转,用例继续

3a. 系统错误:

1.系统取消当前操作或撤销当前事务

2.系统提示用户相应的错误信息

3.用户选择返回,用例结束

成功场景:

    1. 注册成功:基本流
    2. 取消注册:基本流的某个步骤用户选择了“取消”操作
    3. 操作输入超时:基本流中的某个步骤客户输入超时

失败场景:

    1. 个人信息无效:基本流第1步骤中输入的个人信息无效
    2. 邀请码错误:基本流第1步骤中输入的邀请码错误

特殊需求:

         无

未解决问题:

         无

 

用例ID:03

用例名称: 评价及奖励

简要说明: 本用例描述已登录教师或家长用户使用“评价及奖励”功能的过程

参与者: 教师用户或者家长用户,后台服务系统

涉众及其关注点:

----教师用户或者家长用户:输入评价,选择奖励

----后台服务系统:验证用户是否评价了或者奖励了,准确记录用户的评价及奖励

前置条件:教师用户或者家长用户身份已验证

后置条件:用户操作成功,可以返回再次查看,或者返回到某学生的已答题列表页面

扩展点:无

触发事件: 已登录教师或家长用户进入到某学生的某次作业中

基本流: 

1.在评价输入框中输入评价,选择奖励

2.点击“发布”按钮

3.显示“成功”,点击“返回”可再次查看刚才的内容以及自己的评价奖励,点击“返回列表”就返回到某学生的已答题列表页面,用例结束

备选流:

*a. 在基本流的任何一步骤执行过程中用户选择“取消”操作:

         系统取消当前操作或撤销当前事务,返回功能列表页面,用例结束

*b. 在基本流的任何一步骤执行过程中用户超时(10秒):

         系统取消当前操作,返回功能列表页面,用例结束

2a. 操作无效:

         既没有评价,也没有奖励,系统提示用户修改,页面不跳转,用例继续

3a. 系统错误:

1.系统取消当前操作或撤销当前事务

2.系统提示用户相应的错误信息

3.用户选择返回,用例结束

成功场景:

    1. 操作成功:基本流
    2. 取消操作:基本流的某个步骤用户选择了“取消”操作
    3. 操作输入超时:基本流中的某个步骤客户输入超时

失败场景:

    1. 操作无效:基本流第1步骤中既没有进行评价,也没有进行奖励

特殊需求:

  无

未解决问题:

  无

 

五、顺序图

 技术分享图片

六、类图

 技术分享图片

七、编码规范

1  缩进

  4个空格

2  行宽

  100字符

3  括号

  在复杂的条件表达式中,用括号清楚地表示逻辑优先级。

4  断行与空白的{ }行

单行:

if (condition)

                               DoSomething();

else

                               DoSomethingElse();

多行:

if ( condition)

{

                               DoSomething();

                               ...

}

else

{

                               DoSomethingElse();

                               ...

}

5  分行

不要把多行语句放在一行上。

a = 1; b = 2;           // bogus

if (fFoo) Bar();       // bogus

不要把不同的变量定义在一行上。

Foo foo1, foo2;         // bogus

6  命名

例:

function_Plus/functionPlus/funcPlus/fcPlus

7  下划线问题

  尽量不以下划线开头,融合命名长于3段则用下划线隔开

8  大小写问题

  类/类型/变量:名词或组合名词,如Member、ProductInfo等。

  函数则用动词或动宾组合词来表示,如get/set; RenderPage()。

9  注释

注释是用来解释程序做什么(What),为什么这样做(Why),以及要特别注意的地方的,如下:

//go thru the array, note the last element is at [len-1]

for (i = 0; i<len; i++)

{

                               DoSomeThing();

}

复杂的注释应该放在函数头,很多函数头的注释都是解释参数的类型等的,如果程序正文已经能够说明参数的类型in/out等,就不要重复!

注释也要随着程序的修改而不断更新,一个误导的(Misleading)注释往往比没有注释更糟糕。

另外,注释(包括所有源代码)应只用ASCII字符,不要用中文或其他特殊字符,它们会极大地影响程序的可移植性。

分析与设计

标签:font   分行   括号   解决   dos   alt   git   tin   The   

原文地址:https://www.cnblogs.com/yiusnow/p/9054533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!