作业三-分析与设计

一、需求分析:

软件的最终目的是用来解决用户的某些问题,需求分析就是要理解要解决的问题,真正明确用户需求。初步的需求分析:

1.调研文档:

为了给您提供更好的服务,希望您能抽出几分钟时间,将您的感受和建议告诉我们,我们非常重视每位用户的宝贵意见,期待您的参与!现在我们就马上开始吧!

您的身份:

A老师(跳到第一题)

B.家长(跳到第十一题)

C.学生(跳到第二十一题)

1.你教的是几年级的学生:

A.一年级       B.二年级       C.三年级

D.四年级       E.五年级       F.六年级

2.你使用过类似的四则运算的软件吗:

A有           B没有

3.你支持学生使用软件来学习吗:

A.支持         B不支持

4.给学生一次布置的作业量多少合适:

A.30           B.40           C.50          D其他

5.给学生布置作业什么样的频率合适:

A一天两次     B一天一次     C两天一次

6.学生需要错题本吗:

A需要         B不需要

7.需要错题重复测试吗:

A需要         B不需要

8.你希望有自己出题给学生作的功能吗:

A希望         B不希望

9.你觉得我们的软件对学生帮助大吗:

A大           B一般般       C没什么效果

10.你对我们的软件有什么期望或建议:

11.你的身份是孩子的:

A父亲         B母亲

12.你的孩子是几年级的学生:

A.一年级       B.二年级       C.三年级

D.四年级       E.五年级       F.六年级

13.你使用过类似的四则运算的软件吗:

A有           B没有

14.你支持孩子使用软件来学习吗:

A.支持         B不支持

15.你觉得孩子学习需要监督吗:

A需要         B不需要

16.给学生一次布置的作业量多少合适:

A.30           B.40           C.50          D其他

17.对于不会的题目,你更愿意让孩子:

A自己钻研     B.请教别人

18.你孩子的自主学习性如何:

A很强         B一般         C需要监督

19.你觉得我们的软件对孩子帮助大吗:

A大           B一般般       C没什么效果

20.你对我们的软件有什么期望或者建议:

21.性别:

A.男           B.女

22.今年上几年级:

A.一年级       B.二年级       C.三年级

D.四年级       E.五年级       F.六年级

23.你使用过类似的四则运算的软件吗:

A有           B没有

24.你喜欢用什么样的背景:

A卡通图案     B风景图       C都行        D其他

25.你自己做练习题时希望做多少道题:

A.20           B.30           C.40          D其他

26.对于学习,你更愿意把时间花在:

A.自主学习     B.听老师讲课

27.对于不会的题目,你更愿意:

A自己钻研     B.请教别人

28.你觉得我们的软件对你帮助大吗:

A大           B一般般       C没什么效果

2.调研结果:

用户1:ADBABBAAAA无

用户2:BABBBBBAAB无

用户3:AABACBAAAB希望好用

用户4:CAAAAAAAA

用户5:BAAAAABBBB

用户6:AABBCBACAC

用户7:CABABABAAB

用户8:CABBBABBBB

用户9:CBBBBBBBBB

用户10:CBABAAABA

2. 撰写对应项目的软件需求规格说明书

提供《需求规格说明书》的Git链接:https://gitee.com/fivefive610611/four_operations/attach_files

提供《需求规格说明书》的石墨链接:https://shimo.im/docs/zA8jBD3FhmAoqOxF/

二、原型设计

原型设计能够在表现层将设计合成一个逻辑整体,用户能和你一起看到未来交互的软件蓝图、功能和效果,获得较真实的感受,在不断讨论的基础上完善未来的设计思想。因此,原型设计能起到有效沟通的作用,漂亮,直观的原型图更是让人赏心悦目。

提供原型设计的墨刀链接地址:https://modao.cc/workspace/apps/p877325E2E81524190782787

三、用例图、用例规约

  • 用例图
  • 对一些主要用例写下用例规约

    1.用例名称:用户(教师、学生、家长)登录

    简要描述:教师、学生、家长登录到系统

    参与者:教师、学生、家长和系统

    前置条件:用户已经注册

    基本流:1.用户进入登录界面

    2.输入账户密码,选择分类(教师、学生、家长)

    3.登录到界面

    备选流:账号或密码错误时提示用户

    2.用例名称:教师创建班级

    简要描述:教师通过创建班级让学生加入

    参与者:教师、系统

    前置条件:教师已登录

    基本流:1.教师选择创建班级操作

    2.输入班级名称、班级邀请码

    3.完成创建班级

    备选流:可修改班级名称

    3.用例名称:教师出题

    简要描述:教师在系统做出出题的相关操作

    参与者:教师、系统

    前置条件:教师已登录

    基本流:1.教师选择出题操作

    2.输入题目数量、发布时间和截止日期

    3.完成出题操作

    4可在发布题目之前修改数量、发布时间和截止日期

    5.可在发布之前取消出题
            6.点击“提交并发布”

  • 备选流:选择返回操作回到主界面

    4.用例名称:用户(教师、学生、家长)查看作业

    简要描述:教师、学生、家长查看以往作业

    参与者:教师、学生、家长和系统

    前置条件:用户已登录

    基本流:1.选择查看作业操作

    2.选择作业的日期,查看所有学生作业

    3.选择学生,查看该学生往期所有作业

    4.查看作业分数排行(每期作业/总的作业)

    备选流:选择返回操作回到主界面

    5.用例名称:学生加入班级

    简要描述:学生加入到教师创建的班级

    参与者:学生和系统

    前置条件:学生已登录

    基本流:1.学生选择加入班级操作

    2.填写班级邀请码

    3.加入到班级

    4.邀请码错误或不存在时提示用户

    备选流:选择返回操作回到主界面

    6.用例名称:学生答题

    简要描述:学生做教师发布的作业

    参与者:学生和系统

    前置条件:学生已登录

    基本流:1.进入作业界面 
                  2.进行答题操作(可选择作业测试还是自我练习)

    3.提交  
                 4.未答题或未按时提交者分数记为0              
                 5.提交后系统自动改题评分,然后将做题情况记录到该学生的信息中,并显示到界面

  • 6.学生可以继续下面的操作
  • 备选流:选择返回操作回到主界面

    7.用例名称:学生查看错题

    简要描述:学生查看做错的题目

    参与者:学生和系统

    前置条件:学生已登录

    基本流:1.选择查看做题操作

    2.查看每期或往期所有错题

    备选流:选择返回操作回到主界面

    8.用例名称:家长奖励

    简要描述:家长奖励自己的孩子黄金豆

    参与者:学家长和系统

    前置条件:家长已登录

    基本流:1.家长选择奖励操作

    2.输入奖励黄金豆的数量

    3.完成奖励

    备选流:选择返回操作回到主界面

四、顺序图

五、类图

五、编码规范

语法

?  用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法。

?  嵌套元素应当缩进一次(即两个空格)。

?  对于属性的定义,确保全部使用双引号,绝不要使用单引号。

?  不要在自闭合元素的尾部添加斜线。

?  不要省略可选的结束标签(closing tag)(例如</body>)。

命名规范

?  1.必须标注文档类型 <!DOCTYPE html>

?  2.尽可能为文档标注语言属性 <html lang="zh-CN">

?  3.明确声明字符编码 <meta charset="UTF-8">

?  4.代码要符合语义化,并且尽量使用最少的标签并保持最小的复杂度。

?  5.涉及到引号一律使用双引号,命名一律使用小写,连接单词一律用中横线-,

?  6.可缩写的属性尽可能使用缩写,值为0的属性省略单位,小于1的小数可省略前面的0

命名方式

?  命名是功能的描述,如果不知如何命名,把能想到的中文名字翻译成看着最顺眼的英文

?  对于功能复杂的命名,可使用”是什么-什么特性”的命名方式,如”text-lesser”代表样式地位更轻一点的文本,”dialog-open”代表打开了的弹窗

?  可充分利用语意化标签,配合直接子元素选择器去定位元素,省去一部分元素的命名

JS命名规约##

?  1.标识符

?  区分大小写

?  第一个字符必须是字母、下划线(_)、或者是$

?  后面的可以是字母、数字、下划线、$

?  2.使用是实际意义的单词

?  3.变量使用驼峰规则,第一个单词首字母小写,后面单词首字母大写

?  4.变量使用名词,方法函数使用动词开头,常量全部用大写字母,函数创建对象首字母大写

六、成员分工情况

丁张俊:调研文档、类图

庄实达:软件需求分析说明书、顺序图

杨冠裕:用例规约、编码规范

蓝晓鹏:用例图

林龙泉:原型设计、描述成员具体分工

原文地址:https://www.cnblogs.com/llQ13/p/9063389.html

时间: 2024-09-29 00:31:01

作业三-分析与设计的相关文章

作业三 分析统计报告 包婷婷

web服务器分析与设计(三)

面向对象分析与设计第二步:健壮性分析,完善对象 通过上一篇的分析,已经得到了构建系统中最重要的对象-----实体对象,它们封装着构成系统最重要的数据,实体数据是系统的生命. 但是光有实体还系统是运转不起来的,这里通过健壮性分析来发现边界,控制对象,以大致完成系统对象的发现. 健壮性分析同样是以用例为单位.通过对每一个用例的分析,从中发现以及抽象出边界对象,控制对象. 边界对象:接收外部命令:控制对象:程序逻辑:实体对象:重要数据: 从用例1(U1)开始分析: 上网者:打开网站(www.xxx.c

JAVA作业三

(一)学习总结 1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("Gra

采用[ICONIX] 方法实践分析和设计之三 [需求复核](转)

需求复核旨在确保用例和域模型同时满足客户的功能性需求.同时确保客户知道开发小组将根据这些需求做何种设计.同时它也是系统分析阶段的一个里程碑(milestone).      这一阶段在ICONIX方法中的位置如下图:      三巨头的首次聚首:客户代表,开发小组代表,经理就已有的工具(用例,原型和域模型)帮助客户理解其需求,并确定系统的功能需求.在这一过程中,ICONIX方法认为可跟踪性(traceability)是非常关键的,它强调清楚每种需求是如何转换为一个或多个用例,以及域模型中的一个或

采用[ICONIX] 方法实践分析和设计之六 [时序图](转)

采用[ICONIX] 方法实践BLOG设计之六 [时序图] 在前几篇文章中,我们分别进行了域模型和用例建模,并使用 Robustness工具进一步分析验证了相应用例的处理流程,并在相应模型(域模型)的基础上,通过Robustness方法引入相关的边界对象,控制对象(控制器),并更新了相应域模型中类的属性(字段).下面就可以进入到交互建模阶段了.如下图:    作为交互建模本身,就是要通过寻找对象之间的交互关系,进而进行方法(操作或行为)分配.    正所谓"只有在所有的用例为所有事件进程建立了交

采用[ICONIX] 方法实践分析和设计之四 [健壮性分析]

在前三章中通过(问题域)建模和用例分析之后,在许多的UML书中可能接下来就要进行时序图和协同图的绘制了.但是问题好像还没那么简单,因为这里有一条鸿沟还没有跨过去,正如下图所示:                    在我刚学开始学习 UML时,在拿到用例文本时要去画时序图总感觉有些别扭,不知如何才能将文本中的意思完全用图的形式表达出来,总是感觉分析出来的文本中缺了一些很重要的东西, 而这些被丢掉的对象最终可能会导致无法绘制时序图,但又找不出用例文本中到底还有什么东西被遗漏,最终导致设计瘫痪.后来

采用[ICONIX] 方法实践分析和设计之二 [用例建模](转)

在上一篇文章中我们了解并进行了域建模,换言之我们有了一个好的开始,起码开发人员对自己要开发的软件已有了初步的认识,且也得到了进行交流时可以使用的术语表. 本章将会在前一篇的基本上进一步阐述使用ICONIX方法实践用例建模,同样在文章的最后还会有在这个阶段最容易犯的10个错误,以给大家提醒或在分析过程中进行参照.     本文在ICONIX方法中所处的位置如下图(红圈标记的地方)     在开始进行用例建模之前,我们需要对这一过程有一些粗线条的认识,如果您以前做过或学习过这方面的知识,可以把下面的

采用[ICONIX] 方法实践分析和设计之一 [问题域建模](转)

前言:自从加入 Discuz!NT开发小组开始.我就放弃了以前的软件设计思想,转而去使用项目组所规范使用的架构设计思想和开发模式来进行开发.这样的时间一直持续到了今天.虽然我向往面向对象的开发方式,且向来对不够OO的设计存有偏见.但人必定要生存,特别是已经做了父亲的程序员来说,这种压力是不容回避的. 但今天开始的这一系列的文章将会说是一次对OO的一种回归.也可以说是对已有的设计思想的一种思考.在我从这中书柜上拿出这本已有两年多没再看的"用例驱动的UML对象建模应用--实例分析"(App

《面对对象分析与设计》书摘

太久没有读这些基础概念了.关键信息摘录备忘. 二.对象模型 面向对象编程是一种实现的方法,在这种方法中,程序被组织成许多组相互劣作的对象,每个对象代表某个类的实例,而类则属于一个通过继承关系形成的层次关系. 面对对象设计是一种设计方法,包含面对对象分解的过程和一种表示法,这种表示法用于展现被设计系统的逻辑模型和物理模型.静态模型和动态模型. 面向对象分析是一种分析方法,这种方法利用从问题域的词汇表中找到的类和对象来分析需求.  对象模型要素 抽象 封装 模块化 层次结构 类型 并发 持久 抽象