软件设计与体系结构实验报告1

1.实验名称

面向对象程序设计-类模型的设计

2.实验目的

通过实验,熟悉并掌握面向对象程序设计模式的选取、设计过程。

3.实验要求

(1) 给出本系统的需求分析,采用“用例法”描述需求的过程,格式如下:

第一步:按照正常处理进行描述

  • 用例名称:
  • 场景:
  • 用例描述:
  • 用例价值:
  • 约束和限制:

第二步:针对每一个正常处理步骤分析对应的异常处理

  • 异常:
  • 异常步骤:

第三步:针对每一个正常处理步骤分析对应的替代处理

  • 替代步骤

第四步:对用例进行可视化

(2) 设计本系统的领域模型,具体过程如下:

第一步:在用例模型中,查找名词列表并提炼

  • 名词列表:
  • 提炼:

第二步:加属性

名词

属性

备注

第三步:用类图表示相互关系

(3) 应用面向对象程序设计的设计原则和设计模式,完成类模型设计,如下:

第一步:根据步骤(2)中类关系图进行类筛选,通过名称映射、属性映射提炼设计类。

第二步:根据步骤(1)用例寻找动词并筛选提炼动词,得到提炼后的结果。

  • 动词:
  • 筛选提炼动词:

第三步:分配职责

第四步:类模型初始图

(4) 精雕细琢,应用设计原则和设计模式,实现类模型优化:

第一步:类的行为设计

  • 找寻变化:
  • 选取设计模式:

第二步:画出优化模型的类图

  1. 实验过程

第一步:按照正常处理进行描述

用例名称:

中通快修技师登录和注册

场景:

Who:技师用户

Where:登录注册界面

When:app的正常使用时间

用例描述:

1.技师用户点击打开中通快修(技师端app)并停留在登录界面。

2.若有账号密码输入账号密码点击登录。

3.若没有账号密码点击注册进行账号密码的注册。

4.输入正确注册格式的(手机号、验证码、新密码)账号密码正确注册后点击去登录按钮进行登录。

5.输入注册好的账号的密码点击登录。

6.若注册过账号密码但是忘记了密码点击忘记密码进行密码找回。

7.正确找回并修改密码后 返回登录界面并输入新找回的密码进行登录

当维修工登录系统时输入维修工的账号密码,登录界面进行校验,并返回响应的结果第一次下载使用中通快修技师维修端,需要先进行账号注册,否则无法登录app。

用例价值:

1.校验账号密码并对相应的用户允与登录操作,起到保护app和用户信息的作用。

2.允许新用户注册使用该app,使新用户可以使用相关资源,以满足各自需求。

约束和限制:

1.中通快修(技师端app)必须能正常使用和稳定的显示给用户使用手册中的包含的功能。

2.使用稳定安全的相关保护机制,不能泄露用户个人信息。

3.排版清晰可见,文字一目了然。

异常:

1.账号密码中有一项或多项不正确导致的无法登录系统。

2.注册时输入不符合要求的账号或密码导致的无法正常注册。

  • 异常步骤:

1.输入错误的账号密码然后点击登录按钮-无法登录-跳出异常处理界面。

2.输入不符合注册要求的账号或密码点击注册-无法注册-跳出对应错误信息。

替代步骤

输入正确格式的手机号、验证码、密码-点击登录-校验后台有没有该用户若没有-跳转到注册页面并提示不存在用户。

输入正确格式的注册信息-点击注册-校验后台有没有该用户若有-跳转到登录页面并提升用户已经存在。

对用例进行可视化

  • 用例名称:

中通快修技师修改密码

  • 场景:

忘记密码或者是新账号第一次登录需要修改密码的情况。

  • 用例描述:

忘记密码或者是新账号第一次登录需要修改密码时,可以进行密码修改,以便于用户的使用。

  • 用例价值:

修改密码,方便用户后续的使用

  • 异常:

输入了不合规范的新密码和手机号和错误的验证码和两次新密码的输入不一样。

  • 异常步骤:

输入错误的手机号-收不到验证码-点击注册-显示异常 输入正确的手机号-输入错误的验证码-点击修改密码-显示异常 输入正确的手机号和对应的验证码-输入不合规范的密码格式-点击修改密码-显示异常 输入正确的手机号和对应的验证码和符合规范的新密码-第二次输入密码与第一次输入不同-点击修改密码-显示异常 输入正确的手机号和对应的验证码和争取的密码格式-点击修改密码-后台校验是否有该新密码相同的旧密码-存在相同密码-显示异常。

  • 替代步骤

输入正确的符合规范的手机号、验证码、新密码。

对用例进行可视化

  • 用例名称:

技师个人信息

  • 场景:

Who:技师用户

Where:登录app之后技师个人信息界面

When:app的正常使用时间

  • 用例描述:

1.平台奖励:进入平台奖励页面,技师可以充值积分。查看积 分明细。

2.技能认证:在技能认证页面,技师需要填写姓名,手机号, 申请维修类型,从业时间,维修经验,操作证,门面名称以 及门面地址。然后点击确定等待后台审核。

3.服务时间:在服务时间页面,技师可以设置今天,明天,后 台三天的具体服务时间,点击提交按钮即可修改完成。

4.设置维修价格表:在设置维修价格表页面中,可以查看技师 设置的故障类型上门费用。点击设置维修价格表页面下方的 修改按钮,可以进入修改故修价格页面。修改完之后,点击 下方的修改即可修改成功。

5.分享二维码:进入分享二维码页面,点击推荐中通快修预约 平台或者推荐技师之后点击推荐会跳转到微信页面,此时可 以将复制信息发送给好友。或者直接扫码二维码。

6.平台使用协议:进入联系客服页面,可以通过电话或者客服 微信进行咨询相关问题。

7.联系客服:技师通过客服微信联系客服

8.设置:技师在设置页面可以修改姓名,性别,手机号码,密 码,头像,门面名称,门面地址以及区域地址,修改信息之 后点击保存数据即可修改完成。

  • 用例价值:完成技师用户用户个人需求
  • 约束和限制:必须成功登录app系统并且app能完整显示和使用功能

L:用例名称:抢单

场景:技工抢单做维修时

用例描述:给技工分发任务的一种方式

用例价值:测试功能是否完善

约束和限制:必须要点击左下方的抢单界面

异常:网络限制或者是未打开GPS定位导致的抢单信息缺失

M:用例名称:订单管理

场景:需要查看当前技师的订单详情时

用例描述:在订单管理页面可以查看到技师所有未完成和已完成订单的详细信息

用例价值:测试功能是否完善

约束和限制:正确点击订单管理界面

N:用例名称:收益管理

场景:需要提现或者查看工作收益时

用例描述:点击收益管理,进入账单明细页面,可以查看到技师每个月的账单信息

用例价值:测试功能是否完善

约束和限制:正确点击收益管理界面

异常:填写了错误的提现信息导致的无法提现

O:用例名称:知识库

场景:需要查看其他技师发表的文章时

用例描述:在知识库页面,可以看到技师发表的文章

用例价值:测试功能是否完善

约束和限制:正确点击知识库

异常:填写了错误的或者违规的信息导致的发表失败异

对用例进行可视化

三.抢单模块

用例名称:抢单模块  

场景:    

Who:顾客、技师

Where:中通快修app

When:当有用户预约订单的时候

用例描述:

1. 用户在平台上传需求订单后,技师可以看到有订单

2. 技师在订单列表中进行抢单

3. 抢单成功,系统显示技师在预约时间内前往目的地进行抢修工作,

用例价值:

技师抢到订单,就可以去完成工作,而用户的设备将会有师傅去进行修复.

约束和限制:

用户界面得使用中文,因为使用者都是中国人

1.技师一次只能抢一个订单,不能提前进行预约下一个订单

2.技师不能了解大概此次订单可以得到多少报酬

3.用户在同一时刻下订单的数额不能太大,可能会造成系统卡顿

4.用户一次只能下一个订单.不能同时下多个订单.

第二步:针对每一个正常处理步骤分析对应的异常处理

异常:

1.用户没有填写预约时间,  

2.用户没有填写预约地点,  

3.用户没有填写故障设备类型,

异常步骤:

1.用户没有填写预约时间,技工无法进行抢单,需要补充填写时间  

2.用户没有填写预约地点,技工无法进行抢单,需要补充填写地点  

3.用户没有填写故障设备类型,技工无法进行抢单,需要补充填写

第三步:针对每一个正常处理步骤分析对应的替代处理

替代步骤

进行验证

第四步:对用例进行可视化

4)首页

l用例名称:订单管理

l场景:

Who:技师

Where:app首页

When:app正常使用时间

l用例描述:

1.进入订单管理页面,查看所有订单讯息

2.点击未完成订单按钮,确认维修还没有维修完成的订单和还没有开始维修的订单。

3.当技师维修完成订单之后,在未完成订单页面,点击订单对应的正在进行按钮进入接单维修页面。

4.技师填写维修情况反馈,上传现场照片,并且点击完成工单收款,进入技师收款页面。

5.在技师收款页面中,选择现金收款或者二维码收款。

6.进入技师现金收款页面,输入支付金额,点击向平台付款,然后选择微信或者支付宝支付金额。

7.进入二维码收款页面,输入收款金额,点击生成二维码,用户扫码付款后,点击确认收款。

8.完成工单收款之后,技师在接单维修页面点击维修完成,该订单则成功已完成订单。

9.点击已完成订单按钮,查看已经完成的订单。

10.点击收益管理按钮,进入账单明细页面,可以查看到技师每个月的账单信息。

11.技师可以将收款金额未提交的点击提交交给后台进行审核,点击页面最下方提交记录进入提交记录页面。

12.进入提交记录页面,可以看到每个月提交的金额审核是否通过。

13.在提交记录页面最下方点击提现按钮,进入提现页面。

14.点击提现按钮,输入支付宝绑定姓名,手机号,提现金额,提现方式,点击提现即可提现完成。

15.在查看评价页面可以看到维修完成的订单用户的评价

16.在知识库页面,可以看到技师发表的文章。

17.点击发表,技师可以发表文章。标题正文写好之后点击保存,再点击下一步。

18.添加图片,并且选择是否匿名用户,是否可以转载,完成之后点击发步文章,即可发布完成。

l用例价值:

1.可以清晰的显示订单完成状况,方便技师与用户的沟通。

2.维修反馈可以确定订单完成情况,以保障每个订单都可以完成。

3.用户评价可以督促技师提升维修质量,使用户体验良好。

4.收益管理可以帮助技师计算收入。

5.知识库促进技师间的技能和情况分析。

l约束和限制:

1.用户需确认并完成付款

2.技师不可以发布不恰当内容

3.需要先接取订单

4.提现需要经过审核

5.需要输入正确的信息

l异常:

1.填写错误提现信息导致无法提现

2.没有上传现场照片导致无法完成订单

3.用户未付款导致无法完成订单

4.未输入内容导致知识库无法发表

5.输入不恰当内容导致知识库无法发表

l异常描述:

1.输入错误提现讯息-点击提现-提现失败

2.点击完成订单-未上传现场照片-弹出错误信息

3.点击完成订单-上传现场照片-用户未付款-弹出错误信息

4.发表知识库-未输入内容-发表失败

5.发表知识库-含有不恰当内容-发表失败

l替代步骤:

1.输入正确提现信息

2.上传照片

3.提醒用户付款

4.输入内容

5.修改不恰当内容

l用例可视化:

2) 设计本系统的领域模型,具体过程如下:

第一步:在用例模型中,查找名词列表并提炼

名词列表:

订单列表、技师、用户、订单、首页、总数。

提炼:

删除⾮领域对象或领域对象的属性。“首页”与系统没有关系,总数是技师订单数量的体现

第二步:加属性

名词

属性

备注

技师

编号

用户

用户名称、预约时间、设备名称、联系电话、服务方式、设备地址、故障描述

这里是给技师提供一个详细信息

订单

状态、总数

状态在其中未体现,根据经验得出

第三步:用类图表示相互关系

(3) 应用面向对象程序设计的设计原则和设计模式,完成类模型设计,如下:

第一步:根据步骤(2)中类关系图进行类筛选,通过名称映射、属性映射提炼设计类。

第二步:根据步骤(1)用例寻找动词并筛选提炼动词,得到提炼后的结果。

动词:点击

筛选提炼动词:

抢单分配给技师类

第三步:分配职责

抢单分配给技师类

第四步:类模型初始图

4) 精雕细琢,应用设计原则和设计模式,实现类模型优化:

第一步:类的行为设计

找寻变化:抢单在类内部进行将信息返回给订单和技师。

选取设计模式:

单一设计原则

第二步:画出优化模型的类图

4.1订单管理

用例名称:订单管理

场景:技师进行收费时

用例价值:在订单管理页面可以查看到技师所有未完成和已完成订单的详细信息。当技师维修完成订单之后,在未完成订单页面,点击订单对应的正在进行按钮进入接单维修页面,技师填写维修情况反馈,上传现场照片,并且点击完成工单收款,进入技师收款页面。

约束和限制:订单限制完成时间

异常:(1)支付不成功

异常步骤:(1)用户支付宝和微信都没有余额

替代步骤:(1)用户使用现金支付

名次列表:技师、订单、信息、按钮、情况、照片、完成工单、现金、二维码、金额、微信、支付宝

名词

属性

备注

技师

接收订单信息

订单

已完成、未完成

支付方式

现金、二维码

动词:接单、反馈、上传、收款、支付、选择

4.2收益管理

用例名称:收益管理

场景:技师查看自己的收益情况

用例价值:技师可以将收款金额未提交的点击提交交给后台进行审核,点击页面最下方提交记录进入提交记录页面。

约束和限制:提现金额额度

异常:

(1)提现金额过高

异常步骤:

(1)比如一次性提现十万

替代步骤:

(1)限制每日提现金额额度

名词:收益,账单明细、姓名、手机号、提现金额、提现方式。

动词:提现、审核、查看

4.3查看评价

用例名称:查看评价

场景:用户对技师的服务进行评价

用例价值:可以让其他客户进一步了解该技师

约束和限制:字数

异常:(1)字数异常

异常步骤:(1)用户对技师的评价长篇大论

替代步骤:(1)提示用户字数

名词:信息

名词

属性

备注

信息

预约时间、设备名称、故障描述、联系电话、评价反馈、服务评价

4.4知识库

用例名称:知识库

场景:技师提供自己的经验

用例价值:其他技师可以学习到一些技能

约束和限制:发表的字数限制

异常:字数过少,部分内容未填写

异常步骤:(1)技师发表自身经验,但是字数过少,其他技师可能看不懂

(2)技师在发表文章时,其中一栏可能忘记填写

替代步骤:(1)提示技师字数可能过少(2)在技师点击发表时提示有一栏为空,或者标红那一栏

名词:文章、图片、匿名用户、标题、正文、请勿转载

名词

属性

备注

文章

标题、正文、图片、匿名用户、请勿转载

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值