第 2 章 系统分析和关键技术
在软件工程对于软件系统开发过程的定义中,就需要在实际的软件系统设计与开发工作之前,对软件系统的可行性以及软件系统的需求进行考虑与分析,这些工作的内容虽然与实际的软件开发工作没有直接关系,却在很大程度上决定了软件系统的质量和未来的前途,软件系统的可行性分析能够从软件系统功能之外的方面对系统的可行性进行分析,保证软件系统的业务满足市场的需要,而系统需求分析更是直接与客户交流,满足客户的需求以达到软件系统的功能目标和性能要求,有了市场软件系统才能持续发展和进步[11].由此可知,软件系统的分析工作是软件系统设计与开发工作之前的准备工作,是软件系统质量和性能的基础,做好软件系统的分析工作至关重要。
2.1 可行性分析
软件系统进行可行性分析工作能够保证软件系统在设计与开发的过程中避免一定的错误,同时降低相关风险的发生。对于可能出现的问题,制定解决方案,能够保证软件系统顺利正确的进行设计与开发工作[12].软件系统可行性分析工作需要全面进行,对软件系统实际的运行环境以及开发环境进行充分的调查,罗列出主要可能出现的问题,并提出相应的解决方案,最终需要形成文档形式的可行性分析内容,针对酒店信息管理系统的设计与开发工作的内容,主要通过系统的功能可行性,系统的技术可行性,系统的经济可行性以及系统的法律可行性这几个方面进行可行性分析工作[13].
酒店信息管理系统主要包括的功能是根据酒店实际的业务需求进行设计与开发的,功能能够满足酒店的管理需要,在对酒店业务进行详细的了解和学习后进行功能流程的设计与开发工作,因此功能操作流程与酒店实际的业务流程关系密切,用户通过简单的学习就可以完成主要业务的操作,满足用户的功能需要。同时软件系统的功能操作界面简洁,各个模块都具有使用说明和错误提示,根据用户的需求进行操作的优化以及界面的处理,达到用户的要求,因此软件系统在功能性方面是可行的[14].
酒店管理系统采用了 JSP 技术,利用现在的互联网开发技术手段,同时采用 MySql数据库管理系统,这些技术方法和方案都较为成熟,并且有相关的资料进行查询。技术方案掌握的较为熟练,开发环境也较为熟悉,因此,在系统的技术可行性方面是没有问题的。
根据技术可行性的介绍,本文所描述的酒店信息管理系统在软件系统开发技术方面使用的是成熟的技术框架,该技术方案在相关领域已经有了成功的软件系统开发案例,因此在技术成本方面是可以控制的[15].同时在软件系统部署在酒店后,酒店的主要业务通过软件系统进行管理,不仅能够节省大量的人力资源,也会节省管理成本,对于酒店的管理服务的提高也有很大的帮助,因此,软件系统在经济方面也是可行的。
根据调查和研究,本文所描述的酒店信息管理系统在技术方案以及开发过程采用的都是开放性技术和平台,开发环境采用正版操作系统及开发软件,在系统开发过程中也会规避违反法律法规的种种行为,因此在法律可行性方面也是没有问题的。
2.2 需求分析
软件系统进行需求分析的工作的过程中,需要与用户进行充分的交流和沟通,从用户的角度出发,根据自身对软件工程技术方面的了解,对需要进行设计与开发的软件功能进行评估。由于软件系统的需求分析工作是软件开发人员与用户之间的沟通基础,因此在需求分析的内容中需要标明系统的功能性需求以及性能方面的需求,并且在有分歧的地方标注清楚,尽量在软件系统进行实际的设计与开发工作之前达成一致,并对整个软件工程的设计与开发工作的工作内容和时间周期安排制定计划,并且总结以书面文档的形式留存[16].需求分析工作直接影响整个软件系统设计与开发工作的工作流程和进度安排,是软件工程中不可缺少的一个系统分析的环节,因此需要引起软件系统开发人员的重视,对需求的细节加以关注,保证在未来软件系统在功能设计与开发工作中以需求分析的结果为基础,达到用户以及市场的要求。
以下通过软件系统功能性需求以及软件系统性能方面需求这两个方面对本文所描述的酒店信息管理系统的需求分析的内容进行描述。
系统根据酒店业务的需要设计有前台预订功能,该功能针对顾客和系统管理员两个用户进行设计,主要的功能用例有房间的预订,服务的预订,预订的取消以及订单的查询。其中顾客可以针对服务和酒店进行预订,管理员根据订单的信息进行房间和服务的安排。前台预订功能的用例图如图 2.1 所示:
在顾客进行酒店的入住过程中,系统管理员需要对入住单进行信息的填写,同时管理员还可以根据用户的需要对入住单信息进行查询和修改,在入住过程中需要对房间的状态进行查询,对顾客需要的服务信息进行查看,顾客入住的功能用例如图 2.2 所示:客房信息管理功能包括了客房基本信息的添加、删除以及修改操作,同时也可以根据房间状态和可用房间等条件进行具体信息的查询,管理员同时可以对房间的具体负责人信息进行管理,客房管理功能的用例如图 2.3 所示:
酒店顾客的消费信息也需要系统功能进行统计和管理,其中针对顾客的客房消费,服务消费,商品消费的具体内容进行统计和查询,并且根据顾客的订单实现消费结果的统计,消费管理功能用例如图 2.4 所示:
系统针对酒店的会员实现管理功能,包括了酒店会员基本信息的操作,酒店优惠信息的发布,同时对酒店会员的状态进行查询,同时支持按条件进行酒店会员的查询,方便了酒店会员的管理,其中酒店的顾客也可以对自身的会员信息进行查询,会员管理功能用例如图 2.5 所示:
酒店管理系统在性能方面的需要主要在系统运行的工作效率以及工作质量两个方面,首先针对系统的工作效率,要求系统能够及时的提交用户的操作数据,并及时进行功能的操作和信息的处理,具有较快的运行速度。在工作质量方面需要保证功能的正确性和有效性,针对系统后台数据库保证系统数据信息存储的安全和稳定,并且保证数据信息的一致性,避免不合理操作的发生。同时,也需要系统提供一定的可扩展性和后期的维护需求,能够在使用过程中提供合理化建议和问题咨询的服务。
2.3 系统关键技术要点
2.3.1 JSP 介绍
JSP 是 Java Server Pages 的英文缩写,也就是我们所说的 java 服务器页面,JSP 技术是由 SUN 公司研发并推广的一项动态网页设计技术。同时,随着网页技术的发展,JSP 已经成为了一种动态网页的技术标准,JSP 技术在传统的 html 网页的基础上添加动态技术,而这些动态元素是通过 java 代码进行实现的,形成的网页也就是 jsp 文件,在有限的开发资源的情况下设计与开发出性能和效果优秀的网页[17].
JSP 技术的优势有很多,其中 JSP 技术将网页的逻辑设计与网页的前端设计进行分离,同时支持组件技术,将页面的不同元素以组件的形式开发,然后通过整个页面的需求进行填充。类似于软件工程中类的技术,这种支持复用的技术极大的提高了动态网页的开发效率和开发质量,使得基于网页技术的软件系统的设计与开发工作变得更加简洁[18].对于页面逻辑的设计也更加直接,对网页后台的数据库操作等也划分出合理的区域进行处理。
JSP 技术的基本要求就是 Java Serverlet,Java Serverlet 是通过 java 开发语言编写的网页服务器端的程序,通过Java Serverlet能够实现网页信息的动态管理和数据修改。JavaServerlet 更多的被用作一种广义的类接口进行使用,支持 java 语言开发的网页程序以及软件系统。基于 Java Serverlet 能够实现大型的 web 程序的编写与实现, 也能够完成基于互联网技术的软件工程的实施,Java Serverlet 集成了多种实用工具并且功能完善[19].
JSP 技术集成了 java 开发语言的优点,支持面向对象技术,并且完成能够实现代码的复用,而且 JSP 技术支持跨平台开发,具有优秀的可移植性和可扩展性,采用的技术标准和设计要求完全按照当今互联网发展的要求进行,是一项优秀的动态网页开发技术。JSP 技术现在在互联网中具有很多优秀的开源项目和代码支持,因此在系统成本控制和技术成熟度方面都具有很强的优势。
2.3.2 网页开发技术介绍
网页开发技术包括很多种,最为基本的就是 HTML 技术以及 CSS 技术。HTML 技术是 HyperText Markup Language 的英文缩写,也是就超文本标记语言,HTML 技术是一种网页规范也是一种网页标准,在这个标准下完成网页的各个部分的设计和开发工作[20].HTML 技术分为头部和主体两个部分,将文本文件中添加的字符来表示出浏览器显示内容的过程,浏览器在对网页进行访问的过程中,通过字符的解析按照顺序对网页中包含的文字内容,界面设计以及图片显示等等因素进行安排。但是HTML 技术仅仅能够对页面进行解释显示,对于出现的错误信息也只能显示并无法解释原因。HTML 技术简单易懂,规范清楚易于学习,并且具有很强的可扩展性,能够根据需求增加标识符,也能够提供更多的网页元素[21].同时 HTML 技术只针对浏览器,在不同的系统平台都可以使用,具有很好的移植性和通用性,成为现在网页开发技术的基础。
CSS 是 Cascading style Sheets 的英文缩写,就是层叠样式表,通过 CSS 技术能够将网页的表现与网页的内容进行设计,对网页中出现的内容和元素进行位置的安排。同时CSS 技术还能够对字体进行设置,实现网页最基本的交互设计。在 CSS 技术的使用过程中,需要考虑到网页的加载速度,对代码进行优化,同时对界面的布局进行合理设计最为关键。CSS 技术良好的浏览器兼容性使得它成为目前使用率最高的基于文本表示的设计语言,成为网页开发技术中的一项关键技术,针对不同的开发要求进行设计与开发工作。
2.3.3 MySql 数据库介绍
MySQL 数据库是一个关系型数据库管理系统,在关系型数据库中,不同的数据保存在不同的数据表中,数据表之间通过键进行连接,通过连接可以查看到各个数据表时间的关系[22].这样的设计不仅提高了数据库的设计准确性,也提高了数据库的运行速度,为数据库的设计与开发工作提供了更好的灵活性。
MySQL 数据库具有很多优点,首先 MySQL 数据库支持跨平台移植,为多种开发平台和开发语言提供编程的 API 接口,极大的提高了后台数据库的开发效率。同时MySQL 数据库支持多线程技术,能够充分利用服务器的处理器资源和内存资源,对数据库中数据信息管理系统管理工具,具有图形化的操作界面,便于数据信息的检查和优化操作[23].MySQL 数据库还是开源的数据库,不收取任何费用,对于软件系统的成本控制提供不少的帮助,同时在互联网的开发环境下,支持客户端服务器的网络环境,也能够作为后台数据库设置在服务器中。
MySQL 数据库支持 SQL 语言操作,SQL 语言即结构化查询语言,是一种在数据库开发过程中利用的数据库查询和程序设计语言,用户数据库中数据信息的添加、删除、插入、更新等管理操作,也能够对关系数据库中的关系进行管理。MySQL 数据库通过SQL 语言的操作完成相关功能的使用,对于不同平台的数据库的移植也是一种便利。
在软件系统开发的过程中,与 MySQL 数据库进行连接可以采用多种技术,主要包括了 JDBC 和 ODBC 技术,其中 JDBC 技术是 Java 数据库连接技术,通过执行 SQL 语句实现数据库的连接,也是一种 javaAPI 的服务类型。JDBC 提供了由 java 语言编写的方法类和接口服务,只需要使用这些方法就可以完成数据库的连接,无需再访问专门的数据库连接过程。JDBC 是专门针对于采用 java 开发语言的数据库连接服务,因此在采用 JSP 技术进行应用程序以及软件系统的开发中得到广泛的应用。
2.4 本章小结
本章主要介绍了酒店信息管理系统的系统分析的内容,包括了系统可行性分析以及需求分析的内容。同时也对系统开发所需的关键技术的内容进行介绍,主要包括 JSP 技术简洁、网页开发技术简介以及 MySQL 数据库内容简介。