湘潭大学数学与计算科学学院
学生实验报告
专业 实验日期 实验项目 班级 姓名 学号 2017年3月02日至2017年4月28日 实用软件工程 一、软件工程概念与应用分析 1. 请调研分析最近两年计算机软件的发展趋势,并给出简要的对比分析。 软件产业作为国家的基础性、战略性产业,在促进国民经济和社会发展、转变经济增长方式、提高经济运行效率、推进信息化与工业化融合等方面具有重要的地位和作用,是国家重点支持和鼓励的行业。 目前,我国软件产业规模快速壮大,结构不断优化,创新能力增强,部分领域实现突破。但仍然面临着基础领域创新能力和动力不足,与各行业领域融合应用不够,信息安全保障能力亟须加强等问题。 从软件行业各业务收入比重来看,近几年软件产品开发和系统集成业务一直是软件行业收入占比最高的两大类业务,合计收入占比一直保持在全行业的50%以上。该两类业务随着软件行业的发展实现了平稳增长。 2015年软件发展趋势 1.个性化的用户体验 2015年,大多的移动应用都将提供更加个性化的内容和服务,那些只在Web上可用的服务也将过渡到移动当中。新应用将允许用户去创建、修改、分享和购买个性化的产品和服务。新开发的技术能够有效的使用移动分析工具提供的大数据,从而推动应用程序服务的个性化。 通过对用户移动设备上相关信息的收集,提供与之相关的特定服务。这将让用户花费更少的时间在挑选自己喜欢的事情上,因为他们看到的结果全是根据自身的喜好显示出来的内容。因此,个性化将成为2015年移动应用领域最重要的一方面。 2. 崛起的移动支付 移动支付之所以暂时呈现出停滞不前的态势,主要还是因为用户对其安全问题的担忧。不过,通过使用近距离无线通讯技术(NFC)的移动应用的支付正 在开展行动,因为最近Apple的升级引入了一个带有NFC的一个移动支付系统,并说服了大量的商家和企业去接受这个系统的支付。 2015年,移动支付将有望随着安全移动应用的开发实现快速的增长,像Apple Pay、Google Wallet和MCX的CurrentC之类的移动支付解决方案也昭示着移动支付快速增长的趋势。为Android、iOS和Windows Phone设计的集成支付系统的应用,让用户通过智能手机就能够安全的购买产品和服务。 3. HTML5和混合开发 为每个平台分别构建原生应用是一件很耗时间和资源的事情,解决方法就是使用HTML 5为每个平台开发移动Web应用。这一方法,让开发者可以利用更少的资源去快速开发,同时,还不会影响用户体验。 最新发布的移动开发系统比如Android Lollipop和iOS 8都已经添加了一些新功能像Web GL和Web Audio来提升HTML 5在各自设备上的处理能力。 实验内容与要求 4. 企业应用 灵活性已经成为一个企业服务交付的重要方面,大多数的企业需要快速响应更新发布的变化,因为他们的企业应用有特定的时间约束。像HTML 5这样这样技术的发展将促使使用很少的开销就能开发出丰富的企业应用。这也就表明,2015年会看到快速开发和灵活高适应的企业移动应用。 5. 内容丰富的应用程序 2015年的移动应用将会迎来丰富的设计、用户界面和速度的提升,硬件速度的高效提升和价格的下降,让移动开发者拥有更多开发移动应用的自由,不 再受有限的处理能力的限制。屏幕分辨率的增加和64位处理器的进步将促使大量现有的应用更新到最新的标准。Google的Android 5的设计新进展,也将迫使竞争对手五提高他们的设计标准。2015年会是见证移动应用拥有更高分辨率、高色彩饱和度和新锐的界面设计以及改进的硬件支持的 时代,预计64位将是所有移动设备和新应用的标准。 6. 选择自己的设备(CYOD) 2014年,移动进入企业领域和工作场所,自带设备(BYOD)变得流行起来,看起来也被广泛使用。公司推广BYOD用于为不同的移动平台和设备 进行应用开发。这样,企业就无需像BlackBerry那样为员工提供特定的设备。不过,在2015年,这一趋势将让位于自选设备(CYOD),更进一步 的是企业直接下发设备给员工,移动终端归企业所有,即COPE。 CYOD让员工在企业选定的设备类型里选择自己想要的智能终端,对于设备的类别和范围的限制,便于企业集中管理,方便统一实施企业安全标准和策略。因此,2015年CYOD将成为企业的新标准。 2016的软件发展趋势 一、容器技术(Container)将统治世界 毫无疑问当红炸子鸡Docker将度过叛逆青春期,变得更加成熟稳重,给人以安全感,更容易管理。 二、Java将加速衰落 虽然还有很多招聘说明中要求Java技能,Java也依然是目前主流的“吃饭”语言,但实际上这些企业热心的是Spark、Node.js或MongoDB,他们招你进去是为了让你能上手Spark,这意味着你真正要掌握的是Python和Scala。 三、留神戴尔EMC的灾难性组合 从IT历史规律来看,戴尔并购EMC是徒劳和不得人心的,恐龙和恐龙合体的场面通常很壮观,但最终的产物注定依然只能是一只反射弧超长的恐龙,开发者们,离恐龙远点。 四、NoSQL数据库将站稳脚跟 NoSQL这个名字起得很失败,被各路砖家拍得也很惨。但是这挡不住2016年越来越多的大型传统企业开始使用NoSQL数据库。 五、一切都实时化 不仅仅是数据分析的实时化(快数据),事实上随着企业自动化程度的不断提升,整个供应链都在朝着实时化发展。 六、ETL继续扮演沉默杀手 ETL就像厨房里的洗菜切菜工序,但却消耗了80%的数据分析预算,大厨只拿20%不到,这显然是很要命的一件事,如果门槛和成本不能大幅下降,ETL将继续扮演数据分析项目的绊脚石和沉默杀手。 七、Spark将扛起大数据的旗 是否很久没有听到Hadoop的消息了?是的,Spark将扛起大数据的旗帜,成为下一代大数据技术的中流砥柱。 2. 列车车票订票销售系统分析,并画出火车票订票系统流程图。 乘客基本信息 开始 输入乘客需求 N Y 成功订票 N 是否有票 结束 Y 成功订票 车票金额 是否有列车 成功订票 结束 Y N 是否付款 成功出票 无法出票 取票码、车厢、座位 结束 分析:在计算机网络,数据库和先进的开发平台上,利用现有的软件,开发的具有良 好人机交互界面的火车票订票系统,实现火车运载公司的火车票销售的自动化的计算 机系统,为企业的决策层提高准确、精细、迅速的火车票销售信息。具体功能为通过 将“乘客基本信息”输入到系统中并储存,乘客人工输入“乘客需求”,查询并输出 “列车运行情况”;在有票的情况下输出车票金额,乘客缴费后系统判断是否缴费成 功,缴费成功即输出取票码与车厢座位号;火车票订票系统结束。乘客通过取票码至 车站打印出相应车票。 3.招聘考试系统软件工程项目设计。需求如,某市进行招考公务员工作,分行政、法律、财经三个专业。市人事局公布所有用人单位招收各专业的人数,考生报名,招考办公室发放准考证。考试结束后,招考办公室发放考试成绩单,公布录取分数线,针对每个专业,分别将考生按总分从高到低进行排序。用人单位根据金排序名单录用,发放录用通知书给考生,并给招考办公室留存备查。请根据以上情况进行分析,确定本题应建立那几个对象类,画出顺序图。 :考生 :招考办公室 :用人单位 基本信息招收人数 准考证 考试 成绩单排序名单 分数线 录取通知书 录取通知书 二、软件工程实例设计 请结合软件工程学知识,进行某具体软件应用系统设计。进行面向软件工程学的设计 1)对系统进行可行性分析2)需求分析3)概要设计4)设计测试方案5)详细设计6)程序设计提示7)软件测试等,完成相关的软件技术文档(选其一:需求规格设计说明书、软件设计开发手册、软件操作手册)。 火车订票系统需求规格设计说明书 (1)引言 A.系统参考文献 [1] 陆惠恩.实用软件工程(第三版)[M].北京:清华大学出版社,2014 [2] 钱雪忠、王燕玲、林挺.数据库原理及技术[M].北京:清华大学出版社,2010 [3]百度文库“火车票订票系统” B.整体描述 本火车站售票系统的根本目的在于通过计算机实现票务信息的统一管理,来提高工作效率, 使售票员售票和乘客购票更加方便。实现计算机管理的最佳技术就是数据库技术。我们可以利用数据库将整个火车站的票务情况存入计算机,再配置上功能丰富的用户接口,以满足用户需求。一个火车站售票信息管理系统应达到的目标是提供及时、准确的信息服务,加快信息检索的效率,实况灵活的查询,减轻管理人员制作报表和统计分析的负担,且系统规模不太大但又要保证支持日常工作的要求,以便系统应易于扩充,方便日后统一联网与管理,提高管理水平。 C.软件项目描述 火车票售票管理是一件比较复杂但又非常重要的事情,它是涉及国家铁路运输的正常工作、国民经济的发展和人民生活水平质量的大事情。火车站售票涉及到许多内容,有乘客购票、咨询、改签或退票、电话订票、售票信息管理等。因此,本系统设计就是专门解决这些问题的。但是,本系统仅仅就火车站售票系统部分常用功能以及部分维护功能进行实现。 火车站售票系统是一个融合火车票的销售、退票、列车管理、车票管理、售票员管理、列车信息及售票信息查询为一身的综合系统。 支出:系统开发人员,系统维护费用。 收益:系统完成后即可交付使用,主要是为了方便火车站售票人员使用,可收取知识产权费用与使用费用。 在计算机网络,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的火车票订票系统,实现火车运载公司的火车票销售的自动化的计算机系统,为企业的决策层提高准确、精细、迅速的火车票销售信息。具体功能为各个售票点把预定火车票的乘客信息(乘客名称、乘客身份证等)和订票信息(乘行时间、乘行始发地和目的地,车位要求等)输入到系统中,系统为乘客安排行程。在乘客支付购买车票所需的金额后,系统为乘客打印出正确的车票。 (2)信息描述 A.信息内容 ①静态数据 火车票:列车车号 列车始发时间 列车始发站 列车终点站 票务:列车车号 已售出车票票数 额定载量 售票员:用户名 密码 ②动态数据 输入数据:根据界面提示,键盘输入操作 查询方式:查询车次、查询始发站 旅客购买时的票务信息,售票员添加、购票、退票时的票务信息; 售票员备份数据恢复所需的数据备份文件 售票员操作需密码,旅客操作受限 输出信息:查询车次确定的数据库记录的子集 统计结果 车次信息录入、删除(成功或失败) 车次信息查询、购买的操作结果 数据备份输出的数据备份文件 内部数据:查询操作建立的索引