1. Introduction
Requirement Engineering (RE) is the process of collecting, analyzing and modelling software requirements in a systematic manner [1, 2, 3]. Requirement modelling is the major challenge of automotive software development [4]. One of the main problems of RE is to describe the requirements in terms of concise and manageable formal models and to integrate models to form a consistent and complete understanding of the software to be developed. Requirements modelling and analysis are the most important and difficult activities in the software development. Software development is becoming more mature by advancing development processes, methods, and tools. The famous Christ Honour and Other Served (CHAOS) has reported the statistics published by Standish Group show that still only about one third of software projects can be called successful, i.e. they reach their goals within planned budget and time [5]. Research on post mortem projects’ analysis shows that the major problems comes when the requirements elicitation, analysis, specification, and management is not performed regularly. Deploying successful requirements process in a concrete organization is an important issue for software practitioners [6, 7]. While companies continue to use textbased documents as major means for specifying and analyzing requirements, the graphical requirements modelling are getting increasingly more attention in industry. This trend has increased after Object Management Group (OMG) standardized Unified Modelling Language (UML) [8]. As we know, that a picture is worth a thousand words. It is also applies in requirements analysis, where business people have to communicate with software developers, who do not know their domain and speak a different technical language. Additionally, UML tools support refining requirements models with design and implementation details for enabling traceability, validation, prototyping, code generation and other benefits. In large software development projects, these features are very important for evolving and managing requirement models. There are some practical problems with UML complexity and lack of unified method or framework for requirements engineering [9]. Practitioners and scientists propose different approaches for eliciting and analyzing software requirements. The most popular tools that are used in modern requirements analysis is use cases. It was adopted by numerous companies, and described in requirements engineering textbooks [10, 11]. UML provides Use Case diagram for visualizing use case analysis artifacts. However, requirements analysis is not limited to use cases. In fact, they capture only end user-level functional requirements. A lot of research is also made in specifying business goals and processes, performing domain analysis. Although it was shown that UML might be extended and used for business modelling, the business modellers’community was not satisfied by UML, and created a new Business Process Modelling Notation (BPMN), which has become OMG standard as well. In many cases, they also apply Integration Definition for Function Modeling (IDEF) notations [12, 13]. In domain analysis, analysts continue to apply old-style Entity Relationship (ER) notation, which was popular in database design since 70s [141]. A significant attention is paid to business goals, business rules, business object lifecycles, business roles and processes in organization, which also can be done using UML [15, 16]. Real-time and embedded system developers have also come up with a different flavour of UML – System Modelling Language (SysML). It defines requirements diagram and enables capturing various non-functional and detailed functional requirements [17]. Also, it establishes specific links between requirements and other elements. Most popular requirements text books introduce various diagrams based on both UML and other informal notations, e.g. system context diagram, and hand-drawn user interface prototypes [11, 18]. The mentioned requirements artefacts can be modelled using UML. Since UML is a general purpose modelling language with more than 100 modelling elements (UML meta classes) and without standardized method, practitioners apply it only fragmentally, and at the same time, they do not make use of its powerful capabilities to define consistent, integrated, and reusable requirements models. Various researches have already been performed to produce framework for creating UML models for MDD (Model-Driven Development) [12, 15]. This paper extends it with more focus on the details of a specific part of the framework by applying UML concepts for requirements modelling. Most requirement documents are written in natural languages and represented in less structured and imprecise formats. Including requirement phase, artifacts created in phases of software life cycle are required to be modelled and integrated, so the traceability, consistency, and completeness can be ensured [19, 20]. The Organisation of paper as follows. We propose an effective framework for requirement modelling using some demonstrated examples, which is discussed in detail with various phases in Section 2. Future scope of this research is discusses in section 3. Finally, Section 4 describes the concluding remarks.knowledge of the requirement is hard to understand [17, 18]. The lack of framework for guiding requirements models is one of the main issues. In academic community, researchers propose many detailed and focused requirements development methods [20, 21]. However, most of these methods resulting from academic research are too complex for practical application and solve just specific specialized issues. A simple and adaptable framework for requirements modelling with demonstrated examples are created using available tools on a realistic case study gives much more value for practitioners. We have proposed requirements modelling framework using UML concepts for model-driven software development, which is shown in Figure 1. This framework consists of five major phases, namely; feasibility study, requirement collection and specification, analysis of business requirements, system requirement modelling and system design. Further, analysis of business requirements includes business conception and association, business object life cycle and business tasks and methods and system requirement modelling incorporates actors, use cases and their scenario. The following subsections will discussed each phases of the proposed framework with the help of UML diagram and using examples.