Requirements and Design Consistency: A Bi-directional Traceability and Natural Language Processing Assisted Approach
phase in the Software Development Life Cycle (SDLC). The design phase follows it. Traceability is one of the core concepts in software engineering; it is used to follow updates to make consistent items. This paper aimed to cover consistency through bi-directional traceability between requirements and design phase in a semi-automatic way. The Natural Language Processing (NLP) was used to analyze the requirements text and generate a class diagram; then, the generated items can be traced back to requirements. We developed a novel process to support consistency and bi-directional traceability. To ensure our proposed process's practical applicability, we implemented a tool named as Requirements and Design Bi-directional Traceability (RDBT). RDTB receives textual format requirements, performs NLP tasks (Tokenization, Part-of-Speech Tagging, etc.), generates UML class diagram, and finally performs traceability management to ensure consistency of requirements and UML class diagram. The work evaluation reveals good results, which indicates it can be used efficiently as a guide to generate the UML class diagram semi-automatically and manage traceability.
Satyarthi, Sandhya, and Dhirendra Pandey. "Framework for Requirement Management using Requirement Traceability", International Journal of Advanced Research in Computer Science 8.5 (2017).
Deeptimahanti, Deva Kumar, and Muhammad Ali Babar. "An automated tool for generating UML models from natural language requirements", 2009 IEEE/ACM International Conference on Automated Software Engineering. IEEE, 2009.
Systems and software engineering —Life cycle processes — Requirements engineering, INTERNATIONAL STANDARD ISO/IEC/ IEEE 29148, 2018.
“Traceability Analysis”. http://www.chambers.com.au/glossary/traceability_analysis.php, access date July 2018.
Copestake, A. (2004). Natural Language Processing Lecture Synopsis. Natural Language Processing, 39(1), 60–62. Retrieved from http://www.cl.cam.ac.uk/users/aac/.
DHURIA, Shabina. Natural language processing: An approach to parsing and semantic analysis. International Journal of New Innovations in Engineering and Technology, 2015.
ARELLANO, Andres; ZONTEK-CARNEY, Edward; AUSTIN, Mark A. Frameworks for natural language processing of textual requirements. International Journal On Advances in Systems and Measurements, 2015, 8: 230-240.
Amannejad, Yasaman, et al. "From requirements to software design: An automated solution for packaging software classes." Proceedings of the 2014 IEEE 15th International Conference on Information Reuse and Integration (IEEE IRI 2014). IEEE, 2014.
Gulia, Sarita, and Tanupriya Choudhury. "An efficient automated design to generate UML diagram from Natural Language Specifications." 2016 6th international conference-cloud system and big data engineering (Confluence). IEEE, 2016.
More, Priyanka, and Rashmi Phalnikar. "Generating UML diagrams from natural language specifications." International Journal of Applied Information Systems 1.8 (2012): 19-23.
Sharma, Richa, Sarita Gulia, and K. K. Biswas. "Automated generation of activity and sequence diagrams from natural language requirements." 2014 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE). IEEE, 2014.
Shinde, Subhash K., Varunakshi Bhojane, and Pranita Mahajan. "Nlp based object oriented analysis and design from requirement specification." International Journal of Computer Applications 47.21 (2012).
Narawita, Chamitha Ramal. "UML Generator-Use Case and Class Diagram Generation from Text Requirements." ICTer 10.1 (2017).
Liu, WenQian, Steve Easterbrook, and John Mylopoulos. "Rule-based detection of inconsistency in UML models." Workshop on Consistency Problems in UML-Based Software Development. Vol. 5. 2002.
Letsholo, Keletso J., Liping Zhao, and Erol-Valeriu Chioasca. "TRAM: A tool for transforming textual requirements into analysis models." 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 2013.
Essebaa, Imane, and Salima Chantit. "Tool Support to Automate Transformations from SBVR to UML Use Case Diagram." ENASE. 2018.
García, Héctor, Eugenio Santos, and Bruno Windels. "Traceability management architectures supporting total traceability in the context of software engineering." (2008).
SIMONSSON, MIKAEL. "Introducing a New Frameworkfor Modelling Requirements, Traceability, and Patterns in UML." (2013).
Chanda, Jayeeta, et al. "Traceability of requirements and consistency verification of UML use case, activity and Class diagram: A Formal approach." 2009 Proceeding of International Conference on Methods and Models in Computer Science (ICM2CS). IEEE, 2009.
Mader, Patrick, Orlena Gotel, and Ilka Philippow. "Getting back to basics: Promoting the use of a traceability information model in practice." 2009 ICSE Workshop on Traceability in Emerging Forms of Software Engineering. IEEE, 2009.
Min, Hyun-Seok. "Traceability guideline for software requirements and UML design." International Journal of Software Engineering and Knowledge Engineering 26.01 (2016): 87-113.
Noyer, Arne, et al. "Traceability and interfacing between requirements engineering and UML domains using the standardized ReqIF format." 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD). IEEE, 2015.
Kaufmann, Andreas, and Dirk Riehle. "Improving traceability of requirements through qualitative data analysis." Software-engineering and management 2015 (2015).
Plataniotis, Georgios, et al. "Traceability and modeling of requirements in enterprise architecture from a design rationale perspective." 2015 IEEE 9th International Conference on Research Challenges in Information Science (RCIS). IEEE, 2015.
NLP Guide: Identifying Part of Speech Tags using Conditional Random Fields, Retrieved from https://medium.com/analytics-vidhya/pos-tagging-using-conditional-random-fields-92077e5eaa31
Sharma, Richa, Pratyoush K. Srivastava, and Kanad K. Biswas. "From natural language requirements to UML class diagrams." 2015 IEEE Second International Workshop on Artificial Intelligence for Requirements Engineering (AIRE). IEEE, 2015.
Limón, Angelina Espinoza. An advanced traceability schema as a baseline to improve supporting lifecycle processes. Diss. Universidad Politécnica de Madrid, 2009.
Li, Xiaoshan, Zhiming Liu, and Jifeng He. "Consistency checking of UML requirements." 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05). IEEE, 2005.
Khan, Ali Hanzala, and Ivan Porres. "Consistency of UML class, object and statechart diagrams using ontology reasoners." Journal of Visual Languages & Computing 26 (2015): 42-65.
Yang, Yilong, et al. "Integrating UML with service refinement for requirements modeling and analysis." IEEE Access 7 (2019): 11599-11612.
“Analysis and designing of the automated mobile money transfer system”, chapter 5. Available: http://dl.lib.mrt.ac.lk/bitstream/handle/123/1785/Chapter05.pdf?sequence=5.
Harmain, Harmain Mohamed, and R. Gaizauskas. "CM-Builder: an automated NL-based CASE tool." Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering. IEEE, 2000.
Haouam, Mohamed Yassine, and Djamel Meslati. "Towards automated traceability maintenance in model driven engineering." IAENG International Journal of Computer Science 43.2 (2016): 147-155.
Dawood, Omer Salih. "Toward Requirements and Design Traceability Using Natural Language Processing." European Journal of Engineering Research and Science 3.7 (2018): 42-49.