软件工程与计算总结(三)示例项目描述

本节介绍一个标准的项目描述,大家可以作为蓝本学习~


目录

一.背景

二.目标

三.系统用户

四.用户访谈要点

1.收银员

2.客户经理

3.总经理

4.系统管理员 

五.项目实践过程

一.背景

        A是一家刚刚发展起来的小型连锁商店,其前身是一家独立的小百货门面店。原商店只有收银部分使用软件处理,其他业务都是手工作业,这已经不能适应它的业务发展要求。首先是随着商店规模的扩大,顾客量大幅增长,手工作业销售迟缓,顾客购物排队现象严重,导致流失客源。其次是商店的商品品种增多,无法准确掌握库存,商品积压、缺货和报废的现象明显上升。再次是商店面临的竞争比以前更大,希望在降低成本、吸引顾客、增强竞争力的同时保持盈利水平。
        为了解决连锁商店A所面临的问题,管理层决定向软件公司B定制开发一套连锁商店管理系统

二.目标

在反复讨论之后,A的管理人员和B的开发人员一致同意,连锁商店管理系统MSCS要能够达到下列目标:

  • 在系统使用6个月后,商品积压、缺货和报废的现象要减少50%。
  • 在系统使用3个月后,销售人员工作效率提高 50%。
  • 在系统使用6个月后,店铺需要的员工数量要减少15%,以降低成本。
  • 在系统使用6个月后,平均10000元销售额的库存成本要减少15%,以降低成本。
  • 在系统使用6个月后,销售额度要提高10%~40%,预估计是20%左右。

三.系统用户

MSCS有4类用户,如表3-1所示:

四.用户访谈要点

1.收银员

(1)基本情况
店里现在有4个收银员(通常是4~6人),但是人员更换较快,平均每个月都会有1个人发生变化。收银员每天的工作都很忙,高峰期的时候每位收银员都有顾客排队(4~8人)。

(2)对新系统的态度    

  • 很希望系统能够帮助收银员减轻销售压力,缩短销售时间,减少高峰期的顾客排队。    
  • 普遍不能熟练操作计算机,担心不会用新的系统,或者新的系统总让他们陷人误操作的麻烦。
  • 对财务比较敏感,因为商店规定如果账单计算错误超过规定幅度,会受到处罚。

(3)工作细节
经过细致的沟通,将收银员使用MSCS进行销售的概要过程设计如下:

  • 询问顾客是否是会员,如果是,就输入客户编号。
  • 使用扫描仪逐个扫描商品条形码。如果扫描仪工作不佳,可以临时用手输入。
  • 扫描完成所有商品后,系统自动根据销售情况和特价规则计算总价,告知顾客。
  • 顾客付款。
  • 系统打印收据,顾客拿到收据离开。


在沟通之后,开发人员在观察收银员销售工作的时候发现以下问题:

  • 在销售过程中,顾客突然要求取消交易。
  • 在要求结账之前,顾客都可能会因为某个商品太贵、保质期不符合预期、总价超出预期等原因要求不再购买指定商品。
  • 在会员顾客结账时,会使用积分支付全部或部分款项。

再次经过细致的沟通,将收银员使用MSCS进行退货的概要过程设计如下:

  • 1)将顾客销售收据上的销售记录号输人系统。
  • 2)查看销售情况,选择顾客要求退货的商品,进行退货。
  • 3)系统重新计算账款,并与原来的账款相比对,计算需要退给顾客的款项。
  • 4)打印退货单2联,让顾客签字。
  • 5)将1联退货单收存,退款给顾客。

在沟通之后,开发人员在观察收银员退货工作的时候发现:

  • 1)有些顾客提供的销售单据超过了退货允许的期限,不能退货。
  • 2)会员顾客使用积分支付了账单,这时不允许退货。
  • 3)享受了赠品和特价的顾客在退货后有可能不再享受赠品和特价。

2.客户经理

(1)基本情况
有2~3个客户经理。工作相对比较轻松,只有在商品人库的时候比较忙,因为人库时的检查过程比较烦琐。都有大专以上文凭,计算机操作能力较好。


(2)对新系统的态度

  • 1)认为软件是一种新技术,能够促进商品的发展,持支持态度。
  • 2)希望系统能够每天提醒该给哪些顾客赠送礼品了,这个工作一直比较麻烦,因为有多个规则每天都要仔细检查。

(3)工作细节
经过细致的沟通,将客户经理使用MSCS进行工作的概要过程设计如下:

1)入库

  • 逐一输入商品的标识、生产日期、报废日期及其数量。
  • 系统自动记住商品的人库日期,如果商品信息有保质期,那么系统应该自动根据生产日期计算报废日期。

2)出库

  • 输入出库商品的标识、数量和下架原因。
  • 系统自动减少相应商品的库存。

3)库存分析

  • 系统自动计算并列表展示每个商品的库存分析情况,包括(对于特定商品):
  • 可存天数-最后一批人库商品的报废日期-当天日期。
  • 流通总量一最后一批人库商品数量+最后一批入库前库存-现在库存。
  • 尺度天数=今天距离最后一批人库商品的人库日期。
  • 每天流通量=流通总量/尺度天数。
  • 预计天数
  • 如果每天流通量>0,预计天数=min(库存数量/每天流通量,可存天数),否则,预计天数无意义。预计报废率如果预计天数有意义并且预计天数<可存天数,预计报废率=0.如果预计天数有意义并且预计天数>可存天数,预计报废率=(预计天数-可存天数)/预计天数,否则,预计报废率无意义。
  • 预计天数和预计报废率的计算规则会经常发生修改。

4)发展会员

  • 产生一个标识
  • 输入新会员顾客的信息

5)礼品赠送。    

  • 每天登录系统时,系统提示需要赠送礼品的会员顾客。
  • 客户经理逐一查看赠送的原因,决定如何处理赠送;记录赠送情况。

开发人员后续又了解到赠送礼品的规则是:

  • 会员生日 
  • 会员积分数额超过了档数要求。触发礼品赠送的积分数额档初始为1000、2000、5000,此后每增加5000为一档。积分数额档可能会发生变化
  • 多个条件可以同时发生,例如,既是生日又超出积分数额档或一次超出多个积分数额档,得到多次赠送

3.总经理

(1)基本情况
有1个正经理、1个副经理。每天忙于管理和对外事务,预计很少有时间会使用系统。计算机操作技能较好。


(2)对新系统的态度
强烈支持新系统,希望通过新系统加强业务管理,使商店的利润提升一个水平。

(3)工作细节
经过细致的沟通,将总经理使用MSCS进行工作的概要过程设计如下。

1)库存分析:与客户经理的客户分析任务相同。
2)调整商品:系统给出现有商品的列表;总经理选中并修改或者移除商品;逐一添加新商品
3)制定特价与赠送策略:系统给出现在的特价与赠送策略;总经理选中并修改或者移除特价与赠送策略;逐一输入新的特价与赠送策略。


特价与赠送策略的规则是:

  • 产品特价为指定的产品设定统一的打折价。
  • 总额特价为购物总额超过指定值的顾客设定统一的打折价。
  • 总额赠送为购物总额超过指定值的顾客赠送特定产品。产品赠送为购买指定产品的顾客赠送特定产品。不同赠送可以重复计算。
  • 特价与赠送之间可以重复计算。.特价商品不计入总额特价。
  • 特价与赠送信息通常有时间期限的限制。特价与赠送策略的触发条件是:
  • 适用(商品标识,参照日期)的商品赠送促销策略。
  • (促销商品标识=商品标识)而且((开始日期早于等于参照日期)并且(结束日期晚于等于参照日期))
  • 适用(额度,参照日期)的总额赠送促销策略。
  • (促销额度≤额度)而且((开始日期早于等于参照日期)并且(结束日期晚于等于参照日期))
  • 适用(商品标识,参照日期)的商品特价促销策略。
  • (促销商品标识=商品标识)而且((开始日期早于晚于参照日期)并且(结束日期晚于等于参照日期))
  • 适用(额度,参照日期)的总额特价促销策略。
  • (促销额度≤额度)而且(不存在:本促销额度<另一个促销额度≤额度)而且((开始日期早于等于参照日期)并且(结束日期晚于等于参照日期))

4.系统管理员 

(1)基本情况
有1个系统管理员,是计算机专业维护人员,计算机技能很好。

(2)对新系统的态度
认为新系统会增加自己的工作负担,不太支持新系统。

(3)工作细节
经过细致的沟通,将系统管理员使用MSCS调整用户的概要过程设计如下:

  • 1)系统给出现有用户的列表
  • 2)系统管理员选中并修改或者删除用户
  • 3)添加新用户

五.项目实践过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/94605.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

贪心算法+练习

正值国庆之际&#xff0c;祝愿祖国繁荣昌盛&#xff0c;祝愿朋友一生平安&#xff01;终身学习&#xff0c;奋斗不息&#xff01; 目录 1.贪心算法简介 2.贪心算法的特点 3.如何学习贪心算法 题目练习&#xff08;持续更新&#xff09; 1.柠檬水找零&#xff08;easy&…

ES6中数组的扩展

1. 扩展运算符 用三个点(...)表示&#xff0c;它如同rest参数的逆运算&#xff0c;将数组转为用逗号分隔的参数序列。扩展就是将一个集合分成一个个的。 console.log(...[1, 2, 3]); // 1, 2, 3可以用于函数调用 扩展运算符后还可以放置表达式 ...(x > 0 ? [a] : [])如…

YOLOv2解析 | 批归一化 锚 主干网

文章目录 1 改进1.1 Batch Normalization 批归一化1.2 High Resolution Classifier 更高分辨率的分类器1.3 **Convolutional With Anchor Boxes 带锚盒的卷积**1.4 Dimension Clusters 维度集群1.5 更深更宽的主干网络1.6 Fine-Grained Features** **细粒度特征 **1.,7 Multi-S…

Altium Designer 批量添加元器件后缀

Altium Designer 批量添加元器件后缀 方法一方法二可能出现的问题要注意 方法一 您可以使用 Altium Designer 中的“批量修改元器件名称”功能来批量添加元器件后缀。具体步骤如下&#xff1a; 1.为了方便显示 操作流程&#xff0c;我这里复制了几个原理图的文件&#xff0c;粘…

剑指offer——JZ22 链表中倒数最后k个结点 解题思路与具体代码【C++】

一、题目描述与要求 链表中倒数最后k个结点_牛客题霸_牛客网 (nowcoder.com) 题目描述 输入一个长度为 n 的链表&#xff0c;设链表中的元素的值为 ai &#xff0c;返回该链表中倒数第k个节点。 如果该链表长度小于k&#xff0c;请返回一个长度为 0 的链表。 数据范围&…

好奇喵 | Surface Web ---> Deep Web ---> Dark Web

前言 我们可能听说过深网(deep Web)、暗网(dark Web)等名词&#xff0c;有些时候可能会认为它们是一个东西&#xff0c;其实不然&#xff0c;两者的区别还是比较大的。 什么是deep web&#xff1f; 深网是网络的一部分&#xff0c;与之相对应的是表层网络&#xff08;surface …

jsbridge实战2:Swift和h5的jsbridge通信

[[toc]] demo1: 文本通信 h5 -> app 思路&#xff1a; h5 全局属性上挂一个变量app 接收这个变量的内容关键API: navigation代理 navigationAction.request.url?.absoluteString // 这个变量挂载在 request 的 url 上 &#xff0c;在浏览器实际无法运行&#xff0c;因…

Spring事务

事务概念 逻辑上的一组操作&#xff0c;要么都成功、要么都失败 典型案例&#xff1a;银行转账 事务特性&#xff1a;ACID【原子、一致、隔离、持久】 搭建环境 银行转账操作 web&#xff1a; service&#xff1a;逻辑操作&#xff0c;调用dao dao&#xff1a;创建两个方法 …

强化学习环境 - robogym - 学习 - 2

强化学习环境 - robogym - 学习 - 2 文章目录 强化学习环境 - robogym - 学习 - 2项目地址为什么选择 robogymRearrange - 环境部分介绍Robot Control Interface - 机器人控制接口Environment - listEnvironment Randomization - 接口设置 项目地址 https://github.com/openai…

PAT(Basic Level) Practice(中文) 1015德才论

前言 ※ PTA是 程序设计类实验辅助教学平台 &#xff0c;里边包含一些编程题目集以供练习。 这道题用java解&#xff0c;我试了三种解法&#xff0c;不断优化&#xff0c;但始终是三个测试点通过、三个测试点超时。我把我的代码放在这里&#xff0c;做个参考吧。 1015 德才…

获取上证50的所有股票代码

我们可以从网页&#xff08;板块 - 上证50_ - 股票行情中心 - 搜狐证券&#xff09;中获取&#xff0c; 然后打印出来&#xff1a; import requests from bs4 import BeautifulSoupurl "https://q.stock.sohu.com/cn/bk_4272.shtml" response requests.get(url) …

junit @ExcludePackages排除多个包

在JUnit中&#xff0c;可以使用ExcludePackages注解来排除多个包。该注解可以用在测试类或测试方法上。 如果要排除多个包&#xff0c;可以在ExcludePackages注解的value属性中使用数组来指定要排除的包名。例如&#xff0c;要排除包com.example.package1和com.example.packag…

秋招问题记录贴

最近面试有点多&#xff0c;没来的及写面经&#xff0c;就单独开个帖子记录一下碰到的一些不懂的技术问题&#xff1a; AQS中两个队列如何工作&#xff0c;这个结合os中阻塞和就绪两种情况讲分布式的理解&#xff0c;这个问的频率很高nacos怎么进行服务注册和发现的mysql什么情…

TcpConnection的读写操作【深度剖析】

文章目录 前言一、TcpConnection的读二、TcpConnection的写三、TcpConnection的关闭 前言 今天总结TcpConnection类的读写事件。 一、TcpConnection的读 当Poller检测到套接字的Channel处于可读状态时&#xff0c;会调用Channel的回调函数&#xff0c;回调函数中根据不同激活…

treectrl类封装 2023/8/13 下午4:07:35

2023/8/13 下午4:07:35 treectrl类封装 2023/8/13 下午4:07:53 TreeCtrl 类是一个常用的图形用户界面控件,用于实现树形结构的展示和交互。以下是一个简单的 TreeCtrl 类的封装示例: python import wxclass MyTreeCtrl(wx.TreeCtrl):def __init__(self, parent):super()…

java限流

限流可以使用redis的过期时间自动过期限流的key&#xff0c;&#xff0c; 也可以使用一个定时器&#xff0c;在指定时间后清除这个key&#xff0c;&#xff0c;比如Timer Timer的使用 Timer timer new Timer() timer.schedule(timerTast,delay,period) public static void …

mysql面试题13:MySQL中什么是异步复制?底层实现?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:讲一讲mysql中什么是异步复制?底层实现? MySQL中的异步复制(Asynchronous Replication)是一种复制模式,主服务器将数据写入二进制日志后,无…

mysql面试题14:讲一讲MySQL中什么是全同步复制?底层实现?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:讲一讲mysql中什么是全同步复制?底层实现? MySQL中的全同步复制(Synchronous Replication)是一种复制模式,主服务器在写操作完成后,必须等待…

AI配套的技术: 矢量数据库的概念

一、说明 随着人工智能的快速采用和围绕大型语言模型发生的创新&#xff0c;我们需要在所有这些的中心&#xff0c;能够获取大量数据&#xff0c;将其上下文化&#xff0c;处理它&#xff0c;并使其能够有意义地搜索。 为原生整合生成式 AI 功能而构建的生成式 AI 流程和应用程…

JUC第十四讲:JUC锁: ReentrantReadWriteLock详解

JUC第十四讲&#xff1a;JUC锁: ReentrantReadWriteLock详解 本文是JUC第十四讲&#xff1a;JUC锁 - ReentrantReadWriteLock详解。ReentrantReadWriteLock表示可重入读写锁&#xff0c;ReentrantReadWriteLock中包含了两种锁&#xff0c;读锁ReadLock和写锁WriteLock&#xff…