Software Functional Complexity Using a New Set of Criteria
Keywords:Complexity index, Complexity multiplier, Entity relationship model, Object relationship model, Unified modeling language (UML)
With the rapid technology advances, there is an emerging consensus that the size and complexity of software designs are increasing so rapidly that they proportionally affect the magnitude of administrative and development efforts. An important consideration is how to estimate software complexity. This subject continues to be a research topic in the literature. The software design process researched here uses the Unified Modeling Language (UML) diagrams and the database design for extracting pertinent information. The Entity Relationship (ER) model of Peter Chen (of MIT) is a conceptual method of describing the data in a relational structure. An Entity Relationship Diagram (ERD) and an Entity Relationship Schema (ERS) represents the ER model, containing the entities, attributes, primary and foreign keys, and the relationships between the entities. Extending this ERS modeling construct, this paper uses an additional enhanced schema, called the Object Relationship Schema (ORS), which, together with the existing ERS, creates an enhanced view of the requirements and the design of the database. In addition, functional dependency, security, computational complexity, use cases, component structure and interpretations are considered for estimating functional complexity of modern software systems which is very valuable in higher education for new workforce development.
Ousterhout, J. A. Philosophy of Software Design. Yaknyam Press, Palo Alto, California, USA. 2018.
Sinha, B., Dey, P., Amin, M. and Romney, G. Database Modeling with Object Relationship Schema. 12th International Conference on Information Technology Based Higher Education and Training, Antalya, Turkey, IEEE Xplore 10.1109/ITHET.2013.6671029, October 2013.
Sinha, B., Dey, P., Amin, A., and Badkoobehi, H. Software Complexity Measurement Using Multiple Criteria. Journal of Computing Sciences in Colleges (JCSC), ISSN: 1973-4771 print, 1937-4763 digital, Vol. 28(4), Pages 155-162. April 2013.
Sinha, B., Romney, G., Dey, P., and Amin, M. Estimation of Database Complexity from Modeling Schemas. Journal of Computing Sciences in Colleges (JCSC), ISSN: 1973-4771 Vol. 30(2), Pages 95-104. http://dl.acm.org/citation.cfm?id=2667432&picked=prox&cfid=624613975&cftoken=60959621, December 2014.
Sinha, B., Romney, G., Bowen, D., Dey, P., and Amin, M. Augmenting Entity Relationship Schema for a Complete View of a Relational Database. Proceedings of the 4th International Joint Conference on Advances in Engineering and Technology (AET-2013) Track: Advances in Computer Science (AET-ACS 2013), @Elsevier 2013, Gurgaon, Delhi-NCR, India, December 13-14, 2013, Pages 462-469. http://aet.theides.org/201. December 2013.
Albrecht, A. Measuring Application Development Productivity, Proceedings of the Joint SHARE, GUIDE, and IBM Application Development Symposium, Monterey, California, October 14–17, IBM, pp. 83–92, 1979.
Fischman, L. Evolving Function Points, Crosstalk: The Journal of Defense Software Engineering. 2001. Volume 14, Issue 2. pp 24-27. Retrieved on July 2, 2018, from: http://static1.1.sqspcdn.com/static/f/702523/9452310/1289969383637/200102-Fischman.pdf?token=KtIfYtLECcKOXlTCGQyFmwpQJwE%3D
Sipser, M. Introduction to the Theory of Computation, 3rd edition, Cengage Learning, 2012.
Kozaczynski, W. (Voytek) and Ning, Jim Q. Component-Based Software Engineering (CBSE), Proceedings of the 4th International Conference on Software Reuse (ICSR '96), Retrieved on July 2, 2018, from: https://www.computer.org/csdl/proceedings/icsr/1996/7301/00/73010236.pdf
Pressman, R. and Maxim, B. Software Engineering: A practitioner’s Approach. (8th Edition), McGraw-Hill, 2015
Harrison, M., Ruzzo, W., and Ullman, J. Protection in Operating Systems, Communications of the ACM. 19 (8): 461–471, 1976.
Banker, R. D. Software Complexity and Maintenance Costs, Communications of the ACM, 1993.
Albrecht, A. and Gaffney, Jr., J. Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation, IEEE transactions on Software Engineering, Vol.9 Issue 6, Pages 639-648, 1983.
Chapin, N. A. Measure of Software Complexity, Proceedings of the 1979 National Computer Conference, New York, pages 995-1002, 1979.
Chidamber, S. R. and Kemerer, C. F. A Metrics Suite for Object Oriented Design, IEEE Transactions on Software Engineering, Vol. 20(6), 476-493, 1994.
Halstead, M. H. Elements of Software Science, Elsevier North-Holland, 1977.
Kearney, J. K., Sedlmeyer, R. L., Thompson, W. B., Gray, M. A., and Adler, M. A. Software Complexity Measurement, Communications of the ACM, Volume 29, Number 11, 1986.
Marco, L. Measuring Software Complexity, Enterprise Systems Journal, April 1997.
McCabe, T. J. Software Complexity, IEEE Transactions on Software Engineering. P.308-320, Issue 4, Volume SE-2, December 1976.
McClure, C. L. A Model for Program Complexity Analysis, Proceedings of the 3rd international conference on Software engineering, p.149-157, May 10-12, 1978, Atlanta, Georgia, United States, 1978.
Weyuker, E. J. Evaluating Software Complexity Measures, IEEE Transactions on Software Engineering, Vol. 14. No. 9, 1988.
Codd, E. F. A Relational Model of Data for Large Shared Data Banks. Communications of the ACM (CACM). Vol.13, Pages: 377-387, June 1970.
Codd, E. F. and Rustin, In R. (ed.): Relational Completeness of Data Base Sublanguages. 65-98, Prentice Hall and IBM Research Report RJ 987, San Jose, California March 1972.
Chen, P. The Entity Relationship Model - Towards a Unified View of Data. ACM TODS, Vol.1, No.1, 1976.
Booch, G. Unified Modeling Language User Guide, (2nd Edition). Addison-Wesley, 2017.
BLOB Binary Large Object, from http://docs.oracle.com/javadb/10.8.2.2/ref/rrefblob.html May 22, 2014.
Zuse, H. A. Framework of Software Measurement. Publisher: De Gruyter Incorporated, Walter XXIX, 755 pages. ISBN-10: 3110155877 ISBN-13: 9783110155877, 1998.
Briand, L. C., Morasca, S., and Basili, V. R. Property-based software engineering measurement, IEEE Transactions on Software Engineering, 22 (1), 68-86, 1996.
Piattini, M., Calero, C., and Genero, M. Table Oriented Metrics for Relational Databases. Software Quality Journal, 9(2), 79-97, 2001.
Pavlic, M., Kaluza, M., and Vrcek, N. Database Complexity Measuring Method. Central European Conference on Information and Intelligent Systems, CECIIS 2008.
Sinha, B., Romney, G., Bowen, D., Dey, P., and Amin, M. Relating Objects to Relational Database Design. ACEEE International Journal on Information Technology. Publisher: ACEEE, USA (a division of IDES). ISSN 2158-012X (print); ISSN 2158-0138 (online), Vol.5 Issue 1, Pages 1-8. http://journals.theaceee.org/, September 2015
Wikipedia. Use Case Points. Retrieved December 2020, https://ed.wikipedia.org/wiki/Use_case_points.
International Function Point Users Group. https://www.ifpug.org/
Jamil, B. and Batool. A. SMARtS: Software Metric Analyzer for Relational Database Systems. Information and Emerging Technologies (ICIET) 2010 International Conference, June 2010.
How to Cite
Copyright (c) 2021 Bhaskar Raj Sinha, Pradip Peter Dey, Mohammad Amin
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
- Papers must be submitted on the understanding that they have not been published elsewhere (except in the form of an abstract or as part of a published lecture, review, or thesis) and are not currently under consideration by another journal published by any other publisher.
- It is also the authors responsibility to ensure that the articles emanating from a particular source are submitted with the necessary approval.
- The authors warrant that the paper is original and that he/she is the author of the paper, except for material that is clearly identified as to its original source, with permission notices from the copyright owners where required.
- The authors ensure that all the references carefully and they are accurate in the text as well as in the list of references (and vice versa).
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Attribution-NonCommercial 4.0 International that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).
- The journal/publisher is not responsible for subsequent uses of the work. It is the author's responsibility to bring an infringement action if so desired by the author.