一.实验目的
1.理解和掌握软件工程的设计理念与设计方法.
2.掌握某种数据库管理以及可视化编程环境,掌握基于某种编程语言的信息系统或网络通信软件或某种通用总线接口的通信软件的开发设计方法。
二.实验要求
出租车管理系统主要是方便出租车公司员工以及公司外的普通用户对车辆和财务信息进行管理.主要实现以下功能:
1. 员工信息的发布与共享.
2。 车辆信息的管理。
3。 针对公司外的普通用户,设置订车、投诉、和留言功能。
三.实验开发环境
出租车管理系统的主要开发环境:SQL server数据库
四.实验步骤
4。1 需求分析任务
4。1。1 需求分析设计
司机和出租车是出租车公司最要的资源,是创造效益的资源。要想提高出租车公司的效益和服务质量,首先从做好对司机和出租车的管理着手。一是对出租车司机的信息的管理,二是对出租车信息和租赁的管理。出租车管理系统将很大程度上解决出租车公司在此工作上的难度.
4.1。2 需求分析过程
功能需求简介:
针对出租车行业的特点开发的出租车管理系统,实现出租车公司内部及时准确地采集内部各种数据信息,处理高速化和网络办公自动化。实现对出租车公司司机的信息记录,操作,出租车管理,提供精确查询等多种查询方式。
4.1.3调查需求
基本操作:对出租车信息表、司机信息表、租赁表、违章表的查询、添加、更新、删除等功能。
特别操作:对租赁表的功能.
4。1。4 系统数据分析
表2—1 数据结构定义
数据结构名 | 含义说明 | 组成 |
出租车信息表 | 定义了出租车有关信息 | 车牌号 入户时间 车型 颜 出租情况 营业时间 |
司机信息表 | 定义了司机有关信息 | 司机编号 姓名 性别 地址 身份证号 驾驶证号 发证时间 驾龄 |
租赁表 | 定义了租赁的有关信息 | 司机编号 车牌号 期限 开始日期 截止日期 租赁费 车保费 |
违章表 | 定义了违章的有关信息 | 司机编号 姓名 扣分 违章时间 违章地点 |
出车记录表 | 定义了每天哪些司机的出车情况 | 司机编号 车牌号 出车日期 |
4.2概念结构设计
4.2。1 概念结构设计的方法
概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式.
4。2。2 概念结构设计的步骤
第一步是进行局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成.因此我们先逐一的设计分E—R图。
第二步是进行视图的集成:各子系统的E-R图设计好之后,下一步就是要将所有的分E—R图合成一个系统的总E-R图,一般有两个方式,多个分E-R图一次集成,另一种是一次集成两个分E—R图。我想采用一次集成两个分E—R图的方式。
图4—1 出车记录E-R图
图4—2 出租车 E—R图
图4—3 司机R-R图
图4—4 租赁E-R图
图4—5 违章E—R图
图4—6 总体概念结构E-R图
4。3 逻辑结构设计
E-R图向关系模型的转换
将上述总体概念结构E-R图转化成关系模型,根据这个关系写出数据依赖,确定数据依赖。
司机与出租车是一对一的关系,司机、出租车与租赁是一对一的关系,司机与违章是一对一的关系。
司机(司机编号,姓名,性别,地址,身份证号,驾驶证号,发证时间,驾龄)
出租车(车牌号,入户时间,车型,颜,出租情况,营业时间)
租赁表(司机编号,车牌号,期限,开始日期,截止日期,租赁费,车保费)
出车记录表(司机编号,车牌号,出车日期)
违章表(司机编号,姓名,扣分,违章时间,违章地点)
4。4 物理设计
物理表结构如下
表4—7司机表(Driver)
列标示 | 数据类型 | 长度 | 约束 | 列意义 |
DriverNumber | char | 6 | 主键 | 司机编号 |
Name | char | 10 | 不为空 | 姓名 |
Sex | bit | 默认 | 不为空 | 性别 |
Address | varchar | 40 | 不为空 | 地址 |
IDumber | char | 20 | 不为空 | 身份证号 |
LincenseNumber | char | 10 | 不为空 | 驾驶证号 |
CertificateDate | datetime | 默认 | 不为空 | 发证时间 |
DriverAge | tinyint | 默认 | 不为空 | 驾龄 |
表4-8出租车表(Taxi)
列标示 | 数据类型 | 长度 | 约束 | 列意义 |
TaxiNumber | char | 6 | 主键 | 车牌号 |
StartDate | datetime | 默认 | 不为空 | 入户时间 |
TaxiShape | char | 10 | 不为空 | 车型 |
Color | char | 10 | 不为空 | 颜 |
RentSituation | 车扣分查询bit | 默认 | 不为空 | 出租情况 |
BusinessTime | tinyint | 默认 | 不为空 | 营业时间 |
表4—9租赁表(Rent)
列标示 | 数据类型 | 长度 | 约束 | 列意义 |
DriverNumber | char | 6 | 主键 | 司机编号 |
TaxiNumber | char | 6 | 不为空 | 车牌号 |
LimitTime | tinyint | 默认 | 不为空 | 期限 |
StartDate | datetime | 默认 | 不为空 | 开始日期 |
EndDate | datetime | 默认 | 不为空 | 截止日期 |
RentFee | float | 默认 | 不为空 | 租赁费 |
ProtectionFee | Float | 默认 | 不为空 | 车保费 |
表4—10违章表(Violate)
列标示 | 数据类型 | 长度 | 约束 | 列意义 |
DriverNumber | char | 6 | 主键 | 司机编号 |
Name | char | 10 | 不为空 | 姓名 |
Points | tinyint | 默认 | 不为空 | 扣分 |
ViolateDate | datetime | 默认 | 不为空 | 违章时间 |
ViolateAddress | varchar | 40 | 不为空 | 违章地点 |
表4—11出车记录表(Notes)
列标示 | 数据类型 | 长度 | 约束 | 列意义 |
DriverNumber | char | 6 | 主键 | 司机编号 |
Name | char | 10 | 不为空 | 姓名 |
DriveDate | datetime | 默认 | 不为空 | 出车日期 |
4.5 数据库的实施
4。5。1.创建表
/*创建数据库*/
CREATE DATABASE TAXI /*数据库名*/
ON
(
NAME=TAXI_DATA,
FILENAME=’D:\Microsoft SQL Server\MSSQL10_50。SQLEXPRESS\MSSQL\DATA\TAXI。mdf',
SIZE=10MB,
MAXSIZE=100MB,
FILEGROWTH=10%
)
LOG ON
(
NAME=’TAXI_log', /*日志*/
FILENAME=’D:\Microsoft SQL Server\MSSQL10_50。SQLEXPRESS\MSSQL\DATA\TAXI_Log。ldf’,
SIZE=10MB,
MAXSIZE=100MB,
FILEGROWTH=1MB
)
/*创建基本表*/
/*创建司机表*/
USE TAXI
CREATE TABLE Driver
(
DriverNumber char(6)NOT NULL PRIMARY KEY, /*司机编号*/
Name char (10), /*姓名*/
Sex bit NOT NULL, /*性别*/
Address varchar(40)NOT NULL, /*地址*/
发布评论