基于Web的三层学生信息系统(MyGJU)的软件工程外文翻译资料

 2022-08-26 16:14:36

The Software Engineering of a Three-Tier Web-Based Student Information System (MyGJU)

FERAS AL-HAWARI, ANOUD ALUFEISHAT, MAI ALSHAWABKEH, HALA BARHAM, MOHAMMAD HABAHBEH

Information Systems and Technology Center, German Jordanian University, Amman, Jordan

ABSTRACT: This paper discusses how the software development team at the German Jordanian University (GJU) adopted the project management and software development processes in the ISO/IEC 29110 series to implement a complex Student Information System (SIS). Specifically, it identifies the key points to be taken into consideration in the analysis, design, implementation, testing, and deployment phases during the iterative and incremental SIS development process. The SIS is a distributed three-tier web-based application that enables registrars to perform various tasks such as system setup, admission, registration, grades processing, graduation, and reporting. It was launched in the first 2015/2016 semester and enabled administration to maintain a comfortable learning environment, assess instructor performance, enhance teaching practices, and improve course content. The results of the system measurements and user survey assert that the SIS is feature rich, easy to use, fast, reliable, stable, highly available, and scalable.

Keywords: student information system; registration; web-based applications; software engineering; ISO/IEC 29110; iterative and incremental software process; waterfall process

INTRODUCTION

Recently, the GJU established a software development team to implement its custom SIS and Enterprise Resource Planning (ERP) applications in-house. The university took this step as its ERP software vendor was not able to deliver all the required applications albeit the deadline to complete the whole project was exceeded by several years. In addition, the delivered tools were still missing many basic features, cumbersome, and not integrated. Conversely, the in-house development efforts resulted in releasing several major applications like the SIS as well as the accounting and financial systems in a relatively short time (in about 2 years) while saving the university a lot of money. Furthermore, the new systems are feature-rich and customized to meet the universityrsquo;s academic policies and business processes.

Since the SIS is the most important application at any educational institution, it was one of the first systems to release and use at the GJU starting from the first 2015/2016 academic semester. The new SIS is a web-based application and it has three main views:student, staff, and administrator views. The student and staff views can be accessed via the Internet using the front-end of a web application that we refer to as MyGJU. Whereas the administrator view is named MyGJU Admin and is only accessible through the universityrsquo;s Intranet for security reasons. The focus of this paper is on the software engineering of the MyGJU Admin application. Noting that the Accounting Information System (AIS) and the Financial Information System (FIS) were released along with the SIS, nevertheless they are not discussed in detail in this paper.

The MyGJU Admin application is a sophisticated SIS that allows registrars at the GJU to manage student information. It consists of several basic functional modules to support features such as system setup (e.g., managing users, roles, countries, buildings, rooms, faculties, and departments), academic setup (e.g., managing courses, course sections, and study plans), admission, student records management (e.g., managing personal information, scholarships, schedules, grades, transcripts, major transfers, etc.), registration (i.e., adding and dropping courses), final exam scheduling, grades processing (i.e., entering grades, computing GPAs, and viewing transcripts), graduation, and reporting. It also addresses most of the issues that the previous SIS system could not adequately handle such as software ease of use, capability, efficiency, flexibility, reliability, and scalability. Furthermore, unlike the previous system, the MyGJU Admin is fully integrated with the rest of the university applications such as AIS, FIS, and Human Resources (still under development). Hence, guaranteeing the accuracy and consistency of the data being shared among them.

Software Development Process

The iterative and incremental software development process (methodology) shown in Figure 1 was used to implement the MyGJU Admin application. Accordingly, the application was developed through repeated waterfall cycles (iterations) for the software modules (increments) that were gradually addressed as time progressed. This process makes the development of a complex project much easier as it is accomplished in smaller and manageable increments. In addition, it allows specifying more requirements and leads to a more stable application between increments. Hence, it is suitable to build a large and complex application, like the MyGJU Admin, which is delivered in several phases and composed of several separate software modules such as buildings, rooms, courses, courses sections, study plans, grades, and reports.

The measures taken in each phase in the waterfall cycles (iterations) for some of the developed software modules will be discussed in the subsequent sections. It is worth mentioning that the development team held regular (on a weekly basis) meetings to review the documents or plans (e.g., functional specifications, design specifications, source code samples, algorithms, reusable modules, testing plans, and deployment plans) for each phase.

Figure 1 The iterative and incremental software development process.

ANALYSIS PHASE

The requirements analysis phase involves specifying the work-flows and features to be supported by the SIS and provid

剩余内容已隐藏,支付完成后下载完整资料


基于Web的三层学生信息系统(MyGJU)的软件工程

FERAS AL-HAWARI, ANOUD ALUFEISHAT, MAI ALSHAWABKEH, HALA BARHAM, MOHAMMAD HABAHBEH

德国约旦大学信息系统与技术中心

摘要:本文讨论了德国约旦大学(GJU)软件开发团队如何采用ISO/IEC 29110系列的项目管理和软件开发过程来实现一个复杂的学生信息系统(SIS)。具体来说,它确定了迭代和增量SIS开发过程中分析、设计、实施、测试和部署阶段要考虑的关键点。SIS是一个基于Web的分布式三层应用程序,它使注册人员能够执行各种任务,如系统设置、入学、注册、成绩处理、毕业和报告。该课程于2015/2016年第一学期启动,使管理部门能够保持舒适的学习环境,评估教师表现,加强教学实践,改进课程内容。系统测量和用户调查结果表明,SIS具有功能丰富、易于使用、快速、可靠、稳定、高可用性和可扩展性等特点。

关键词:学生信息系统;注册;基于Web的应用;软件工程;ISO/IEC 29110;迭代和增量软件过程;瀑布过程

介绍

最近,GJU成立了一个软件开发团队,在内部实现其定制的SIS和企业资源规划(ERP)应用程序。大学采取这一步骤是因为其ERP软件供应商无法交付所有所需的应用程序,尽管完成整个项目的最后期限已超过几年。此外,交付的工具仍然缺少许多基本功能,很麻烦,而且没有集成。相反,内部开发工作在相对较短的时间内(大约2年内)发布了几个主要应用程序,如SIS以及会计和财务系统,同时为大学节省了大量资金。此外,新系统功能丰富,可根据大学的学术政策和业务流程进行定制。

由于SIS是任何教育机构最重要的应用程序,因此从2015/2016学年开始,它是GJU首次发布和使用的系统之一。新的SIS是一个基于Web的应用程序,它有三个主要视图:学生视图、员工视图和管理员视图。学生和员工视图可以通过互联网使用我们称为MyGJU的Web应用程序的前端进行访问。而管理员视图名为MyGJU Admin,出于安全原因,只能通过大学的内部网访问。本文的重点是MyGJU Admin应用程序的软件工程。注意到会计信息系统(AIS)和财务信息系统(FIS)与SIS一起发布,但本文没有对其进行详细讨论。

MyGJU Admin应用程序是一个复杂的SIS,它允许GJU的注册人员管理学生信息。它由几个基本功能模块组成,以支持诸如系统设置(例如,管理用户、角色、国家、教学楼、教室、学院和部门),学术设置(例如,管理课程、课程部分和学习计划),入学、学生档案管理(例如,管理个人信息、奖学金、时间表、考试成绩、成绩单、专业转移等)、注册(即添加和删除课程)、期末考试安排、成绩处理(即录入成绩、计算GPA和查看成绩单)、毕业和报告。它还解决了以前的SIS系统不能充分处理的大多数问题,如软件易用性、能力、效率、灵活性、可靠性和可扩展性。此外,与以前的系统不同,MyGJU Admin与其他大学应用程序完全集成,如AIS,FIS和人力资源(仍处于开发阶段)。 因此,保证了它们之间共享数据的准确性和一致性。

软件开发过程

图1所示的迭代和增量软件开发过程(方法)用于实现MyGJU Admin应用程序。因此,应用程序是通过重复的瀑布式循环(迭代)为软件模块(增量)开发的,这些模块是随着时间的推移而逐渐处理的。这个过程使得复杂项目的开发变得更加容易,因为它是通过更小的、可管理的增量完成的。此外,它允许指定更多的需求,并在增量之间实现更稳定的应用程序。因此,它适合构建一个大型而复杂的应用程序,比如MyGJU Admin,它分几个阶段交付,由几个单独的软件模块组成,如建筑物、房间、课程、课程部分、学习计划、成绩和报告。

在一些开发的软件模块的瀑布周期(迭代)中的每个阶段采取的措施将在随后的章节中讨论。值得一提的是,开发团队定期(每周)召开会议,审核每个文档或计划(例如,功能规范,设计规范,源代码示例,算法,可重用模块,测试计划和部署计划)。

图 1 迭代和增量软件开发过程

分析阶段

需求分析阶段涉及指定SIS支持并提供给最终用户的工作流程和功能。 MyGJU应用程序的用户细分为两组:管理和学术。在每个组中,可以根据用户的需求和职责为用户分配不同的角色(参见表1)。管理小组包含管理员,登记人员和助理登记人员。学术小组包括学术人员(例如院长,教师和助教)以及学生。因此,MyGJU Admin工具的特性针对的是管理用户,而MyGJU系统则满足学术用户的需求。由于本文的重点是MyGJU Admin应用程序,我们接下来考虑其基本需求,为了完整起见,我们还简要讨论了MyGJU工具的一些特性。

表 1 学术组和管理用户组及其相应的用户角色

用户角色

用户组

管理员

管理组

登记员

管理组

助理登记员

管理组

校长

学术组

院长

学术组

讲师

学术组

教学助理

学术组

学生

学术组

MyJGU 管理员视图

此应用程序视图用于自动化和简化由GJU招生和登记部门的管理人员执行的日常任务(例如,设置、录取、课程安排、登记、成绩计算和查看以及毕业)。MyJGU管理员视图支持的活动汇总在图2所示的用例图中,可以分为以下六个组:系统设置、学术设置、学生事务、用户事务、财务事务和报告。

图 2 MyGJU管理员视图的用例图

MyJGU 学生视图

该视图针对主要最终用户(即学生),本文不考虑其详细信息。使用此应用程序视图,学生可以查看他或她的学术信息、学习计划、日程安排、成绩、成绩单、学费、财务报表,以及在给定学期中提供的所有课程部分。此外,学生可以在登记期间添加和删除课程,他们必须在每个学期结束时评估他们的教师。评估分数被大学管理部门视为可用于衡量教师表现和审查教育过程的重要因素之一。

MyJGU 教师视图

本文不讨论该视图的细节,但它基本上允许教师查看他/她的个人信息、日程安排和评估。此外,教师可以管理学生的成绩,并可以在一个学期内查看所有提供的课程部分。而被赋予额外学术角色(如顾问、主席或院长)的教师也可以查看其各自学生的信息(如学习计划、成绩单和财务报表),以监控他们的进展并为他们提供适当的学术指导。此外,院长或主席还可以执行额外的管理任务,例如提高课程单元的容量,批准或拒绝提交的成绩,将学生分配给顾问,以及制作各种学术报告。

设计阶段

设计企业应用程序是一项艰巨的任务,因为它需要指定许多UI屏幕和可用性流程,识别数百个模块并确定它们之间的关系,然后将所有内容连接在一起以实现所需的应用程序功能。因此,分而治之的设计策略非常适合这种情况。因此,设计问题被分成几个可管理的部分,独立地设计它们,并将部分设计合并为整个问题的解决方案。在本节的其余部分,我们首先介绍采用的三层应用程序体系结构,然后演示如何将分而治之策略应用于设计每一层。

三层Web应用程序架构

MyGJU Admin是使用Java EE API开发的企业Web应用程序。具体来说,它是一个基于三层体系结构的分布式客户端-服务器应用程序。因此,它的功能分为三个主要层:客户端,Web和数据(参见图3)。每个层都有自己的职责,并分布到计算机网络中的不同物理位置。接下来将讨论三个应用程序层。

客户端层.这是Web应用程序的前端(即图形用户界面)。具体地说,在这种情况下,用户通过与HTML页面(即屏幕)进行交互以便去登录并使用应用程序支持的功能。HTML页面显示在用户设备(如笔记本电脑、台式机或智能手机)上运行的Web浏览器中。Web浏览器使用HTTPS协议通过计算机网络与Web层安全地进行通信。

Web层.在这种情况下,它是部署在Java EE应用程序服务器上的MyGJU Admin应用程序,该应用程序服务器托管在数据中心的计算机上。该应用程序由JavaServer Faces(JSF)页面,托管bean和Java类组成。JSF页面包含JSF,HTML和PrimeFaces元素。每个JSF页面的状态都存储在其对应的托管bean中。JSF框架充当模型视图控制器(MVC)设计模式中的控制器,因此它将View(JSF页面)连接到Model(托管bean)。托管bean实现应用程序逻辑,并使用数据访问对象(DAO)来查询或更新数据层中的数据。DAO使用Java数据库连接(JDBC)API与数据库进行交互。Web服务器将每个JSF页面转换为HTML文档,并将其发送回浏览器以供显示。此外,JSF框架还支持其他服务,如数据转换,验证和错误处理,以及国际化(支持多种语言)和Ajax。

数据层.应用程序数据存储在数据库表中,并在数据层中进行管理。表由托管在数据库服务器上的数据库管理系统(DBMS)管理。web应用程序与DBMS交互来查询或更新数据。

开发阶段

在三层Web应用程序中实现与一个或多个屏幕关联的功能通常需要开发以下基本组件:

bull;JSF页面:JSF页面被视为Web层中的视图层。在我们的例子中,它可能包含HTML、JSF和PrimeFaces元素(标记)的组合,以表示系统中某个页面(屏幕)中的UI组件(例如表单、表格、日历、按钮、文本字段和复选框)。

bull;托管Bean:托管bean是由Web容器管理的特殊Java类。换句话说,Web容器实例化,销毁和操作托管bean对象。应用程序中的每个JSF页面通常与托管bean相关联,以存储其状态并处理其业务逻辑。因此,托管bean具有用于存储组成其相应JSF页面的UI组件的值的属性。此外,它还实现了几种支持以下功能的方法:获取和设置UI组件的值,验证UI组件的数据,以及处理UI组件触发的事件。基于此,托管bean表示Web层中的模型层,而Web容器被视为MVC设计模式中的控制器层。

bull;实体:每个数据库表的定义映射到相应的实体类,以便使Java程序能够访问表的数据。因此,某个实体类的实例将映射到其对应表中的一行,而该实例中的属性将映射到其行中的各个单元格。这个映射过程称为对象关系映射(ORM),它可以使用类似Hibernate的工具实现自动化。

bull;数据访问对象(DAO):DAO是一个Java对象或API,通常由托管bean(在Web层中)使用,以与数据层(即数据库)进行交互。例如,DAO将包含查询,添加,删除或更新数据库表中的行的方法。它使用JDBC API访问数据库,并将检索到的行数据作为实体对象返回给调用的托管bean进行处理。

测试阶段

通过在软件实现阶段期间和之后执行不同级别的测试,可以简化对这样一个复杂系统的测试。接下来我们将讨论软件测试所需要遵循的三个标准级别。

单元测试

在该测试级别上,每个软件组件(即单元)与其他组件在隔离的情况下进行测试,以确定每个单元是否按指定的方式运行。软件单元可以是类中的方法,整个类(例如,托管bean,实体或DAO),以及JSF页面(即屏幕)及其底层代码。所有组件都经过测试,以确定它们是否在所有场景(功能)中正常工作,在合理时间内完成(性能),优雅地处理无效输入(稳健性),以及支持英语和阿拉伯语(国际化)。然而,每个UI页面也进行了测试,以检查它是否易于使用(可用性)并且在所有浏览器中的表现相同(兼容性)。在实现相应组件的同时,由各个开发者执行单元测试。因此,他们允许在开发周期的早期阶段识别和修复软件缺陷,从而带来以下好处:加强软件基础,最大限度地缩短集成各个组件的时间,因为它们已经过测试并且在该阶段之前正常运行,并且降低了维护成本,因为在软件工程周期的最后阶段修复缺陷比在初始阶段修复缺陷更昂贵。

集成测试

在这种情况下,将集成的和相关的软件组件(例如,管理建筑物和房间快照、管理课程部分快照、登记快照等)作为一个组进行测试,以验证它们的功能是否正确,以及在相互交互时是否按预期执行。逐步地,将在特定工作流序列中使用的经过验证的模块组合起来并进行测试,以确定它们在更大的组中的行为。例如,工作流测试可以从在系统中添加一个新房间(在管理房间模块中)开始,然后为该房间分配一个课程部分(在管理课程部分模块中),最后将学生添加到该课程部分(在登记模块中)。这些测试最初由开发团队进行,后来由质量

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[441811],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。