Flexible Software Architecture for Validation of Change Requirements

International Journal of Computer Science and Engineering
© 2024 by SSRG - IJCSE Journal
Volume 11 Issue 2
Year of Publication : 2024
Authors : Abhijeet R. Thakare, Atul O. Thakare, Omprakash W. Tembhurne, Soora Narasimha Reddy, Parag S. Deshpande

pdf
How to Cite?

Abhijeet R. Thakare, Atul O. Thakare, Omprakash W. Tembhurne, Soora Narasimha Reddy, Parag S. Deshpande, "Flexible Software Architecture for Validation of Change Requirements," SSRG International Journal of Computer Science and Engineering , vol. 11,  no. 2, pp. 1-13, 2024. Crossref, https://doi.org/10.14445/23488387/IJCSE-V11I2P101

Abstract:

In a dynamic environment such as government organizations validation logic is changing because of the introduction of new laws or new procedures. Since government or public organizations may be legally scrutinized, such validations are important and have to be strictly enforced. In most organizations, this change is incorporated by changing software code or by changing the underlying structure of the database. Many times, this adds a lot of cost to the software, and sometimes, it may not be possible to modify the underlying structure due to the unavailability of domain experts and technical experts. The motivation behind the work is to be able to specify the domain requirements in the form of Entity and Attributes so that any user can specify the change in validation logic in a simple way. Suppose the validation logic is expressed in some programming language that operates on relational tables. In that case, the complexity of validation logic is quite large. Also, if validation logic changes, the developer must implement that logic by writing more lines of code in the corresponding programming language, which is very cumbersome and results in a waste of man-hours. A highly skilled developer will write 100 lines of code per day (Approximately 9 Hours). To avoid this, we have proposed expressing validation logic using high-level entity attributes, a natural data representation. We provided different operators in the language that are sufficient to express validation logic. The experimentation results prove that the proposed software system facilitates expressing the validation logic using high-level entity attributes and reduces the complexity and cost of the process of updating the validation logic.

Keywords:

Entity and attributes, Validation logic, Domain requirements, Dynamic software design, Change request.

References:

[1] Donald Firesmith, “Common Requirements Problems, Their Negative Consequences and the Industry Best Practices to Help Solve Them,” Journal of Object Technology, vol. 6, no. 1, pp. 17-33, 2007.
[Google Scholar] [Publisher Link]
[2] B.P. Lientz, E.B. Swanson, and G.E. Tompkins, “Characteristics of Application Software Maintenance,” Communications of the ACM, vol. 21, no. 6, pp. 466-471, 1978.
[CrossRef] [Google Scholar] [Publisher Link]
[3] Nazim H. Madhavji, Juan Fernandez-Ramil, and Dewayne Perry, Software Evolution and Feedback: Theory and Practice, John Wiley & Sons, 2006.
[Google Scholar] [Publisher Link]
[4] M.M. Lehman et al., “Metrics and Laws of Software Evolution- The Nineties View,” Proceedings Fourth International Software Metrics Symposium, Albuquerque, NM, USA, pp. 20-32, 1997.
[CrossRef] [Google Scholar] [Publisher Link]
[5] Selim Ciraci, and Pim van den Broek, “Evolvability as a Quality Attribute of Software Architectures,” EVOL, pp. 29-31, 2006.
[Google Scholar] [Publisher Link]
[6] Mirko Morandini et al., “Engineering Requirements for Adaptive Systems,” Requirements Engineering, vol. 22, no. 1, pp. 77-103, 2017.
[CrossRef] [Google Scholar] [Publisher Link]
[7] Aparna Kumari et al., “Verification and Validation Techniques for Streaming Big Data Analytics in Internet of Things Environment,” IET Networks, vol. 8, no. 3, pp. 155-163, 2018.
[CrossRef] [Google Scholar] [Publisher Link]
[8] Shalinka Jayatilleke, and Richard Lai, “A Systematic Review of Requirements Change Management,” Information and Software Technology, vol. 93, pp. 163-185, 2018.
[CrossRef] [Google Scholar] [Publisher Link]
[9] Daniel Aceituna, Hyunsook Do, and Seok-Won Lee, “Interactive Requirements Validation for Reactive Systems Through Virtual Requirements Prototype,” 2011 Model-Driven Requirements Engineering Workshop, Trento, Italy, pp. 1-10, 2011.
[CrossRef] [Google Scholar] [Publisher Link]
[10] Youn Kyu Lee, Hoh Peter In, and Rick Kazman, “Customer Requirements Validation Method Based on Mental Models,” 2014 21st Asia-Pacific Software Engineering Conference, pp. 199-206, 2014.
[CrossRef] [Google Scholar] [Publisher Link]
[11] Gabriele Taentzer, “AGG: A Graph Transformation Environment for Modeling and Validation of Software,” International Workshop on Applications of Graph Transformations with Industrial Relevance, pp. 446-453, 2003.
[CrossRef] [Google Scholar] [Publisher Link]
[12] Damian Dechev et al., “Programming and Validation Techniques for Reliable Goal-driven Autonomic Software,” Autonomic Communication, pp. 231-247, 2009.
[Google Scholar] [Publisher Link]
[13] Henrik Leopold, Jan Mendling, and Artem Polyvyanyy, “Supporting Process Model Validation Through Natural Language Generation,” IEEE Transactions on Software Engineering, vol. 40, no. 8, pp. 818-840, 2014.
[CrossRef] [Google Scholar] [Publisher Link]
[14] Adrian Fernandez, Silvia Abrahão, and Emilio Insfran, “Empirical Validation of a Usability Inspection Method for Model-Driven Web Development,” Journal of Systems and Software, vol. 86, no. 1, pp. 161-186, 2013.
[CrossRef] [Google Scholar] [Publisher Link]
[15] Jácome Cunha et al., “Embedding, Evolution, and Validation of Model-Driven Spreadsheets,” IEEE Transactions on Software Engineering, vol. 41, no. 3, pp. 241-263, 2014.
[CrossRef] [Google Scholar] [Publisher Link]
[16] C.V. Ramamoorthy et al., “Application of a Methodology for the Development and Validation of Reliable Process Control Software,” IEEE Transactions on Software Engineering, vol. SE-7, no. 6, pp. 537-555, 1981.
[CrossRef] [Google Scholar] [Publisher Link]
[17] Maayan Goldstein, and Itai Segall, “Automatic and Continuous Software Architecture Validation,” 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, vol. 2, pp. 59-68, 2015.
[CrossRef] [Google Scholar] [Publisher Link]
[18] Andrea Caracciolo, Mircea Filip Lungu, and Oscar Nierstrasz, “How Do Software Architects Specify and Validate Quality Requirements?,” European Conference on Software Architecture, vol. 8627, pp. 374-389, 2014.
[CrossRef] [Google Scholar] [Publisher Link]
[19] Georg Buchgeher, and Rainer Weinreich, “Integrated Software Architecture Management and Validation,” 2008 The Third International Conference on Software Engineering Advances, Sliema, Malta, pp. 427-436, 2008.
[CrossRef] [Google Scholar] [Publisher Link]
[20] Gabriel Ciobanu, and Călin Juravle, “Flexible Software Architecture and Language for Mobile Agents,” Concurrency and Computation: Practice and Experience, vol. 24, no. 6, pp. 559- 571, 2012.
[CrossRef] [Google Scholar] [Publisher Link]
[21] Alfeed Theorin et al., “An Event-Driven Manufacturing Information System Architecture for Industry 4.0,” International Journal of Production Research, vol. 55, no. 5, pp. 1297-1311, 2017.
[CrossRef] [Google Scholar] [Publisher Link]
[22] Sietse Overbeek, Marijn Janssen, and Patrick van Bommel, “Designing, Formalizing, and Evaluating a Flexible Architecture for Integrated Service Delivery: Combining Event-Driven and Service-Oriented Architectures,” Service Oriented Computing and Applications, vol. 6, no. 3, pp. 167-188, 2012.
[CrossRef] [Google Scholar] [Publisher Link]