基于Cloud Foundry和微服务架构的需求管理系统的设计与实现

 2022-10-10 07:10

论文总字数:29701字

摘 要

在软件开发过程中经常面临一些需求相关的问题,例如:如何在满足产品设计需求的情况下尽可能控制成本?发生需求变更时如何快速准确的定位变更的影响范围?基于这些问题,本项目提出了设计一款着力于实现需求的可追溯性,从而减少因为需求变更而带来的损失,确保项目按期完成的软件系统。

本系统采用Spring boot框架,使用Odata进行数据的传输,并采用了当下流行的微服务架构。因为这个产品最终会作为一个单独的服务被部署到SAP Cloud上,所以只需要把关注点放在相应功能模块的开发上。所以Odata模块的开发是本次项目的重点。系统的安全性则是另外一个需要着重考虑的方面。整体上讲本项目将会采用SAP Idp(Identity Provider)来进行用户的管理。细节上来说,这需要根据环境的不同而做出相应的调整和配置。作为一款云产品,保证服务与服务之间交互的安全性更是重中之重。

本项目目前已经完成了主要功能模块的开发和测试。功能上,用户可以通过申请HANA Cloud账号登录本系统,在系统中创建,更新,删除Requirement 、Document 、CollaborationRoom等一系列设计相关的元素,并使用EAD(Enterprise Architecture Designer)提供的设计模式进行设计。性能上,本系统的响应时间及用户最大并发访问量均符合设计文档中的标准。

关键词:系统工程,微服务,CloudFoundry,Odata,用户身份验证

Design and Implementation of Demand Management System Based on Cloud Foundry and Micro Service Architecture

71113234 Wang Ziyang

Advisor:Wan Bin

ABSTRACT

Software Engineering often face some demand-related issues in the software development process, such as: how to meet the needs of product design as much as possible to control costs? How do we quickly and accurately target the Influence range of change when demand changes? To solve these issues, This project has proposed a software system that focuses on the realization of traceability of requirements, thereby reducing the losses caused by changes in demand and ensuring that the project is completed on time.

The system uses Spring boot framework, and uses OData for data transmission, and uses the micro-service architecture. Because the product will eventually be deployed as a separate service on the SAP Cloud, developers only need to focus on the development of the corresponding functional modules. So, the development of OData module is the focus of this project. The security of the system is another aspect that needs to be considered. Overall, The system will use SAP Idp (Identity Provider) for user management. In detail, it is necessary to make the appropriate adjustments and configurations according to the different environment. As a cloud product, to ensure the interaction between service and service security is also very important.

This project has completed the development and testing of the main function modules. Users can apply for HANA Cloud account to log in to the system, create, update and delete a series of design-related elements such as Requirement, Document and Collaboration Room in the system and use the design modules which are provided by EAD (Enterprise Architecture Designer) to design. In performance, the response time of the system and the maximum concurrent access of the user conform to the standard in the design document.

KEY WORD: System Engineering, Micro Service, Cloud Foundry, OData, User Authentication and Authorization

目 录

摘要 I

ABSTRACT II

第一章 绪论1

1.1 项目背景1

1.1.1 问题定义1

1.1.2 可行方案1

1.1.3 方案实现1

1.2 项目概述2

1.1.1 项目简介2

1.1.2 项目价值2

1.3 文本工作结构2

第二章 基础知识3

2.1 微服务框架简介3

2.2 Cloud Foundry4

2.3 SCP/Classic4

2.4 SAML 2.0 IdP5

2.5 OData 协议5

2.6 UAA(User Accounts Authentication)5

2.7 本章小结6

第三章 需求分析7

3.1 功能需求分析7

3.1.1 网页交互需求7

3.1.2 安全功能需求8

3.2 性能需求分析8

3.2.1 最大用户并发访问量8

3.2.2 系统响应时间8

3.3 本章小结9

第四章 概要设计10

4.1 系统整体架构10

4.1.1 Cloud Foundry用户认证11

4.1.2 Cloud Foundry 应用交互12

4.1.3 Classic-Cloud Foundry跨平台交互13

4.2 业务逻辑流程14

4.2.1 数据模型(edms)的设计14

4.2.2 服务入口的设计14

4.2.3 具体服务的设计15

4.3 本章小结15

第五章 项目详细设计与模块实现16

5.1 项目开发环境及应用部署16

5.1.1 硬件环境16

5.1.2 软件环境16

5.1.3 项目部署及启动16

5.2 Security模块16

5.2.1 使用UAA进行用户身份验证17

5.2.2 多租户模式的实现21

5.2.3 后台服务与服务间的交互22

5.2.4 SCP/Classic 应用和SCP/CloudFoundry应用的交互24

5.3 OData模块28

5.3.1 文件结构29

5.3.2 主程序设计29

5.3.3 edms实现30

5.3.4 服务入口实现31

5.3.5 服务实现32

5.4 本章小结33

第六章 项目测试34

6.1 功能测试34

6.2 性能测试36

6.2.1 系统响应时间36

6.2.1 并发访问量37

6.3 本章小结37

第七章 总结与展望38

7.1 项目总结38

7.1 项目展望38

致谢39

引用文献(References)40

  1. 绪论

1.1项目背景

本论文依托SAP公司的Requirement Management项目,本文主要针对其中的Odata和Security相关的问题进行研究。本产品主要关注在商务软件领域,其中,Odata数据的设计以及Security模块,是本人主要参与的工作。

1.1.1 问题定义

在SAP PLM面向客户的实际开发过程中,由于客户的需求会越来越复杂,因此会有不同领域的工程师共同协同工作。其中,必然有人去考虑这个系统整体是如何工作的?它都有哪些功能?整体的结构是什么样子的?这个人就是本产品的目标用户系统工程师。

系统工程师的主要目标就是在规定时间内设计出满足客户需求的系统或者说是产品,而且是高质量的产品。由于客户对产品的要求会越来越高,因此产品也会越来越复杂。

由于需求是产品开发的起点,设计师在设计产品时应该了解需求的细节。 可接受的产品必须满足所有强制性要求。 但是要求也可以在开发过程中改变,团队成员需要知道他们是否改变,以及改变是什么。

工程师在产品开发过程中经常会面临这些问题:

1.如何既能在交付的产品中按规定的要求,又能很好的控制自身成本;

2.当发生需求变更时,设计师如何快速而准确的定位变更的影响范围;

3.没有一种简单,直观的方式提供整个需求开发过程关于需求与需求相关活动的量化数据,是可以通过度量分析为项目控制提供数据的。

1.1.2 可行方案

需求追溯,用来实现需求分层管理,建立需求实现过程之间的联系,从而确保用户需求到测试之间的一致性和完整性。

在整个开发过程中,所有的实现是从用户需求为基础,确保所有的输出与用户需求的符合性,即通过追溯证明产品已按照确定的需求范围实现了,满足了用户对所有功能的需求,并且通过追溯证明产品没有出现用户要求外的功能。

在迭代的,增量的,规模大的项目实现过程汇总,可以跟踪各模块的开发进度。

支持变更的影响分析,确认出受影响的需求,还可以通过数据的度量及分析,进行相关过程的改进。

1.1.3 方案实现

研发的这个需求追溯管理系统MRA(Manage Requirement Assignment)就是为了实现需求的可追溯性,从而减少因需求变更而带来的损失,确保项目按期完成:

(1)当增加,修改或者删除需求时,能够方便的进行影响分析;

(2)帮助设计师发现哪些需求未实现;

(2)发现产品中计划外的需求。

剩余内容已隐藏,请支付后下载全文,论文总字数:29701字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;