面向对象分析与设计课程结课大作业

来源:初二 发布时间:2020-11-26 点击:

面向对象的分析与设计 课程结课大作业 学 号 学生姓名 专 业 软件工程 班 级 XX大学教务处制 《面向对象的分析与设计》课程结课作业 题 号 分 值 一 二 三 四 五 六 七 八 总结 总分 总分 5 10 10 10 10 10 10 20 15 100 得分 提示:1、请将答案写在此文档的相应位置,图形需在StatUML或其他绘图软件下绘制,大小可以根据个人需求定制;
2、请将相关的文档,包括程序的相关文档进行压缩,并将压缩文档上传到ftp:// “大作业电子版文档”文件夹下命名为“班级-学号-姓名” ,纸质版于2014年12月19日下午18:00—20:00交到逸夫楼109。

一、选题 请根据你抽中的题号,请将其所对应的题目写到下方,并将你要描述的界面进行截图。

航空订票管理系统 二、用例图建模(此题10分)
请根据自己所选择的题目,描述一段不少于100字的需求分析,并绘制相应的用例图。此题要求:用例图中,用例的粒度不少于5个,必须绘制参与者和用例,尽量使用用例图中所有的要素,用例图的数量不少于2个。请注意:文字描述要与用例图相对应。

1、需求分析如下所示:
根据系统功能的区别,系统分为 订票模块 与 航班信息管理模块 还有 个人信息管理模块,订票模块主要由查票,订票,退票,改票等功能组成。航班信息管理模块主要由航班信息的增删查改等功能组成。个人信息管理模块主要由个人信息的查询,修改等功能组成。

根据参与者的不同,系统用例分为 用户用例图 与 管理员用例图 与 顶层用例图。

用户用例图用例:注册,登录,航班查询,机票预订,已定机票查询,退票,修改已定航班个人信息,查看个人信息,修改个人信息,打印票据。

参与者:注册用户。

管理员用例图用例:注册,登录,添加航班信息,修改航班信息,删除航班信息,查看个人信息,修改个人信息,统计订票数据。

参与者:系统管理员。

顶层用例图用例:个人信息管理,订票管理,航班信息管理。

参与者:注册用户,系统管理员。

2、用例图截图如下所示:
系统顶层 用例图 注册用户 用例图 系统管理员 用例图 三、类图建模(此题10分)
请根据自己所选择的题目,描述一段不少于100字的需求分析,并绘制相应的类图。此题要求:类图中,类的个数不少于5个,尽量使用类图中所有的要素,类图的数量不少于1个。请按照,找类——确定关系(关联关系需要确定其多重性,约束条件,限定符)——确定职责,的顺序进行绘制。请注意:文字描述要与类图相对应。

1、需求分析如下所示:
首先这些类图都是将数据中的表抽象出实体类的,然后根据功能描述,抽象出他们之间关系的类来的。对于这些属性就是数据库表中的字段。

user类的属性有id、name、age、username、password、zhucedate和user;
admin的属性有id、name、age、username、password、zhucedate和user;
dingpiao的属性有id、hid、uid、price、fukuan和ondate。hangkong的属性有id、start、end、startdate、endtime、carid和price。

2、类图截图如下所示:
航空订票系统 类图 四、序列图和协作图建模(此题10分)
请根据自己所选择的题目,描述一段不少于100字的需求分析(主要是按时间顺序描述事件流),并绘制相应的序列图。此题要求:1、序列图中,对象的个数不少于3个,尽量使用序列图中所有的要素,序列图的数量不少于1个。2、协作图中,对象的个数不少于4个,尽量使用协作图中所有的要素,协作图的数量不少于1个。请注意:文字描述要与序列图和协作图相对应。

1、需求分析如下所示:
查询并修改航班信息序列图:用户验证进入系统,进入查询界面,然后可以按数据库中hangkong的ID或时间查询航班信息,将查询结果显示在用户查询界面中,以便查看航班详细信息。

协作图注重表示对象键的关系,修改用户信息协助图:用户输入验证并验证进入系统,先查询到要修改的用户,向数据库访问层提交请求,再向存储的数据库检索信息,返回检索到的信息并在系统上显示,然后修改信息,向数据库访问层提交更新请求,同步信息到数据库中,返回修改成功。

2、序列图截图如下所示:
用户登录 序列图 查询并修改个人信息 序列图 查询并修改航班信息 序列图 添加航班信息 序列图 用户退票 序列图 用户注册序列图 3、协作图截图如下所示:
查询并修改个人信息 协作图 用户订票与查票 协作图 五、状态图建模(此题10分)
请根据自己所选择的题目,描述一段不少于100字的需求分析,并绘制相应的状态图。此题要求:状态图中,状态的个数不少于4个,尽量使用状态图中所有的要素,标明事件或动作,状态图的数量不少于1个。请注意:文字描述要与状态图相对应。

1、需求分析如下所示:
用户状态分为:未登录状态,登录状态,未注册状态,查询个人信息状态,修改信息状态,退出状态,查询航班状态,订票状态。

管理员状态分为:为登录状态,登录状态,未注册状态,查询个人信息状态,修改个人信息状态,退出状态,工作状态,工作完成状态。

2、 状态图截图如下所示:
管理员 状态图 用户 状态图 六、活动图建模(此题10分)
请根据自己所选择的题目,描述一段不少于100字的需求分析,并绘制相应的活动图。此题要求:活动图中,活动的个数不少于4个,尽量使用活动图中所有的要素,标明事件或动作,最少使用一次分支与合并或者分叉与结合,活动图的数量不少于1个。请注意:文字描述要与活动图相对应。

1、需求分析如下所示:
活动图是一种用于描述系统行为的模型视图,它可用来描述动作和动作导致对象状态改变的结果,不用考虑引发状态改变的事件,它阐明了用例实现的工作流程。对于修改用户信息的活动图,用户首先要登陆,登陆时就存在用户信息验证,登陆后就可以对用户信息进行管理,修改用户信息是要先查询到用户要修改的信息,可以以用户ID和姓名查找,查找到后可以修改具体信息。

2、活动图截图如下所示:
用户查询修改个人信息 活动图 用户订票 活动图 七、包图、构件图和部署图建模(此题10分)
请根据自己所选择的题目,描述一段不少于100字的需求分析,并绘制相应的部署图。此题要求:部署图中,节点的个数不少于3个,尽量使用部署图中所有的要素,部署图的数量不少于1个。请注意:文字描述要与部署图相对应。

1、 需求分析如下所示:
对于系统的功能模块分包,分为个人信息管理模块包,航班信息管理模块包,订票信息管理模块包,并对三个模块内主要通用功能建包,如订票信息管理模块包中建立订票功能包,修改订票信息功能包,和退票功能包。

2、 部署图截图如下所示:
航空订票系统 部署图 航空订票系统 包图 八、核心代码(此题20分)
此题要求:列出核心代码,并上传附件。

主要实现代码:
public static String strnum; public static String airTime; private void timer1_Tick(object sender, EventArgs e) { toolStripStatusLabel4.Text = “ 当Ì¡À前¡ã时º¡À间?:êo“ + DateTime.Now.ToLongDateString() + DateTime.Now.ToLongTimeString(); } private void Form2_Load(object sender, EventArgs e) { timer1.Start(); timer1.Interval = 1000; comboBox1.SelectedIndex = 0; String str = “Data Source=.;Initial Catalog=AirFlight;Integrated Security=SSPI“; SqlConnection conn = new SqlConnection(str); conn.Open(); String sql = “select distinct 始º?发¤¡é地Ì? from PlaneInfo“; SqlDataAdapter da = new SqlDataAdapter(sql,conn); DataSet ds = new DataSet(); da.Fill(ds, “begin“); comboBox2.DataSource = ds.Tables[“begin“]; comboBox2.DisplayMember = “始º?发¤¡é地Ì?“; String sqll = “select distinct 目?的Ì?地Ì? from PlaneInfo“; da = new SqlDataAdapter(sqll, conn); ds = new DataSet(); da.Fill(ds, “end“); comboBox3.DataSource = ds.Tables[“end“]; comboBox3.DisplayMember = “目?的Ì?地Ì?“; conn.Close(); } private void button1_Click(object sender, EventArgs e) { String str = “Data Source=.;Initial Catalog=AirFlight;Integrated Security=SSPI“; SqlConnection conn = new SqlConnection(str); conn.Open(); String selectCo = “select * from PlaneInfo where 始º?发¤¡é地Ì?='“ + comboBox2.Text.Trim() + “' and 目?的Ì?地Ì?='“ + comboBox3.Text.Trim() + “'“; //String selectCo = “select * from PlaneInfo“; SqlCommand comm = new SqlCommand(selectCo,conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read()) { conn.Close(); conn.Open(); SqlDataAdapter da = new SqlDataAdapter(selectCo, conn); DataTable ds = new DataTable(); da.Fill(ds); dataGridView1.DataSource = ds; } else { MessageBox.Show(“无T此ä?航?班㨤“); } conn.Close(); } private void label2_Click(object sender, EventArgs e) { String str = “Data Source=.;Initial Catalog=AirFlight;Integrated Security=SSPI“; SqlConnection conn = new SqlConnection(str); conn.Open(); String selectCo = “select * from PlaneInfo where 目?的Ì?地Ì?='海¡ê南?'“; SqlDataAdapter da = new SqlDataAdapter(selectCo, conn); DataTable ds = new DataTable(); da.Fill(ds); dataGridView1.DataSource = ds; conn.Close(); } private void label3_Click(object sender, EventArgs e) { String str = “Data Source=.;Initial Catalog=AirFlight;Integrated Security=SSPI“; SqlConnection conn = new SqlConnection(str); conn.Open(); String selectCo = “select * from PlaneInfo where 目?的Ì?地Ì?='巴㨪黎¤¨¨'“; SqlDataAdapter da = new SqlDataAdapter(selectCo, conn); DataTable ds = new DataTable(); da.Fill(ds); dataGridView1.DataSource = ds; conn.Close(); } private void label4_Click(object sender, EventArgs e) { String str = “Data Source=.;Initial Catalog=AirFlight;Integrated Security=SSPI“; SqlConnection conn = new SqlConnection(str); conn.Open(); String selectCo = “select * from PlaneInfo where 折?扣?<6.0“; SqlDataAdapter da = new SqlDataAdapter(selectCo, conn); DataTable ds = new DataTable(); da.Fill(ds); dataGridView1.DataSource = ds; conn.Close(); } private void label5_Click(object sender, EventArgs e) { String str = “Data Source=.;Initial Catalog=AirFlight;Integrated Security=SSPI“; SqlConnection conn = new SqlConnection(str); conn.Open(); String selectCo = “select * from PlaneInfo where 目?的Ì?地Ì?='北À¡À京?'“; SqlDataAdapter da = new SqlDataAdapter(selectCo, conn); DataTable ds = new DataTable(); da.Fill(ds); dataGridView1.DataSource = ds; conn.Close(); } private void button2_Click(object sender, EventArgs e) { strnum = textBox3.Text.Trim(); airTime = dateTimePicker1.Text; Form3 f3 = new Form3(); f3.Show(); } 总 结 请阐述通过该课程的学习,你学到了哪些内容。请按照如下格式进行叙述:
一、用例图 1、作用:描述参与者和用例之间的关系,帮助开发人员可视化了解系统的功能。

2、组成元素:参与者、用例、系统边界、关联 3、彼此之间的关系:参与者与参与者之间有泛化关系;
用例和参与者属于关联关系,双向的一对一关系,用例与用例之间的关联包括包含、扩展和泛化关系。

4、实例:航空售票系统注册 二、类图 1、作用:类图从抽象的角度描述系统的静态结构,特别是模型中存在的类、类的内部结构及它们与其他类之间的相互关系。

2、组成元素:是由类、接口等模型元素以及它们之间的关系构成。, 3、彼此之间的关系:类之间存在依赖关系、泛化关系、关联关系和实现关系。

4、实例: 三、序列图 1、作用:1)确认和丰富一个使用语境的逻辑表达;
2)细化用例的表达;
3)有效的描述如何分配各个类的职责以及各类具有相应职责的原因 2、组成元素:由对象、生命线、激活和消息构成 3、彼此之间的关系:相互作用、相辅相成 4、实例:用户登录 序列图 四、协作图 1、作用:1)通过描述对象之间消息的传递情况来反映具体的使用语境的逻辑表达;

2)显示对象及其互交关系的空间组织结构;

3)表示一个类操作的实现 2、组成元素:由对象、消息、链构成 3、彼此之间的关系:通过各个对象之间的组织互交关系以及对象彼此之间的链接,表达对象之间的互交 4、实例:用户订票与查票 协作图 五、状态图 1、作用:1)清晰地描述转台之间的转换顺序;

2)事件顺序有利于程序员在开发程序时避免出现事件错序的情况 3)状态图通过判断可以更好地描述工作流因为不同条件发生的分歧 2、组成元素:包括状态、转换、判定、事件 3、彼此之间的关系:状态是描述一个类对象生命周期的一个时间段,转换是表示一个状态机的两个状态之间的关系,判定表示一个事件依据不同的条件监护有不同的影响 六、活动图 1、作用:1)描述一个操作执行过程中所完成的任务;

2)可以建模用例的工作流程、显示用例内部和外部用例之间的路径 3)显示如何执行一组相关的动作 4)对理解业务处理过程十分有用 5)描述复杂的算法 2、组成元素:动作状态、活动状态、组合状态、分叉与结合、分支与结合、泳道、对象流 3、彼此之间的关系:通过动作来描述活动的具体过程,通过关系来描述活动之间的分别 4、实例:
用户 状态图 七、部署图 1、作用:
2、组成元素:包括节点和节点之间的链接。客户端、服务器、数据库服务器、打印机 3、彼此之间的关系:客户端和服务器通过HTTP方式连接,服务器和数据库服务器通过ODBC方式连接 4、实例:航空订票系统 部署图

推荐访问:php结课作业答案 《PHP》结课作业 《国际结算》结课作业 《纳税会计》结课作业 《网页制作》结课作业 人员与开发结课作业 纳税会计结课作业 北语网页制作结课作业 经济类专业导论结课作业 《保险学原理》结课作业
上一篇:国企党委书记在工作落实年专题党课上讲稿
下一篇:镇党委对党员发展工作自查自纠报告

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有