zoukankan      html  css  js  c++  java
  • 基于工程实践的需求分析和概念原型

    序言

    本次工程实践的题目是设计一个类似12306的售票系统,运用高软课上所学,对改题目进行分析

    需求分析

    用户需求分析:

    1. 用户可以注册账号并登录12306客户端软件;
    2. 用户可以查看自己的相关信息,包括待出行订单、历史订单等;
    3. 用户还可以查看自己未支付的订单,和正在抢票的订单;
    4. 用户可以通过多种条件进行查询车票情况,比如起始站点、目的站点、时间和购票类型(高铁和学生票)这些信息来查询车次有无余票;
    5. 不仅可以查询余票,用户还可以通过出发地+目的地+时间查询相关的车次但是不显示余票、通过车次+时间查询该车次经过的车站和到达的时间、通过车站+时间查询当天在车站停留的车次
    6. 用户查询余票之后可以选择还有余票的车次,选择车位和乘车人然后支付票价进行购票
    7. 用户通过选择没有余票的车次来进行候补票
    8. 用户可以退票或者改签

    用例建模

    基于以上的需求分析,可以画出用例图

    12306_1

    业务建模

    简介

    业务领域建模是开发团队用于获取业务领域知识的过程。因为软件工程师往往需要工作在不同的业务领域或者不同项目中,他们需要业务领域知识来开发软件系统。软件工程师往往来自不同的专业背景,这可能会影响他们对业务领域的认知。因此业务领域建模有助于开发团队获取业务领域知识形成统一的业务认知。

    基本步骤

    1. 收集应用业务领域的信息。聚焦在功能需求层面,也考虑其他类型的需求和资料;
    2. 头脑风暴。列出重要的应用业务领域概念,给出这些概念的属性,以及这些概念之间的关系;
    3. 给这些应用业务领域概念分类。分别列出哪些是类、哪些属性和属性值、以及列出类之间的继承关系、聚合关系和关联关系;
    4. 将结果用 UML 类图画出来。

    UML图

    12306_3

    数据模型

    由以上分析可得数据库表:

    用户表

    字段名 字段类型 字段描述
    id int 用户id
    username varchar 用户名
    password varchar 密码
    name varchar 姓名
    sex varchar 性别
    birthday datetime 出生日期
    telephone varchar 手机号
    email varchar 邮箱
    address varchar 地址
    identification_type varchar 证件类型
    identification_number varchar 证件号

    乘车人表

    字段名 字段类型 字段描述
    id int 乘车人id
    name varchar 乘车人姓名
    identification_type varchar 证件类型
    identification_number varchar 证件号码
    passenger_type varchar 乘客类型(成人、学生等)

    用户_乘车人表

    字段名 字段类型 字段描述
    id int 用户_乘车人表id
    passengerid int 乘车人id
    userid int 用户id

    列车表

    字段名 字段类型 字段描述
    id int 列车id
    traintypeid int 列车类型id
    trainNumber int 列车编号
    start_stationid int 始发站id
    dest_stationid int 终点站id
    starttime datetime 发车时间
    arrivetime datetime 到达时间

    列车类型表

    字段名 字段类型 字段描述
    id int 列车类型表id
    trainType string 列车类型(动车、火车等)

    车厢表

    字段名 字段类型 字段描述
    id int 车厢id
    carriageType varchar 车厢类型
    seatnumber int 座位数量

    列车_车厢表

    字段名 字段类型 字段描述
    id int 列车_车厢表id
    trainid int 列车id
    carriageid int 车厢id
    carriagenumber int 车厢编号,用于表示该车厢是列车的几号车厢

    车站表

    字段名 字段类型 字段描述
    id int 车站id
    stationname varchar 车站名称

    列车_车站表

    字段名 字段类型 字段描述
    id int 列车_车站表id
    stationid int 车站id
    trainid int 列车id
    arrivetime datetime 列车到达时间
    starttime datetime 列车发车时间

    车票表

    字段名 字段类型 字段描述
    id int 车票id
    trainid int 该车票对应的列车id
    start_stationid int 车票出发站id
    dest_stationid int 车票目的站id
    starttime datetime 开车时间
    carriageid int 车厢id
    seat int 座位号
    passengerid int 乘车人id
    ticketstatus varchar 车票状态

    订单表

    字段名 字段类型 字段描述
    id int 订单id
    userid int 创建该订单的用户id
    ticketid int 订单购买的车票id
    amountmoney float 订单金额
    createtime datetime 创建时间
    paytime datetime 支付时间
    orderstatus varchar 订单状态(未支付、已支付..)

    总结

    本文从用例建模、业务领域建模和数据模型的角度,分析了仿12306购票系统的需求。从这些分析中体会到了软件产品的概念原型。概念原型是一种虚拟的、理想化的软件产品形式。概念原型=用例+数据模型。在本文中得到了12306购票系统的概念原型。

  • 相关阅读:
    搭建LAMP及wordpress
    httpd2.4常用配置
    编译安装httpd 2.4
    https加密实现
    httpd常用配置
    源码编译安装bind
    安装mariadb二进制程序
    搭建互联网DNS构架
    搭建DNS服务
    主从及转发DNS搭建
  • 原文地址:https://www.cnblogs.com/xkf97/p/14137166.html
Copyright © 2011-2022 走看看