UML停车场管理系统
uml停车场管理系统

浙江海洋学院东海科学技术学院数据库应用实训成果说明书题目:停车场管理系统的数据库设计学生姓名:章进学号: 131335101院系:达内IT学院班级: 13达内1班指导教师:李慧2015 年 1 月 22 日浙江海洋学院东海科学技术学院课程设计任务书20 14 —20 15 学年第一学期院系达内IT学院专业计算机科学与技术班级 13达内1班摘要数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。
其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。
21世纪以来,现代化产业高速发展,汽车作为日常交通工具已经普及社会的每一个角落,给人们的日常生活带来了极大的便利。
但是随着汽车拥有量的急剧增加,车辆停放的问题随之而来,如果没有合理的停放规则和秩序,势必引起许多不必要的麻烦,反而给生活带来不便。
停车场作为交通设施的组成部分,随着交通运输的繁忙和不断发展,人们对其管理的要求也不断提高,都希望管理能够达到方便、快捷以及安全的效果。
然后目前的许多停车场还处于一种纯人工的管理的模式,在车辆的管理上效率低下,而且十分容易出错。
因此需要一种合适的管理系统来解决这些问题,达到高效,简易的效果,给广大人民的出行带来方便。
本文主要介绍停车场管理系统的数据库设计,从需求分析到数据库的运行与维护都进行详细的叙述。
本系统是利用SQLServer2008开发出来的。
通过SQLServer2008建立停车场管理系统,大大方便和简化了数据的查询和处理,管理员可以通过SQL语言对表内数据进行添加,删除,修改,查询等操作,还可以建立多用户,对其使用权限进行分配和回收。
【关键词】SQL语言,数据库设计,停车场管理目录摘要 (1)1 选题 (3)1.1 课题简介 (3)1.2 设计目的 (3)1.3 设计内容 (3)2 需求分析 (4)2.1 需求分析的任务 (4)2.2 需求分析的过程 (4)3 概念设计(ER图) (5)3.1 概念结构设计的方法和步骤 (5)3.2 视图的集成 (5)4 ER图转换成关系模式 (6)4.1 E-R图向关系模型的转换 (6)4.2 数据模型的优化 (7)5 物理结构设计 (8)6 T-SQL语句 (9)7 其他 (11)8 总结 (14)参考文献 (14)1 选题1.1 课题简介随着数据处理的不断进步和计算机网络的迅速发展,使数据库应用系统不仅在功能而且在结构上都有了深刻的变化,而且运用在生活的每一个方面。
UML大作业之《小区车辆管理系统》可行性分析报告

小区车辆管理系统可行性分析报告1. 引言随着国民经济的迅速发展,城市汽车的拥有量不断增加,汽车在给人带来交通快捷方便的同时,由于车辆管理不善等问题也给人们带来了诸多不便,因此,近年来汽车的静态管理和动态平衡已成为许多有识之士重点研究的新问题。
为满足人们生活和工作环境更科学更规范的要求,管理高效、安全合理、快捷方便的车辆管理系统已成为许多小区甚至大型综合性建筑物必备的配套设施。
地处繁华地带的许多高级公寓、大型娱乐场所、宾馆、办公楼、球场等进出车辆较多,为了保证车辆安全和交通方便,迫切需要采用自动化程度高方便快捷的车辆自动管理系统,提高管理水平。
“小区车辆管理系统”就是这样一个顺应时代发展趋势的产物,它能方便对小区车辆进行管理,实现用户自助,高效有序的管理目标,对小区住户能提供新车登记、报停、报废、转入、转出等业务,也能为管理员提供方便的查询和管理功能。
实现系统无纸化,自动化,提高了效率。
2. 可行性研究的前提小区物业日常的产生的档案很多,又信息复用率高,查找起来费时费力。
如果多个住户同时办理业务,很容易造成忙不过来的惨象。
3. 对现有系统的分析小区车辆管理系统的主要功能在于,多用户在不同用途时对系统进行操作,网络延迟,系统繁忙等情况常会造成容易出错,影响住户的登录,如无法登录系统;新车登记,如登记无效,系统跳转出错;用户信息查询,如找不到用户信息等。
给管理员和住户带来许多不便。
4. 建议选择的系统方案的描述通过更加全面的收集原始治疗,进行系统规划,系统分析研究。
争取达到:1.界面直观方便操作,采用人机交互,通过鼠标点击及键盘的输入操作,而不需借住第三方软件。
通过模糊搜索就能获得用户所需信息。
2.实现网上填写个人信息和口令修改便于系统管理员通过系统软件操作、管理和维护。
省略管理员手工录了信息的繁琐过程。
3.管理员可以根据不同车牌、不同记录时间、不同住户、不同楼层等按照需求对用户车辆信息进行分类。
可进行排序、统计、查询、输出报表的操作。
数据库(MySQL)停车场管理系统

停车场管理系统数据库设计数据库管理系统在日常生活中的应用十分广泛,比如停车场管理系统,涉及到车位划分,车辆进出收费等信息管理,一个好的停车场数据管理系统设计,会使得停车场管理结构优化,提高服务效率。
我们现设计并制定一个停车场管理系 统,并从需求分析、概念结构、逻辑结构、物理结构实现四个方面开展。
一、需求分析对于停车位,分为固定停车位和自由停车位两种,其中固定停车位已经分配给特定的车主,车主进出不再收费(采取包年制或包若干月),而且对固定车位以及固定车位租用人信息进行收集并记录。
对于自由车位,专为临时性停车顾客使用,只收集车位占用信息、临时停车的车辆信息以及计时收费信息。
另外,对于大型停车场,分配的管理员不止一位时,给不同管理员分配额管理范围信息也要收集并记录,同时记录管理员的身份信息。
(一)顶层设计流程图1P 管理收费进出车辆定车位收费单▲ 关于计时收费的功能,目前停车场都是自动地磁式感应记录车辆的进出时间,这里我们只做停车费用的查询,即费用已生成于表,我们只做费用查询功能。
(二)第二层设计流程图(三)系统功能结构车辆固定车辆自由车辆放行被管理员看管进入停车场询问管理员有车位,放行离开停车场被管理员看管 付费 离开停车场 无车位,等待或离去停车场管理系统空车位查询 停车费用结算固定车位查询空闲车位查询停车收费标准修改收费情况明细查询车辆进出记录查询管理系统维护升级管理员的信息修改计时收费管理系统维护及管理车位占用时间统计功能实现:1.车主可以登陆账户查询未租用的空闲固定车位、空闲的临时自由车位以及驶离停车场的结算费用。
2.管理员通过身份验证后可以查询停车场的收费明细,还可以对车辆进出记录进行查询、管理以及对停车场的收费标准进行修改。
(四)逻辑模型:1.停车车辆(车牌编号,车位编号,车主姓名,车辆颜色)【注:包括固定车和自由车,车主名为空代表自由车】2.车位(车位编号,是否占位,是否固定,车主姓名,收费标准)【注:包括自由车位和固定车位,由是否固定区分,车主名可空,代表自由车位】3.车主(车牌编号,车位编号,姓名,地址,年龄,联系方式)【注:车牌号,车位号不能为空,有姓名,地址等信息,固定车位车主】4.进出记录(编号,车牌编号,进入日期,离开日期,进入时间,离开时间,费用)5.管理员(工作号,姓名,管辖范围)注:第一个属性为主键二、概念结构分析(一)分ER 图图 1 停车车辆信息E-R 图图2 车位信息E-R 图停车车辆 车主姓名车牌编号车位编号车辆颜色车位车位编号是否固定是否占位车主姓名收费标准图3 进出记录信息E-R 图图4 固定车主信息E-R 图进出记录进入时间车牌编号停车费用离开时间车主地址 姓名车位编号车牌编号联系方式年龄编号图5 管理员信息E-R 图管理员 工作号管辖范围姓名(二)总ER 图管理范围进出记录管理员管理地址 车辆颜色进入时间离开时间费用车牌编号车位编号车位编号是否占位是否固定车主姓名收费标准车主工作编号停车车辆使用放置记载记录姓名 年龄车位编号车牌编号联系方式车牌编号车主姓名姓名车位编号三.逻辑结构分析(一)关系模式1.停车车辆表字段名数据类型长度说明描述Cpbh varchar20主键,NOT NULL车牌编号Cwbh numeric20唯一约束,NOT NULL,外键车位编号Czxm varchar12NULL车主姓名Clys varchar12NOT NULL车辆颜色用于记录固定车主以及自由车主的停车信息,所以车主姓名可以为空。
UML停车场管理系统

UML停车场管理系统⒈引言⑴文档目的本文档旨在描述UML停车场管理系统的需求规格和系统设计,供开发人员参考和实施。
⑵背景UML停车场管理系统是一个用于管理停车场车位、停车记录和收费等功能的软件系统。
该系统的设计目标是提供一个高效、安全和可靠的停车场管理解决方案。
⒉系统概述⑴系统描述UML停车场管理系统包括以下主要功能模块:- 车位管理:用于管理停车场的车位信息,包括车位编号、车位类型(小型车、大型车、残疾人专用车位等)、车位状态(空闲、占用)等。
- 停车记录管理:用于记录车辆的停车信息,包括车牌号、停车时间、停车费用等。
- 收费管理:用于计算车辆的停车费用,并提供费用统计和报表等功能。
- 系统管理:用于管理系统的用户账户、权限控制等。
⑵用户特点UML停车场管理系统的用户主要分为以下几类:- 系统管理员:负责管理系统用户账号、权限控制、备份与恢复等。
- 停车场管理员:负责车位管理、停车记录管理、收费管理等。
- 停车场用户:负责车辆进出停车场等。
⑶约束UML停车场管理系统必须满足以下约束:- 可用性:系统应具有高可用性,能够保证24小时全天候的运行。
- 安全性:系统应具有良好的安全性,包括用户身份验证、权限控制等功能。
- 性能:系统应具有较好的性能,能够快速响应用户请求并处理大量数据。
- 可扩展性:系统应具有良好的可扩展性,能够方便地添加新的功能模块或扩展现有功能。
⒊功能需求⑴车位管理⒊⑴添加车位描述:停车场管理员可以添加新的车位。
输入:车位编号、车位类型、车位状态。
处理:将新的车位添加到系统中。
输出:添加成功的提示信息。
⒊⑵删除车位描述:停车场管理员可以删除现有的车位。
输入:车位编号。
处理:将指定的车位从系统中删除。
输出:删除成功的提示信息。
⒊⑶修改车位状态描述:停车场管理员可以修改车位的状态。
输入:车位编号、新的状态。
处理:更新指定车位的状态。
输出:修改成功的提示信息。
⑵停车记录管理⒊⑴车辆进入停车场描述:停车场用户可以将车辆进入停车场。
UML大作业之《小区车辆管理系统》系统分析规格说明书

小区车辆管理系统系统分析规格说明书1. 引言小区车辆管理系统是现代化的停车场车辆收费及设备自动化管理的系统。
是将车辆管理安全置于计算机管理下的高科技机电一体化产品。
根据多年的设计、安装车辆管理系统的实际经验,我们在软件和系统设计上为车辆管理提供了一套最严格、最先进、易用、便于维护和运行可靠的收费系统。
一套能有效地赌赛收费漏洞、降低操作成本,提高经济效益和减轻劳动强度,提高工作效率的现代化小区车辆管理系统。
随着时代的发展,私家车越来越多,小区里许多空间没有被充分利用,大多车辆随意停放在路边,缺乏管理,并且缺乏安全性,也容易造成小区交通不便。
为了适应社会的发展,大量现代化的小区停车场被投入使用,但管理方面又容易出现问题,因此小区车辆管理系统的开发和应用是十分必要的。
1.1 编写系统分析规格说明书的目的“小区车辆管理系统”的系统分析规格说明书,是软件开发者及分析人员根据系统用户提出的需求对系统加以描述,同时进行建模。
本系统有二类用户:住户和系统管理员。
二种不同的用户所具有的操作权限及操作内容不一。
由此,我们根据功能需求、性能需求和数据提出的要求进行说明。
明确背景及用户群范围,为用户解决问题,实现所需目标创造条件。
本系统分析规格说明书的预期读者包括:1)系统分析人员2)软件设计人员3)软件编程人员4)软件测试人员1.2 项目背景(软件产品的作用范围)小区车辆管理系统对于广小区住户和管理者来说都至关重要,小区车辆管理系统应该能够为用户提供充足的信息和快捷的查询手段。
一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着效率低、保密性差,对于查找、更新和维护都带来了巨大困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长等。
车辆管理系统uml课程设计

车辆管理系统uml课程设计一、课程目标知识目标:1. 学生能够理解UML的基本概念,掌握UML图的基本元素和表示方法。
2. 学生能够运用UML图描述车辆管理系统的功能需求、业务流程和数据结构。
3. 学生了解车辆管理系统的基本功能模块,并掌握它们之间的关系。
技能目标:1. 学生能够运用UML工具绘制各类UML图,如用例图、类图、序列图等,以表达车辆管理系统的设计思路。
2. 学生能够通过UML图分析车辆管理系统的功能模块,提出优化和改进方案。
3. 学生具备团队协作能力,能够与团队成员共同完成车辆管理系统的UML课程设计。
情感态度价值观目标:1. 学生培养对软件工程和系统设计感兴趣的态度,激发学习编程和系统分析的内在动力。
2. 学生通过课程学习,认识到UML在软件开发中的重要性,提高对软件工程规范的认识。
3. 学生在课程实践中,学会与他人沟通、协作,培养团队精神和责任感。
课程性质:本课程为实践性较强的课程设计,旨在让学生通过实际操作,掌握UML在车辆管理系统设计中的应用。
学生特点:学生具备一定的编程基础和软件工程知识,对UML有一定了解,但实际应用能力有待提高。
教学要求:注重理论与实践相结合,强调动手实践,培养学生的实际操作能力和团队协作能力。
在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. UML基本概念及图的绘制方法- UML的基本元素、图类型及其应用场景- 用例图、类图、序列图等UML图的绘制方法2. 车辆管理系统的功能模块分析- 车辆管理系统业务流程及功能需求- 利用UML用例图表达系统功能模块- 数据库设计与UML类图的应用3. UML图在车辆管理系统设计中的应用- 用例图描述系统功能模块- 类图表达系统中的类及其关系- 序列图展示系统业务流程4. 车辆管理系统UML课程设计实践- 按照教学大纲,分阶段完成UML图的绘制- 团队协作,共同完成车辆管理系统的UML设计- 针对设计成果进行评价和优化教学内容安排与进度:1. 第1周:UML基本概念及图的绘制方法学习2. 第2周:车辆管理系统的功能模块分析3. 第3-4周:UML图在车辆管理系统设计中的应用实践4. 第5周:课程设计成果评价与优化教材章节关联:本教学内容与教材中关于UML图、软件系统设计、数据库设计等相关章节紧密关联,旨在巩固学生所学知识,提高实际应用能力。
停车场管理系统逻辑结构设计

停车场管理系统逻辑结构设计一、引言停车场管理系统是现代城市中不可或缺的一部分,其逻辑结构设计对于提高停车场的运行效率和管理水平具有重要意义。
本文将从车辆识别、停车位管理、收费管理、用户界面设计、数据库交互、异常处理、系统安全控制和设备联动控制等方面,对停车场管理系统的逻辑结构进行详细阐述。
二、车辆识别车辆识别是停车场管理系统的基本功能之一,其目的是为了确认进入停车场的车辆身份。
逻辑结构设计中,车辆识别可以通过RFID技术、车牌识别技术等方式实现。
当车辆进入停车场时,系统会自动识别车牌号码或RFID标签信息,并与数据库中的信息进行比对,以实现车辆的快速进出和安全监控。
三、停车位管理停车位管理是停车场管理系统的核心功能之一,其目的是为了实现停车位的合理分配和高效利用。
逻辑结构设计中,停车位管理可以通过实时监测停车位状态、车位预约、自动分配车位等方式实现。
系统可以根据车辆的进入和离开时间,自动更新停车位的状态,并通过用户界面或移动应用向车主提供实时停车位信息,实现快速、准确的停车位分配。
四、收费管理收费管理是停车场管理系统的重要功能之一,其目的是为了实现公正、合理的收费。
逻辑结构设计中,收费管理可以通过计时收费、包月收费、自助缴费等方式实现。
系统可以根据不同的收费标准和停车时间,自动计算出车辆的应缴费金额,并提供多种支付方式供车主选择,确保收费的准确性和高效性。
五、用户界面设计用户界面设计是停车场管理系统的重要人机交互界面,其目的是为了提供简单、直观的操作方式。
逻辑结构设计中,用户界面设计需要考虑用户的使用习惯和操作体验,提供清晰、易用的操作菜单和信息展示方式。
同时,用户界面设计还需要考虑系统的响应速度和稳定性,确保系统的运行效率。
六、数据库交互数据库交互是停车场管理系统的基础支撑,其目的是为了实现数据的存储、查询和管理。
逻辑结构设计中,数据库交互需要考虑数据的安全性、可靠性和扩展性。
通过合理的数据表设计和索引优化,可以提高数据查询的效率;同时,数据库的备份和恢复机制可以确保数据的安全性和完整性。
停车场管理系统(数据结构课程设计)

停车场管理系统一编程思想:将停车场设计成一个虚拟的栈,将其入口设计成栈顶,在设计一个倒车场,也将其设计成一个虚拟的栈,使其入口为栈顶,再根据队列设计一个供车来停放的便道,当停车场里的车辆不为满时,车辆进入停车场,当停车场里的车辆为满时,车辆在便道里等候,当车辆从停车场里出来的时候,如果出来的不是第一个车辆,则其前面的车辆将进入倒车场里面,待车辆出去后,倒车场里的车再依次进入停车场,如果停车场不满的话,便道里等候的第一辆车进入停车场,进入停车场的时间为停车场中车辆出来的时间,再设计一个函数用来显示停车场以及便道中车辆的信息。
二程序流程图:三,程序代码:#include<stdio.h>#define Size 3 /*车库容量*/#define Price 5 /*单位价格*/#define Null 0typedef struct time{int hour; /*时间结点*/}Time;typedef struct{int car_number;Time arrivetime,leavetime; /*车信息结点*/ int fee;}car_info;typedef struct{car_info *north;car_info *south; /*停车场信息*/int number;}car_park;typedef struct{car_info *west;car_info *east; /*倒车场信息*/int number;}car_park_back;Typedef struct car{car_info *data;struct car *next; /*结点信息*/}carnode;typedef struct node{carnode *head;carnode *rear; /*便道信息*/int number;}car_park_temp;void init_car_park(car_park *cp){cp->north=(car_info *)malloc(Size * sizeof(car_info)); /*初始化停车场*/ if(!cp->north) printf("error\n");cp->south=cp->north; /*令栈顶等于栈底*/cp->number=0;}void enter_car_park(car_park *cp,car_info *car){*cp->south++=*car; /*车辆进入停车场*/cp->number++;}int notfull_car_park(car_park *cp){int e;if(cp->south-cp->north>=Size) /*判断常常是否已满*/e=0;elsee=1;return(e);int notempty_car_park_back(car_park_back *cpb){int e;if(cpb->east==cpb->west)e=0; /*判断倒车场是否不空*/ elsee=1;return(e);}void back_car_park(car_park *cp,car_info *car){*car=*cp->south; /*进行倒车操作*/cp->number--;}void init_car_park_back(car_park_back *cpb){cpb->west=(car_info *)malloc(Size *sizeof(car_info));if(!cpb->west) printf("error\n"); /*倒车场初始化*/cpb->east=cpb->west;cpb->number=0;}void enter_car_park_back(car_park_back *cpb,car_info *car) {*cpb->east++=*car;cpb->number++; /*进入倒车场操作*/}void leave_car_park_back(car_park_back *cpb,car_info *car) {*car=*--cpb->east;cpb->number--; /*离开倒车场操作*/void init_car_park_temp(car_park_temp *cpt){cpt->head=cpt->rear=(carnode *)malloc(sizeof(carnode)); /*初始化便道*/ cpt->head->next=Null;cpt->number=0;}void enter_car_park_temp(car_park_temp *cpt,car_info *car){carnode *p;p=(carnode *)malloc(sizeof(carnode)); /*进入便道操作*/p->data=car;p->next=Null;cpt->rear->next=p;cpt->rear=p;cpt->number++;}void leave_car_park_temp(car_park_temp *cpt,car_info *car,car_park *cp) {carnode *p;p=cpt->head->next;car=p->data; /*离开便道操作*/cpt->head->next=p->next;enter_car_park(cp, car); /*进入停车场操作*/cpt->number--;}int notempty_car_park_temp(car_park_temp *cpt){int e;if(cpt->head==cpt->rear) /*判断便道是否为空*/e=0;elsee=1;return(e);}void leave_car_park(car_park *cp,car_info *car,car_park_back *cpb){int e, a1,b1,t; /*定义时间变量*/car_info *car1,*car2;car1=(car_info *)malloc(sizeof(car_info)); /*车辆实体化*/car2=(car_info *)malloc(sizeof(car_info));while((--cp->south)->car_number!=car->car_number) /*判断车号是否为要出去的车号*/ {back_car_park(cp,car1); /*进行倒车操作*/enter_car_park_back(cpb,car1); /*进入倒车场*/}car->arrivetime.hour=cp->south->arrivetime.hour;a1=car->arrivetime.hour;b1=car->leavetime.hour;t=(b1-a1);car->fee=t*Price; /*计算价格*/printf("the time of the car is %3d hour\n",t);printf("the money is %3d yuan\n",car->fee);e=notempty_car_park_back(cpb); /*判断倒车场是否为空*/while(e==1){leave_car_park_back(cpb,car2); /*离开倒车场enter_car_park(cp,car2); 进入停车场e=notempty_car_park_back(cpb); 判断倒车场是否为空*/}cp->number--;}void main() /*主函数*/{char ch; /*定义字符和int e,n,i; 整形变量*/car_park_back *cpb; /* 定义停车场,倒车场以及便道的变量*/ car_park *cp;car_park_temp *cpt,*cpt2;car_info *car;cp=(car_park *)malloc(sizeof(car_park)); /*实体化变量*/cpb=(car_park_back *)malloc(sizeof(car_park));cpt=(car_park_temp *)malloc(sizeof(car_park_temp));init_car_park(cp); /*实体化停车场,倒车场,便道*/init_car_park_back(cpb);init_car_park_temp(cpt);do{car=(car_info *)malloc(sizeof(car_info));printf("\ninput the 'A' or 'L' or 'X' ,end with '0' :");/*输入待操作的命令*/ scanf("%s",&ch);e=notfull_car_park(cp); /*判断车场是否为空*/switch(ch) /*判断要输入的命令*/{case 'A':if(e==1) /*车场不满,进入车辆*/{printf("input the car_number:"); /*输入车辆的基本信息*/scanf("%d",&car->car_number);printf("input the arrivetime:");scanf("%d",&(*car).arrivetime.hour);enter_car_park(cp,car); /*进入车场*/printf("the car is in the car_park,the place is %d\n",cp->number);}else /*若车场满,进入便道*/{enter_car_park_temp(cpt,car);printf("input the car_number:");scanf("%d",&car->car_number);printf("the car is in the car_park_temp,the place of temp is %d\n",cpt->number);}break;case 'L': /*离开停车场*/printf("input the car_number:"); /*输入要离开车辆的号码以及离开时间*/scanf("%d",&car->car_number);printf("input the leavetime of the car:");scanf("%d",&(*car).leavetime.hour);leave_car_park(cp,car,cpb); /*执行离开车场*/i=(*car).leavetime.hour; /*令便道里车辆进入车场的时间和车场里面的车离开的时间相等*/n=notempty_car_park_temp(cpt); /*判断便道是否不空*/if(n==1)printf("The car %d",cpt->head->next->data->car_number); /*记住便道里第一辆车的号码*/ leave_car_park_temp(cpt,car,cp); /*离开便道,进入停车场*/printf(" is enter the car_park,arrivetime is %d ,the place of carpark is %d\n",i,cp->number);break;case 'X': /*查看车场以及便道里的车辆信息*/printf("\nThere are %d cars in car park!\nFolowing is the carnumber in the car park:\n ",cp->number);for(i=1;i<=cp->number;i++) /*做循环,依次输出停车场里车辆的信息*/printf("%d,",(cp->north++)->car_number);cp->north=cp->north-cp->number;cpt2->head=cpt->head; /*设一个虚拟指针使其指向头结点的下一个位置*/ if(cpt->number==0) /*便道里没有车的情况*/printf("\nThere is no cars in temp!") ;else{ printf("\nThere are %d cars in car temp!\nFolowing is the carnumber in the car temp:\n ",cpt->number);for(i=1;i<=cpt->number;i++) /*做一个循环,输出便道里车辆的信息*/ {printf("%d ",cpt2->head->next->data->car_number); /* 输出车辆的号码*/ cpt2->head=cpt2->head->next;}}break;default:break; /*退出循环*/}}while(ch!='0'); /*退出操作*/}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、设计题目停车场管理系统2、设计任务与要求停车场管理系统是为了提高停车场的运行效率、加强安全性以及与智能交通系统的信息互动,把相关科学技术发展领域的最新成果合理有效的应用到停车场管理系统的完善和发展中。
本系统设计以待开发系统建立系统模型为基础,根据停车场管理进行基本的系统分析,经过详细需求分析,进行系统的总体设计和详细设计,画出各种模型图。
根据需求分析,进行需求建模,绘制系统的用例图和活动图;根据用例模型,绘制系统的状态图,类图和顺序图;对某些重要功能的对象绘制对象图;最后给出系统的组件图和部署图。
3、系统分析过程3.1 系统分析3.1.1需求分析(1) 系统功能需求系统的功能需求主要包括以下几个方面:①超级管理员具有最高的权限,即对本系统所有的权限操作权。
超级管理员授权给管理员赋予管理员应有的权限。
②管理员可根据需要来维护角色信息,并授权给相应的操作员。
进行系统的设置,权限设置,数据管理,操作员档案的管理。
③操作员行使管理员给与的权限,行使档案管理(车辆档案、卡档案管理、用户档案管理),入场的管理,收费管理,以及出场的管理。
(2) 系统主要包括以下几个模块:①基本业务处理模块。
基本业务处理模块主要用于实现管理员通过合法认证登录到该系统中进行停车场的管理。
②信息查询模块。
信息查询模块主要用于实现管理者和停车客户查询和对自身信息的查询。
③系统维护模块。
系统维护模块主要用于实现系统管理员对系统的管理和对数据库的维护,系统的管理包括停车位信息、客户信息等信息的维护。
数据库的维护包括数据库的备份、恢复等数据库操作。
3.1.2系统用例模型停车场管理系统的参与者包含以下几种:1、超级管理员2、管理员3、操作员4、客户根据停车场管理系统的需求,确定了该系统的用例图如下图所示。
图3-1 停车场管理系统用例图图3-2 客户用例图图3-3 系统管理员用例图图3-4 操作员用例图如图3-1所示,该系统主要有超级管理员、管理员和操作员三种角色,不同角色的基本任务如下所述。
超级管理员具有最高的权限,即对本系统所有的权限操作权。
超级管理员授权给管理员赋予管理员应有的权限。
管理员可根据需要来维护角色信息,并授权给相应的操作员。
进行系统的设置,权限设置,数据管理,操作员档案的管理。
操作员行使管理员给与的权限,行使档案管理(车辆档案、卡档案管理、用户档案管理),入场的管理,收费管理,以及出场的管理。
根据用例图得到的部分类图,如图 3-5+accredit()+name : String +password : String administrator +setting()-name : String -password : String admin+charge()-name : String -password : String -age : int-operator_no : string operator图 3-5 类图3.1.3 系统流程分析停车场管理系统分为入场停车和出场取车两部分。
如图2-3所示。
图 2-6 系统流程图A.入场停车流程(1)入场根据系统提示的停车场的现有信息控制车辆的入场,停车场在有车位的情况下方能停车。
(2)停车指定停车位置提示给用户B.出场取车流程(1)收费根据车辆信息,卡类型以及停车的时间等依据收费标准计算收费额度实施收费环节。
(2)出场交费之后在出场的相关信息提示下完成停车管理过程。
3.2 技术可行性分析停车场管理系统设计中,MVC(Model-View-Control)分层设计模式贯穿了整个设计流程,系统开发框架采用Struts1.2 +Hibernate3.1组合结构。
模型层模型层主要包括数据逻辑和业务逻辑。
在本系统中,Hibernate提供处理数据持久化,JavaBean对业务逻辑Service封装。
视图层:系统用Java application实现视图层。
控制层:采用Dao处理前台请求与Service业务逻辑的调用。
4、系统设计过程4.1 总体设计首先判断登录的身份,进入相应的操作页面通过需要的操作,最终完成目的操作的功能。
他们在内在关系由数据库和程序来控制。
4.2 业务流程分析本系统的的使用者是停车场的工作人员,为了便于管理并借鉴现有停车场的管理模式,划分成三个角色的用户。
工作人员首先登陆系统,经过一系列的身份验证,登陆成功之后进入相应的操作界面,实现各自的管理功能。
总体功能分析业务流程图。
如图4-2业务流程图图4-2 业务流程图其中各模块有对应的添加、修改及删除功能。
4.2.1 系统功能模块如图 4-3 系统功能模块划分图 4-3 系统功能模块划分4.3系统模块设计(1)授权管理模块具有最高管理权限超级管理员对该模块进行操作,对管理员进行授权,添加删除修改管理员。
(2)系统设置由超级管理员授权的管理员行使该功能,主要是对停车场的参数进行设置。
(3)操作员档案管理由管理员行使改功能,停车场业务操作员进行管理,添加、删除、修改操作员的信息。
(4)数据管理模块该模块显示了停车场日常运行所产生的数据,场内车辆,进出数据,收费金额以及交班记录的相关信息。
(5)档案管理该部分功能为操作员所使用,主要是对停车场发放的卡进行管理、车档案的管理以及停车场顾客的信息档案管理。
他们都有自己的添加、删改、修改的功能。
(6)入场管理该模块是本系统的一个重要的功能模块,主要采集汽车入场时候的一些必要的参数,对参数进行处理和判断,这些获得的参数提交到后台进行相关的处理。
(7)出场管理汽车离场之前对其进行的离场验证和停车时间的数据收集,为下一收费模块提供数据。
(8)收费管理该模块是本系统最重要的一个模块,根据出入场提供的参数结合该模块收费标准的设置计算出收费的金额,完成收费并打印出收费清单。
4.4 数据库设计与实现4.4.1 数据库的需求分析数据库设计的ER图。
如图 4-4-1系统数据库ER图,制定一个收费标准要卡的类型以及收费的标准(时收费或次收费)来确定。
停车场的顾客用户有唯一的一条卡信息与自己的车信息绑定。
停车场的总车位数决定了车位表的总车位,一个车位只能存放一部车。
收费的根据时入场时的信息和出场时的信息以及收费标准的综合得出。
交班记录要记下该员工在工作时间内的所有的操作记录,上下班时间以及在这段时间内的操作。
图 4-4-1 系统数据库ER图根据系统需求,本系统需要设计13张表。
卡信息表:存放卡的相关信息。
停车场参数表:存放停车场的基本参数。
用户表:存放用户的基本信息。
车信息表:存放车的基本信息。
权限表:存放对应的权限信息和对应的行使该权限人员的相关信息。
时收费表:存放按时收费的时间段。
次收费表:存放按次收费的时间段。
入场表:存放入场时候的一些信息。
出场表:存放出场时的相关信息。
交班表:存放操作员交接班的相关信息。
收费表:存放停车一段时间的收费信息。
车位表:用于存放每一个车位上的停车状态。
收费标准表:存放收费的统一标准。
4.5详细设计登录模块登陆页面需要用户名、密码,进入后根据管理的级别,行使不同的功能。
登陆时进行验证,首先进行页面级的验证输入的信息,用户名和密码不能为空。
其次进行数据库的验证,当系统中没有该管理员的信息时将把错误信息抛出到页面,提示用户出错原因。
当同一个用户已经登录时,使用同一账号和密码将不能登陆该系统,在一定程度上提高了系统的安全性。
系统设置模块主要是根据管理员输入的停车场的参数,这些参数是由管理员对停车场的参数进行初始化,通过查询停车场参数显示停车场的参数信息。
入场管理模块如果有车入场,首先要检测一下是否还有空闲的车位,如果没有空闲车位,入场不成功。
这一过程的实现通过设置每个车位的状态来进行实现,每个车位的信息都存储在车位信息表中。
入场管理需要手动输入一些信息,提交之后要进行必要的判断之后按照指定车位进入停车场,在指定车位的时候是根据车位在车位表中的顺序来进行指定的。
出场管理如果有车出场,首先要确定是否出场,如果出场,出场不成功增加一个停车位。
这一过程的实现通过设置每个车位的状态来进行实现,每个车位的信息都存储在车位信息表中。
出场管理需要手动输入一些信息,提交之后要进行必要的判断之后按照指定车位出停车场,在指定车位的时候是根据车位在车位表中的顺序来进行指定的。
4.5.1序列图和协作图系统管理员登录系统:序列图协作图管理员登录系统:协作图: SytemManagerLoginFormControl 1: 登录4: 显示验证信息2: 验证用户3: 返回验证信息序列图4.5.2创建系统的状态图图4-6-1系统的状态图4.5.3创建系统的活动图客户进入停车场的活动图图4-7-1客户进入停车场的活动图系统管理员的查询车位活动图图4-7-2系统管理员的查询车位活动图4.8创建系统的部署模型图4-5-1系统的部署模型4.9系统部署图6、参考资料[1] 章立民.Visual C# 2005文件IO与数据存取秘诀[M].机械工业出版社,2007.[2] 刁成嘉.UML系统建模与分析设计[M].机械工业出版社,2007.[3] 金雪云,周新伟,王雷.Visual C# 2005 [M].高等教育出版社,2002.[4] 马海军,景丽.Java编程原理与实践[M].清华大学出版社,2005.。