• No results found

System Architecture

The System Architecture section provides an overview of this web-based system’s dominant components and its architecture, as well as specifications on the interaction between the system and the user.

The suggested research-based solution is designed with the idea of being an independent component. As mentioned in chapter 2, most of the project management tools that use to write and maintain user stories are web-based systems. Therefore the design of this suggested system also considered on this aspect where such tools can be integrated with this.

The main components of the system were determined as Ontology component, NLP component, Reasoning component, user story portal and database management system. The intention is to focus on an application architecture rather than enterprise architecture since applications architecture defines the interaction between application packages, databases which specified on business and functional requirements while application architecture is one of several architecture domains that form the pillars of enterprise architecture. Considering the components identified for the proposed system, 3-tier architecture can be recognized as the suitable application architecture. In 3-tier architecture these tiers represent different aspects of presentation, business logic, and data access to the application. Above components can be categorized into those layers accordingly and the overall system architecture can be shown as in the Figure 4.2.

Chapter 4. System Design 65

Figure 4.2. System Architecture Diagram

Architecture diagram in Figure 4.2 describes how the components match with each other in order to complete their works. User story portal component in presentation layer has been used as the user interface to write user stories and it provides functionalities for view and update of user stories. Generation of test cases for each user story can also be performed by the user by this component. Once the test cases are generated from the system, the user can update or delete them accordingly and that functionality provided by the test suite portal in the presentation layer.

The Business layer consists of the business logic of the suggested solution. It contains the Ontology component, NLP component and Reasoning component and it can be considered as the core component in this architecture. The Ontology has been developed and implemented according to the methodology described in Chapter 3 which is based on the research described in Chapter 2. The concept of actor, action and an object in a user story sentence was based on the developed Ontology and corresponded entities in user stories are extracted through the NLP component. In the Reasoning component, reasoning techniques will be applied on the knowledge base presented in the Ontology according to the extracted inputs from user story and get the required result as test cases. These results are then passed

Chapter 4. System Design 66

to the test suite portal for the modifications that would need to be done. Test suite portal is in the presentation layer where user has the ability to do the necessary changes by adding or deleting relevant details in the derived test cases.

The Data Layer consists of the database and suitable logic. Data layer provides simplified access to data stored in persistent storage. In here a relational database management system has been proposed for providing efficient data access.

4.6 Summary

In this chapter it described the overall design of the proposed methodology discussed in the previous chapter. To achieve the design goal of generating functional positive test cases from user stories based on an Ontology module would be the target through several components. So the architecture for this designed system can be recognized as a 3-layer architecture that contains User story portal component and Test suite component in the presentation layer while NLP component, Ontology Component and Reasoning component in the Business layer and Database component in the Data layer. A user would be able to enter user stories into the system using user story portal component. Core components in the Business layer would derive test cases for that input user stories from the presentation layer.

NLP component will extract relevant entity triplet and passed it to the Ontology component and then the Reasoning component would derive necessary test cases and passed them to the Test suite component to be displayed to the user. The database component provides relevant logics with a persistent storage needed within the user story and test suite components. All these components are designed with the consideration of achieving Object Oriented Principles while applying design patterns as far as possible.

67

Chapter 5

Implementation

5.1 Introduction

This chapter describes implementation details of the suggested Ontology-based test case generation method, which realizes the system design explained in Chapter 4. It has captured the fundamental implementation details with technologies and tools used. Further it focuses on the Graphical User Interfaces used within the implementation of this proposed tool and its features. According to the system architecture described in Chapter 4, the implementation details of core components which are Ontology component, Triplet extraction with user story portal, Test case generation and workflow component are illustrated in this chapter.