飞机订票系统_Stage1

本文围绕《飞机订票系统》展开,开发者为李青洋和陈之龙,采用myeclipse、MySQL等开发软件。系统面向网上订机票人群,用户可注册登录、查询航班等,管理员可管理航班信息。介绍了系统的功能与非功能需求,还提及领域模型涵盖航班、订票等方面。

Presented by 16计科2班 李青洋201610411218 陈之龙201610411206

需求分析:

引言

背景:

  1. 本次开发的系统名称为《飞机订票系统》。
  2. 本项目的提出及开发者为李青洋,陈之龙。
  3. 本次开发采用的开发软件为myeclipse,MySQL,Netbean IDE 8.2。
  4. 用户群体为需要在网上订购机票的人群。

功能需求

用户能够在本系统中注册并登陆账号,以此才能在本系统中查询航班信息,机票余量,机票价格,订购机票,以及在个人信息管理中能够查询到目前已订购的机票或是退订机票。管理员将拥有权限对航班的信息进行管理,包括航班时间,航空公司,机票价格,系统稳定的维护,以及对用户退票的管理。

非功能需求

 本飞机订票系统所取纳的航班信息来自于各个航空公司,更新的时间为每日,硬件设备的最低要求的能够访问IE浏览器8.0

ER图

 

用例图

系统架构

 

领域模型:

 在这个系统设计里面,通过分析整个应用的功能:航班,订票,个人信息管理,查询航班,退票/改签,支付,票务公司管理

1.航班
  航班的信息里面包括:航班的起始位置,起飞降落的时间,舱位,座位信息等等。

  1. 订票
      乘客根据自己想要去到的地方以及出发的时间合理订票。
  2. 个人信息
      使用该功能的用户需要设置以下信息:用户名,登录密码,支付密码,昵称等等。
  3. 航班查询
      用户在订票之后随时可以查询自己的航班信息是否更新,以便及时登机。
  4. 退票/改签
      如果用户在飞机起飞前决定退票或者来不及登机可以及时做出相应的改变。
  5. 支付
      在订单完成后用余额进项支付。
  6. 票务公司管理

               票务公司对乘客,航班信息,订单等做出相应的管理措施,及时更新他们的航班信息,以及乘客登机情况。

转载于:https://www.cnblogs.com/czl1205115684/p/10833352.html

module top( CLK, start, /*EN*/ rst, /*reset*/ load, /*load signal*/ load_success, /*feedback signal when load success*/ input_ready, /*input available*/ output_ready, /*output available*/ FLOAT32_IN, /*IEEE x input*/ FLOAT32_OUT, /*IEEE e^x output*/ /*debug only*/ D_state, D_FIX_taylor_output, D_e, D_x, D_taylor_1, D_taylor_2, D_taylor_3 ); /*---------------------------------------------------*/ /*-----------------port declare----------------------*/ /*---------------------------------------------------*/ input CLK, start, rst, load; output input_ready, output_ready, load_success; output [2:0] D_state; input [31:0] FLOAT32_IN; output [31:0] FLOAT32_OUT; output [25:0] D_FIX_taylor_output, D_e, D_x, D_taylor_3, D_taylor_2, D_taylor_1; /*----------------------------------------------------*/ /*------------- stage 0 input reprocess---------------*/ /*----------------------------------------------------*/ wire [25:0] IN_A, stage_0_E; wire [31:0] stage_0_FLOAT32_OUT; wire stage_1_start; input_process_stage my_stage_0( .CLK(CLK), .rst(rst), .FLOAT32_IN(FLOAT32_IN), /*IEEE float32 x input*/ .FLOAT32_OUT(stage_0_FLOAT32_OUT), /*e^b IEEE 745 output*/ .A(IN_A), /*x - a Q3.23 output*/ .E(stage_0_E), /*e^a Q3.23 output*/ .next_stage_start(stage_1_start), /*next stage triger signal*/ /*---------control signal----------*/ .load(load), /*input data load*/ .start(start), /*function like OE*/ .input_ready(input_ready), /*input load available*/ .load_success(load_success), .d_state(D_state) ); assign D_x = IN_A; /*----------------------------------------------------*/ /*------------- stage 1 taylor part 1 ---------------*/ /*----------------------------------------------------*/ wire stage_1_mul_ss, stage_1_add_ss, stage_1_output_ready, stage_1_is_pass, stage_1_mul_ss_en, stage_1_add_ss_en; wire [25:0] stage_1_output; wire [25:0] stage_1_E; wire [31:0] stage_1_FLOAT32_OUT; /*control*/ taylor_stage_1_control my_control_1( .CLK(CLK), .start(stage_1_start), .rst(rst), .output_ready(stage_1_output_ready), .mul_ss(stage_1_mul_ss), .add_ss(stage_1_add_ss), .mul_ss_en(stage_1_mul_ss_en), .add_ss_en(stage_1_add_ss_en) ); /*datapath*/ taylor_stage_1 my_stage_1( .CLK(CLK), .IN_A(IN_A), /*x - a*/ .OUT(stage_1_output), /*control signal*/ .mul_ss(stage_1_mul_ss), .add_ss(stage_1_add_ss), .mul_ss_en(stage_1_mul_ss_en), .add_ss_en(stage_1_add_ss_en) ); /*----------------------------------------------------*/ /*-------pipeline register part 1 && part 2-----------*/ /*----------------------------------------------------*/ reg [25:0] reg_stage1_stage2; reg reg_stage2_start; reg [25:0] reg_stage_1_E; reg [25:0] reg_stage_1_A; reg [31:0] reg_stage_1_FLOAT32_OUT; assign D_taylor_1 = reg_stage1_stage2; always @ (posedge CLK) begin if(stage_1_output_ready) begin reg_stage_1_A <= IN_A; reg_stage_1_E <= stage_0_E; reg_stage_1_FLOAT32_OUT <= stage_0_FLOAT32_OUT; end end always @ (posedge CLK) begin if(stage_1_output_ready) begin reg_stage1_stage2 <= stage_1_output; reg_stage2_start <= 1'b1; end else begin reg_stage1_stage2 <= 26'd0; reg_stage2_start <= 1'b0; end end /*----------------------------------------------------*/ /*------------- stage 2 taylor part 2 ---------------*/ /*----------------------------------------------------*/ wire stage_2_mul_ss, stage_2_add_ss, stage_2_output_ready, stage_2_mul_ss_en, stage_2_add_ss_en; wire [25:0] stage_2_output; /*control*/ taylor_stage_2_control my_control_2( .CLK(CLK), .start(reg_stage2_start), .rst(rst), .output_ready(stage_2_output_ready), .mul_ss(stage_2_mul_ss), .add_ss(stage_2_add_ss), .mul_ss_en(stage_2_mul_ss_en), .add_ss_en(stage_2_add_ss_en) ); /*datapath*/ taylor_stage_2 my_stage_2( .CLK(CLK), .IN_A(reg_stage_1_A), /*x - a*/ .IN_B(reg_stage1_stage2), .OUT(stage_2_output), /*control signal*/ .mul_ss(stage_2_mul_ss), .add_ss(stage_2_add_ss), .mul_ss_en(stage_2_mul_ss_en), .add_ss_en(stage_2_add_ss_en) ); /*----------------------------------------------------*/ /*-------pipeline register part 1 && part 2-----------*/ /*----------------------------------------------------*/ reg [25:0] reg_stage2_stage3; reg reg_stage3_start; reg [25:0] reg_stage_2_E; reg [25:0] reg_stage_2_A; reg [31:0] reg_stage_2_FLOAT32_OUT; assign D_taylor_2 = reg_stage2_stage3; always @ (posedge CLK) begin if(reg_stage2_start) begin reg_stage_2_E <= reg_stage_1_E; reg_stage_2_FLOAT32_OUT <= reg_stage_1_FLOAT32_OUT; end end always @ (posedge CLK) begin if(stage_2_output_ready) begin reg_stage_2_A <= reg_stage_1_A; reg_stage2_stage3 <= stage_2_output; reg_stage3_start <= 1'b1; end else begin reg_stage2_stage3 <= 26'd0; reg_stage3_start <= 1'b0; end end /*----------------------------------------------------*/ /*------------- stage 3 taylor part 3 ---------------*/ /*----------------------------------------------------*/ wire stage_3_mul_ss, stage_3_output_ready, stage_3_mul_ss_en, stage_3_add_ss_en; wire [25:0] stage_3_output; /*control*/ taylor_stage_3_control my_control_3( .CLK(CLK), .start(reg_stage3_start), .rst(rst), .output_ready(stage_3_output_ready), .mul_ss(stage_3_mul_ss), .mul_ss_en(stage_3_mul_ss_en), .add_ss_en(stage_3_add_ss_en) ); /*datapath*/ taylor_stage_3 my_stage_3( .CLK(CLK), .IN_A(reg_stage_2_A), /*x - a*/ .IN_B(reg_stage2_stage3), .OUT(stage_3_output), /*control signal*/ .mul_ss(stage_3_mul_ss), .mul_ss_en(stage_3_mul_ss_en), .add_ss_en(stage_3_add_ss_en) ); /*----------------------------------------------------*/ /*-------pipeline register part 2 && part 3-----------*/ /*----------------------------------------------------*/ reg [25:0] reg_stage3_stage4; reg reg_stage4_start; reg [25:0] reg_stage_3_E; reg [31:0] reg_stage_3_FLOAT32_OUT; assign D_taylor_3 = reg_stage3_stage4; always @ (posedge CLK) begin if(reg_stage3_start) begin reg_stage_3_E <= reg_stage_2_E; reg_stage_3_FLOAT32_OUT <= reg_stage_2_FLOAT32_OUT; end end always @ (posedge CLK) begin if(stage_3_output_ready) begin reg_stage3_stage4 <= stage_3_output; reg_stage4_start <= 1'b1; end else begin reg_stage3_stage4 <= 26'd0; reg_stage4_start <= 1'b0; end end /*----------------------------------------------------*/ /*------------- stage 4 output process --------------*/ /*----------------------------------------------------*/ assign D_e = reg_stage_3_E; output_process_stage my_stage_5( .CLK(CLK), .start(reg_stage4_start), .rst(rst), .FIXED_taylor_input(reg_stage3_stage4), .FIXED_e_input(reg_stage_3_E), .FLOAT_e_input(reg_stage_3_FLOAT32_OUT), .FLOAT_result_output(FLOAT32_OUT), .output_ready(output_ready), .D_taylor_output(D_FIX_taylor_output) ); endmodule分析一下这段代码
最新发布
07-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值