Model-Driven Development and the Model-Driven Architecture paradigm have in the recent past been
emphasizing on the importance of good models. In the Object-Oriented paradigm one of the key artefacts
are the Statechart diagrams. Statechart diagrams have inherent complexity which keeps increasing every
time the diagrams are modified, and this complexity poses problems when it comes to comprehending the
diagrams. Statechart diagrams provide a foundation for analysing the dynamic behaviour of systems, and
therefore, their quality should be maintained. The aim of this study is to develop and validate metrics for
measuring the complexity of UML Statechart diagrams. This study used design science which involved the
definition of metrics, development of a metrics tool, and theoretical and empirical validation of the metrics.
For the measurement of the cognitive complexity of statechart diagrams, this study proposes three metrics.
The defined metrics were further used to calculate the complexity of two sample statechart diagrams and
found relevant. Also, theoretical validation of the defined metrics was done using the Weyuker’s nine
properties and revealed they are mathematically sound. Empirical validations were performed on the
metrics and results indicate that all the three metrics are good for the measurement of the cognitive
complexity of statecharts
A LITERATURE SURVEY OF COGNITIVE COMPLEXITY METRICS FOR STATECHART DIAGRAMSijseajournal
Statechart diagrams have inherent complexity which keeps increasing every time the diagrams are modified. This complexity poses problems in comprehending statechart diagrams. The study of cognitive complexity has over the years provided valuable information for the design of improved software systems. Researchers have proposed numerous metrics that have been used to measure and therefore control the complexity of software. However, there is inadequate literature related to cognitive complexity metrics that can apply to measure statechart diagrams. In this study, a literature survey of statechart diagrams is conducted to investigate if there are any gaps in the literature. Initially, a description of UML and statechart diagrams is presented, followed by the complexities associated with statechart diagrams and finally an analysis of existing cognitive complexity metrics and metrics related to statechart diagrams. Findings indicate that metrics that employ cognitive weights to measure statechart diagrams are lacking.
A Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectivessebastianku31
Submit your Research Articles!!
International Journal of Software Engineering & Applications(IJSEA)
ISSN:0975-3834 [Online]; 0975-4679 [Print]
ERA Indexed, H Index 31
Web Page URL : https://airccse.org/journal/ijsea/ijsea.html
Current Issue link: https://www.airccse.org/journal/ijsea/vol15.html
A Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectives
Ann Wambui King’ori, Geoffrey Muchiri Muketha and John Gichuki Ndia, Murang’a University of Technology, Kenya
Abstract URL :https://aircconline.com/abstract/ijsea/v15n2/15224ijsea01.html
Article URL :https://aircconline.com/ijsea/V15N2/15224ijsea01.pdf
#Softwarecomplexity #softwaremetrics #UMLbehavioraldiagrams #qualityanalysis, #theoreticalvalidations
Submission System: https://airccse.com/submissioncs/home.html
Contact Us : ijseajournal@airccse.org or ijsea@aircconline.com
A NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMSijseajournal
This document proposes new metrics for measuring the complexity of UML sequence diagrams. It begins with background on UML sequence diagrams and discusses existing complexity metrics for object-oriented designs that are not suitable for measuring sequence diagram complexity. It then identifies measurable attributes of sequence diagrams, including lifelines and messages. New base and derived metrics are defined that measure weighted numbers of messages into and out of lifelines, as well as a weighted number of lifelines. The metrics are applied to example sequence diagrams for a hotel order system and bank login system. Theoretical validation is provided by evaluating the metrics against Weyuker's nine properties of good complexity metrics. The metrics were found to satisfy the properties and provide a meaningful complexity measure for sequence
Minimal Testcase Generation for Object-Oriented Software with State Chartsijseajournal
Today statecharts are a de facto standard in industry for modeling system behavior. Test data generation is
one of the key issues in software testing. This paper proposes an reduction approach to test data generation
for the state-based software testing. In this paper, first state transition graph is derived from state chart
diagram. Then, all the required information are extracted from the state chart diagram. Then, test cases
are generated. Lastly, a set of test cases are minimized by calculating the node coverage for each test case.
It is also determined that which test cases are covered by other test cases. The advantage of our test
generation technique is that it optimizes test coverage by minimizing time and cost. The present test data
generation scheme generates test cases which satisfy transition path coverage criteria, path coverage
criteria and action coverage criteria. A case study on Railway Ticket Vending Machine (RTVM) has been
presented to illustrate our approach.
Generation and Optimization of Test cases for Object-Oriented Software Using ...cscpconf
This document proposes an optimization approach to automatically generate test cases for object-oriented software using state chart diagrams. It presents a methodology to:
1) Derive a state transition graph from a state chart diagram.
2) Extract information like states, transitions, and events from the state chart diagram.
3) Generate test cases that satisfy transition path coverage, path coverage, and action coverage criteria.
4) Minimize the set of test cases by calculating node coverage and removing redundant test cases.
The methodology is demonstrated through a case study on an Automatic Ticket Machine system.
Application Of UML In Real-Time Embedded Systemsijseajournal
The UML was designed as a graphical notation for use with object-oriented systems and applications.
Because of its popularity, now it is emerging in the field of embedded systems design as a modeling
language. The UML notation is useful in capturing the requirements, documenting the structure,
decomposing into objects and defining relationships between objects. It is a notational language that is
very useful in modelling the real-time embedded systems. This paper presents the requirements and
analysis modelling of a real-time embedded system related to a control system application for platform
stabilization using COMET method of design with UML notation. These applications involve designing of
electromechanical systems that are controlled by multi-processors.
A practical approach for model based slicingIOSR Journals
This document presents a methodology for model-based slicing of UML sequence diagrams to extract submodels. The methodology involves:
1. Generating a sequence diagram from requirements and converting it to XML.
2. Parsing the XML with a DOM parser to extract message information.
3. Slicing the message information based on a slicing criteria, such as a variable, to extract relevant messages.
4. Converting the sliced messages back into a simplified sequence diagram fragment focused on the slicing criteria.
The methodology aims to address the difficulty of visualizing and testing large, complex software models by extracting a relevant submodel based on a slicing criteria, making the model easier to understand and test.
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...ijseajournal
Early prediction of software quality is important for better software planning and controlling. In early
development phases, design complexity metrics are considered as useful indicators of software testing
effort and some quality attributes. Although many studies investigate the relationship between design
complexity and cost and quality, it is unclear what we have learned beyond the scope of individual studies.
This paper presented a systematic review on the influence of software complexity metrics on quality
attributes. We aggregated Spearman correlation coefficients from 59 different data sets from 57 primary
studies by a tailored meta-analysis approach. We found that fault proneness and maintainability are most
frequently investigated attributes. Chidamber & Kemerer metric suite is most frequently used but not all of
them are good quality attribute indicators. Moreover, the impact of these metrics is not different in
proprietary and open source projects. The result provides some implications for building quality model
across project type.
A LITERATURE SURVEY OF COGNITIVE COMPLEXITY METRICS FOR STATECHART DIAGRAMSijseajournal
Statechart diagrams have inherent complexity which keeps increasing every time the diagrams are modified. This complexity poses problems in comprehending statechart diagrams. The study of cognitive complexity has over the years provided valuable information for the design of improved software systems. Researchers have proposed numerous metrics that have been used to measure and therefore control the complexity of software. However, there is inadequate literature related to cognitive complexity metrics that can apply to measure statechart diagrams. In this study, a literature survey of statechart diagrams is conducted to investigate if there are any gaps in the literature. Initially, a description of UML and statechart diagrams is presented, followed by the complexities associated with statechart diagrams and finally an analysis of existing cognitive complexity metrics and metrics related to statechart diagrams. Findings indicate that metrics that employ cognitive weights to measure statechart diagrams are lacking.
A Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectivessebastianku31
Submit your Research Articles!!
International Journal of Software Engineering & Applications(IJSEA)
ISSN:0975-3834 [Online]; 0975-4679 [Print]
ERA Indexed, H Index 31
Web Page URL : https://airccse.org/journal/ijsea/ijsea.html
Current Issue link: https://www.airccse.org/journal/ijsea/vol15.html
A Suite of Metrics for UML Behavioral Diagrams based on Complexity Perspectives
Ann Wambui King’ori, Geoffrey Muchiri Muketha and John Gichuki Ndia, Murang’a University of Technology, Kenya
Abstract URL :https://aircconline.com/abstract/ijsea/v15n2/15224ijsea01.html
Article URL :https://aircconline.com/ijsea/V15N2/15224ijsea01.pdf
#Softwarecomplexity #softwaremetrics #UMLbehavioraldiagrams #qualityanalysis, #theoreticalvalidations
Submission System: https://airccse.com/submissioncs/home.html
Contact Us : ijseajournal@airccse.org or ijsea@aircconline.com
A NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMSijseajournal
This document proposes new metrics for measuring the complexity of UML sequence diagrams. It begins with background on UML sequence diagrams and discusses existing complexity metrics for object-oriented designs that are not suitable for measuring sequence diagram complexity. It then identifies measurable attributes of sequence diagrams, including lifelines and messages. New base and derived metrics are defined that measure weighted numbers of messages into and out of lifelines, as well as a weighted number of lifelines. The metrics are applied to example sequence diagrams for a hotel order system and bank login system. Theoretical validation is provided by evaluating the metrics against Weyuker's nine properties of good complexity metrics. The metrics were found to satisfy the properties and provide a meaningful complexity measure for sequence
Minimal Testcase Generation for Object-Oriented Software with State Chartsijseajournal
Today statecharts are a de facto standard in industry for modeling system behavior. Test data generation is
one of the key issues in software testing. This paper proposes an reduction approach to test data generation
for the state-based software testing. In this paper, first state transition graph is derived from state chart
diagram. Then, all the required information are extracted from the state chart diagram. Then, test cases
are generated. Lastly, a set of test cases are minimized by calculating the node coverage for each test case.
It is also determined that which test cases are covered by other test cases. The advantage of our test
generation technique is that it optimizes test coverage by minimizing time and cost. The present test data
generation scheme generates test cases which satisfy transition path coverage criteria, path coverage
criteria and action coverage criteria. A case study on Railway Ticket Vending Machine (RTVM) has been
presented to illustrate our approach.
Generation and Optimization of Test cases for Object-Oriented Software Using ...cscpconf
This document proposes an optimization approach to automatically generate test cases for object-oriented software using state chart diagrams. It presents a methodology to:
1) Derive a state transition graph from a state chart diagram.
2) Extract information like states, transitions, and events from the state chart diagram.
3) Generate test cases that satisfy transition path coverage, path coverage, and action coverage criteria.
4) Minimize the set of test cases by calculating node coverage and removing redundant test cases.
The methodology is demonstrated through a case study on an Automatic Ticket Machine system.
Application Of UML In Real-Time Embedded Systemsijseajournal
The UML was designed as a graphical notation for use with object-oriented systems and applications.
Because of its popularity, now it is emerging in the field of embedded systems design as a modeling
language. The UML notation is useful in capturing the requirements, documenting the structure,
decomposing into objects and defining relationships between objects. It is a notational language that is
very useful in modelling the real-time embedded systems. This paper presents the requirements and
analysis modelling of a real-time embedded system related to a control system application for platform
stabilization using COMET method of design with UML notation. These applications involve designing of
electromechanical systems that are controlled by multi-processors.
A practical approach for model based slicingIOSR Journals
This document presents a methodology for model-based slicing of UML sequence diagrams to extract submodels. The methodology involves:
1. Generating a sequence diagram from requirements and converting it to XML.
2. Parsing the XML with a DOM parser to extract message information.
3. Slicing the message information based on a slicing criteria, such as a variable, to extract relevant messages.
4. Converting the sliced messages back into a simplified sequence diagram fragment focused on the slicing criteria.
The methodology aims to address the difficulty of visualizing and testing large, complex software models by extracting a relevant submodel based on a slicing criteria, making the model easier to understand and test.
The Impact of Software Complexity on Cost and Quality - A Comparative Analysi...ijseajournal
Early prediction of software quality is important for better software planning and controlling. In early
development phases, design complexity metrics are considered as useful indicators of software testing
effort and some quality attributes. Although many studies investigate the relationship between design
complexity and cost and quality, it is unclear what we have learned beyond the scope of individual studies.
This paper presented a systematic review on the influence of software complexity metrics on quality
attributes. We aggregated Spearman correlation coefficients from 59 different data sets from 57 primary
studies by a tailored meta-analysis approach. We found that fault proneness and maintainability are most
frequently investigated attributes. Chidamber & Kemerer metric suite is most frequently used but not all of
them are good quality attribute indicators. Moreover, the impact of these metrics is not different in
proprietary and open source projects. The result provides some implications for building quality model
across project type.
Formation control of non-identical multi-agent systemsIJECEIAES
The problem considered in this work is formation control for non-identical linear multi-agent systems (MASs) under a time-varying communication network. The size of the formation is scalable via a scaling factor determined by a leader agent. Past works on scalable formation are limited to identical agents under a fixed communication network. In addition, the formation scaling variable is updated under a leader-follower network. Differently, this work considers a leaderless undirected network in addition to a leader-follower network to update the formation scaling variable. The control law to achieve scalable formation is based on the internal model principle and consensus algorithm. A biased reference output, updated in a distributed manner, is introduced such that each agent tracks a different reference output. Numerical examples show the effectiveness of the proposed method.
A Model of Local Area Network Based Application for Inter-office Communicationtheijes
This document presents a model for a local area network (LAN) based application for inter-office communication. The authors designed a messenger software to be installed on an organization's LAN to allow staff to communicate and share information efficiently. The software was developed using Java and analyzed using various UML diagrams. It uses a client-server model with the control part installed on the server and messenger part on clients. The software allows users to send short messages, memos, letters and access an electronic bulletin board. It was tested on a campus LAN network and achieved the objectives of enabling free communication between staff during office hours through a centralized and secure system.
Analysis and implementation of the impact of change: application to heterogen...IJECEIAES
This document summarizes an article that proposes models and measures to evaluate complexity in enterprise architecture, specifically heterogeneity of components and relationships. It presents three concepts to analyze heterogeneity: 1) single components, 2) relationships between two components, and 3) relationship paths between multiple components. Metrics are defined to measure heterogeneity for each concept. An algorithm hierarchy is implemented using the strategy design pattern to allow algorithms to evolve over time. The observer design pattern is used to automatically update metrics when the enterprise architecture model changes. This allows progressive monitoring of changes to the proposed evaluation system.
A VBA Based Computer Program for Nonlinear FEA of Large Displacement 2D Beam ...Sreekanth Sivaraman
This document describes a VBA-based computer program developed in Microsoft Excel for performing nonlinear finite element analysis of large displacement 2D beam structures. The program uses 2-node beam elements with 6 degrees of freedom per node and employs a combined corotational-total Lagrangian formulation. Polynomial operations are used to generate stiffness and force matrices, making the program adaptable to different element formulations. The program is equipped to handle large displacements, rotations, and strains. Its accuracy is demonstrated through benchmark tests from NAFEMS.
BIO-INSPIRED MODELLING OF SOFTWARE VERIFICATION BY MODIFIED MORAN PROCESSESIJCSEA Journal
A new approach for the control and prediction of verification activities for large safety-relevant software
systems will be presented in this paper. The model is applied on a macroscopic system level and based on
so-called Moran processes, which originate from mathematical biology and allow for the description
ofphenomena as, for instance, genetic drift. Beside the theoretical foundations of this novel approach, its
application on a real-world example from the medical engineering domain will be discussed.
BIO-INSPIRED MODELLING OF SOFTWARE VERIFICATION BY MODIFIED MORAN PROCESSESIJCSEA Journal
A new approach for the control and prediction of verification activities for large safety-relevant software
systems will be presented in this paper. The model is applied on a macroscopic system level and based on
so-called Moran processes, which originate from mathematical biology and allow for the description
ofphenomena as, for instance, genetic drift. Beside the theoretical foundations of this novel approach, its
application on a real-world example from the medical engineering domain will be discussed.
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...ijccmsjournal
Monte-Carlo simulation is widely used in distributed embedded system in our present era. In this
research work, we have put an emphasis on reliability assessment of any distributed embedded system
through Monte-Carlo simulation. We have done this assessment on random data which represents input
voltages ranging from 0 volt to 12 volt; several numbers of trials have been executed on those data to
check the average case behavior of a distributed real time embedded system. From the experimental result, a saturation point has been achieved against the time behavior which shows the average case behavior of the concerned distributed embedded system.
Bio-Inspired Modelling of Software Verification by Modified Moran ProcessesIJCSEA Journal
A new approach for the control and prediction of verification activities for large safety-relevant software systems will be presented in this paper. The model is applied on a macroscopic system level and based on so-called Moran processes, which originate from mathematical biology and allow for the description of phenomena as, for instance, genetic drift. Beside the theoretical foundations of this novel approach, its application on a real-world example from the medical engineering domain will be discussed.
This document discusses behavioral modeling in software engineering requirements. It describes creating behavioral models by identifying events from use cases and building state diagrams and sequence diagrams. State diagrams represent object states and transitions, while sequence diagrams show the flow of events between objects over time. The document provides examples of a state diagram for a control panel and a sequence diagram for a home security system to illustrate behavioral modeling concepts.
A novel methodology for test scenario generation based on control flow analys...eSAT Publishing House
This document presents a novel methodology for generating test scenarios from UML 2.x sequence diagrams. It proposes constructing an intermediate control flow graph called a Sequence Control Flow Graph (SCFG) by analyzing the control flow in UML sequence diagrams. It also proposes a test scenario generation algorithm called STSGA that systematically generates test scenarios from the SCFG to test software in the early design phase and help testers later in the development cycle. The approach aims to address the challenges of fragments like alt, loop, break, par, and opt in UML sequence diagrams.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
This document describes modeling and verifying a telecommunication application called Depannage using Live Sequence Charts (LSCs) and the Play-Engine tool. Depannage allows users to call for help from emergency services. The application is complex due to its distributed architecture, time constraints, and evolving components.
The authors specify Depannage using LSCs to describe component behaviors and interactions. Key components include Search, which locates emergency providers, and Users, which models user states. Universal LSCs define mandatory component behaviors, while existential LSCs define possible behaviors. The Play-Engine tool is used to simulate, animate, and formally verify the LSC specification.
The methodology captures requirements at a high level using
General Methodology for developing UML models from UIijwscjournal
In recent past every discipline and every industry have their own methods of developing products. It may
be software development, mechanics, construction, psychology and so on. These demarcations work fine
as long as the requirements are within one discipline. However, if the project extends over several
disciplines, interfaces have to be created and coordinated between the methods of these disciplines.
Performance is an important quality aspect of Web Services because of their distributed nature.
Predicting the performance of web services during early stages of software development is significant. In
Industry, Prototype of these applications is developed during analysis phase of Software Development Life
Cycle (SDLC). However, Performance models are generated from UML models. Methodologies for
predicting the performance from UML models is available. Hence, In this paper, a methodology for
developing Use Case model and Activity model from User Interface is presented. The methodology is
illustrated with a case study on Amazon.com
General Methodology for developing UML models from UIijwscjournal
In recent past every discipline and every industry have their own methods of developing products. It may
be software development, mechanics, construction, psychology and so on. These demarcations work fine
as long as the requirements are within one discipline. However, if the project extends over several
disciplines, interfaces have to be created and coordinated between the methods of these disciplines.
Performance is an important quality aspect of Web Services because of their distributed nature.
Predicting the performance of web services during early stages of software development is significant. In
Industry, Prototype of these applications is developed during analysis phase of Software Development Life
Cycle (SDLC). However, Performance models are generated from UML models. Methodologies for
predicting the performance from UML models is available. Hence, In this paper, a methodology for
developing Use Case model and Activity model from User Interface is presented. The methodology is
illustrated with a case study on Amazon.com.
General Methodology for developing UML models from UI ijwscjournal
In recent past every discipline and every industry have their own methods of developing products. It may be software development, mechanics, construction, psychology and so on. These demarcations work fine as long as the requirements are within one discipline. However, if the project extends over several disciplines, interfaces have to be created and coordinated between the methods of these disciplines.
Performance is an important quality aspect of Web Services because of their distributed nature. Predicting the performance of web services during early stages of software development is significant. In Industry, Prototype of these applications is developed during analysis phase of Software Development Life
Cycle (SDLC). However, Performance models are generated from UML models. Methodologies for predicting the performance from UML models is available. Hence, In this paper, a methodology for developing Use Case model and Activity model from User Interface is presented. The methodology is illustrated with a case study on Amazon.com.
General Methodology for developing UML models from UIijwscjournal
In recent past every discipline and every industry have their own methods of developing products. It may be software development, mechanics, construction, psychology and so on. These demarcations work fine as long as the requirements are within one discipline. However, if the project extends over several disciplines, interfaces have to be created and coordinated between the methods of these disciplines. Performance is an important quality aspect of Web Services because of their distributed nature. Predicting the performance of web services during early stages of software development is significant. In Industry, Prototype of these applications is developed during analysis phase of Software Development Life Cycle (SDLC). However, Performance models are generated from UML models. Methodologies for predicting the performance from UML models is available. Hence, In this paper, a methodology for developing Use Case model and Activity model from User Interface is presented. The methodology is illustrated with a case study on Amazon.com.
General Methodology for developing UML models from UIijwscjournal
The document presents a methodology for developing UML models from a user interface prototype. The methodology involves identifying user interface elements from the prototype, developing a flow diagram of the elements, creating an activity model, and developing a use case model. The methodology is demonstrated through a case study of developing UML models for the login page of the Amazon.com website. Key steps include identifying UI elements like workspaces and functions, creating a flow diagram to show the main and exception flows, developing an activity model of the login process, and specifying a use case for login and authentication.
A software system continues to grow in size and complexity, it becomes increasing difficult to
understand and manage. Software metrics are units of software measurement. As improvement in coding tools
allow software developer to produce larger amount of software to meet ever expanding requirements. A method
to measure software product, process and project must be used. In this article, we first introduce the software
metrics including the definition of metrics and the history of this field. We aim at a comprehensive survey of the
metrics available for measuring attributes related to software entities. Some classical metrics such as Lines of
codes LOC, Halstead complexity metric (HCM), Function Point analysis and others are discussed and
analyzed. Then we bring up the complexity metrics methods, such as McCabe complexity metrics and object
oriented metrics(C&K method), with real world examples. The comparison and relationship of these metrics are
also presented.
Availability Assessment of Software Systems Architecture Using Formal ModelsEditor IJCATR
There has been a significant effort to analyze, design and implement the information systems to process the information and data, and solve various problems. On the one hand, complexity of the contemporary systems, and eye-catching increase in the variety and volume of information has led to great number of the components and elements, and more complex structure and organization of the information systems. On the other hand, it is necessary to develop the systems which meet all of the stakeholders' functional and non-functional requirements. Considering the fact that evaluation and assessment of the aforementioned requirements - prior to the design and implementation phases - will consume less time and reduce costs, the best time to measure the evaluable behavior of the system is when its software architecture is provided. One of the ways to evaluate the architecture of software is creation of an executable model of architecture.
The present research used availability assessment and took repair, maintenance and accident time parameters into consideration. Failures of software and hardware components have been considered in the architecture of software systems. To describe the architecture easily, the authors used Unified Modeling Language (UML). However, due to the informality of UML, they utilized Colored Petri Nets (CPN) for assessment too. Eventually, the researchers evaluated a CPN-based executable model of architecture through CPN-Tools.
This document presents a framework to estimate power consumption in smartphones by mapping a functional modeling approach (hierarchical generic finite state machine or HGFSM) to an analytical modeling approach (hierarchical performance model or HPM). The HGFSM models the states a task may be in, such as initial, processing, and completed/failed. It is converted to a Markovian model and decomposed into sub-states if possible. HPM is then applied to each state to derive equations for average power consumption using measurements from lower levels. The framework was tested on a smartphone to estimate power and locate bottlenecks.
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
How to Setup Warehouse & Location in Odoo 17 InventoryCeline George
In this slide, we'll explore how to set up warehouses and locations in Odoo 17 Inventory. This will help us manage our stock effectively, track inventory levels, and streamline warehouse operations.
More Related Content
Similar to COMPLEXITY METRICS FOR STATECHART DIAGRAMS
Formation control of non-identical multi-agent systemsIJECEIAES
The problem considered in this work is formation control for non-identical linear multi-agent systems (MASs) under a time-varying communication network. The size of the formation is scalable via a scaling factor determined by a leader agent. Past works on scalable formation are limited to identical agents under a fixed communication network. In addition, the formation scaling variable is updated under a leader-follower network. Differently, this work considers a leaderless undirected network in addition to a leader-follower network to update the formation scaling variable. The control law to achieve scalable formation is based on the internal model principle and consensus algorithm. A biased reference output, updated in a distributed manner, is introduced such that each agent tracks a different reference output. Numerical examples show the effectiveness of the proposed method.
A Model of Local Area Network Based Application for Inter-office Communicationtheijes
This document presents a model for a local area network (LAN) based application for inter-office communication. The authors designed a messenger software to be installed on an organization's LAN to allow staff to communicate and share information efficiently. The software was developed using Java and analyzed using various UML diagrams. It uses a client-server model with the control part installed on the server and messenger part on clients. The software allows users to send short messages, memos, letters and access an electronic bulletin board. It was tested on a campus LAN network and achieved the objectives of enabling free communication between staff during office hours through a centralized and secure system.
Analysis and implementation of the impact of change: application to heterogen...IJECEIAES
This document summarizes an article that proposes models and measures to evaluate complexity in enterprise architecture, specifically heterogeneity of components and relationships. It presents three concepts to analyze heterogeneity: 1) single components, 2) relationships between two components, and 3) relationship paths between multiple components. Metrics are defined to measure heterogeneity for each concept. An algorithm hierarchy is implemented using the strategy design pattern to allow algorithms to evolve over time. The observer design pattern is used to automatically update metrics when the enterprise architecture model changes. This allows progressive monitoring of changes to the proposed evaluation system.
A VBA Based Computer Program for Nonlinear FEA of Large Displacement 2D Beam ...Sreekanth Sivaraman
This document describes a VBA-based computer program developed in Microsoft Excel for performing nonlinear finite element analysis of large displacement 2D beam structures. The program uses 2-node beam elements with 6 degrees of freedom per node and employs a combined corotational-total Lagrangian formulation. Polynomial operations are used to generate stiffness and force matrices, making the program adaptable to different element formulations. The program is equipped to handle large displacements, rotations, and strains. Its accuracy is demonstrated through benchmark tests from NAFEMS.
BIO-INSPIRED MODELLING OF SOFTWARE VERIFICATION BY MODIFIED MORAN PROCESSESIJCSEA Journal
A new approach for the control and prediction of verification activities for large safety-relevant software
systems will be presented in this paper. The model is applied on a macroscopic system level and based on
so-called Moran processes, which originate from mathematical biology and allow for the description
ofphenomena as, for instance, genetic drift. Beside the theoretical foundations of this novel approach, its
application on a real-world example from the medical engineering domain will be discussed.
BIO-INSPIRED MODELLING OF SOFTWARE VERIFICATION BY MODIFIED MORAN PROCESSESIJCSEA Journal
A new approach for the control and prediction of verification activities for large safety-relevant software
systems will be presented in this paper. The model is applied on a macroscopic system level and based on
so-called Moran processes, which originate from mathematical biology and allow for the description
ofphenomena as, for instance, genetic drift. Beside the theoretical foundations of this novel approach, its
application on a real-world example from the medical engineering domain will be discussed.
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...ijccmsjournal
Monte-Carlo simulation is widely used in distributed embedded system in our present era. In this
research work, we have put an emphasis on reliability assessment of any distributed embedded system
through Monte-Carlo simulation. We have done this assessment on random data which represents input
voltages ranging from 0 volt to 12 volt; several numbers of trials have been executed on those data to
check the average case behavior of a distributed real time embedded system. From the experimental result, a saturation point has been achieved against the time behavior which shows the average case behavior of the concerned distributed embedded system.
Bio-Inspired Modelling of Software Verification by Modified Moran ProcessesIJCSEA Journal
A new approach for the control and prediction of verification activities for large safety-relevant software systems will be presented in this paper. The model is applied on a macroscopic system level and based on so-called Moran processes, which originate from mathematical biology and allow for the description of phenomena as, for instance, genetic drift. Beside the theoretical foundations of this novel approach, its application on a real-world example from the medical engineering domain will be discussed.
This document discusses behavioral modeling in software engineering requirements. It describes creating behavioral models by identifying events from use cases and building state diagrams and sequence diagrams. State diagrams represent object states and transitions, while sequence diagrams show the flow of events between objects over time. The document provides examples of a state diagram for a control panel and a sequence diagram for a home security system to illustrate behavioral modeling concepts.
A novel methodology for test scenario generation based on control flow analys...eSAT Publishing House
This document presents a novel methodology for generating test scenarios from UML 2.x sequence diagrams. It proposes constructing an intermediate control flow graph called a Sequence Control Flow Graph (SCFG) by analyzing the control flow in UML sequence diagrams. It also proposes a test scenario generation algorithm called STSGA that systematically generates test scenarios from the SCFG to test software in the early design phase and help testers later in the development cycle. The approach aims to address the challenges of fragments like alt, loop, break, par, and opt in UML sequence diagrams.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
This document describes modeling and verifying a telecommunication application called Depannage using Live Sequence Charts (LSCs) and the Play-Engine tool. Depannage allows users to call for help from emergency services. The application is complex due to its distributed architecture, time constraints, and evolving components.
The authors specify Depannage using LSCs to describe component behaviors and interactions. Key components include Search, which locates emergency providers, and Users, which models user states. Universal LSCs define mandatory component behaviors, while existential LSCs define possible behaviors. The Play-Engine tool is used to simulate, animate, and formally verify the LSC specification.
The methodology captures requirements at a high level using
General Methodology for developing UML models from UIijwscjournal
In recent past every discipline and every industry have their own methods of developing products. It may
be software development, mechanics, construction, psychology and so on. These demarcations work fine
as long as the requirements are within one discipline. However, if the project extends over several
disciplines, interfaces have to be created and coordinated between the methods of these disciplines.
Performance is an important quality aspect of Web Services because of their distributed nature.
Predicting the performance of web services during early stages of software development is significant. In
Industry, Prototype of these applications is developed during analysis phase of Software Development Life
Cycle (SDLC). However, Performance models are generated from UML models. Methodologies for
predicting the performance from UML models is available. Hence, In this paper, a methodology for
developing Use Case model and Activity model from User Interface is presented. The methodology is
illustrated with a case study on Amazon.com
General Methodology for developing UML models from UIijwscjournal
In recent past every discipline and every industry have their own methods of developing products. It may
be software development, mechanics, construction, psychology and so on. These demarcations work fine
as long as the requirements are within one discipline. However, if the project extends over several
disciplines, interfaces have to be created and coordinated between the methods of these disciplines.
Performance is an important quality aspect of Web Services because of their distributed nature.
Predicting the performance of web services during early stages of software development is significant. In
Industry, Prototype of these applications is developed during analysis phase of Software Development Life
Cycle (SDLC). However, Performance models are generated from UML models. Methodologies for
predicting the performance from UML models is available. Hence, In this paper, a methodology for
developing Use Case model and Activity model from User Interface is presented. The methodology is
illustrated with a case study on Amazon.com.
General Methodology for developing UML models from UI ijwscjournal
In recent past every discipline and every industry have their own methods of developing products. It may be software development, mechanics, construction, psychology and so on. These demarcations work fine as long as the requirements are within one discipline. However, if the project extends over several disciplines, interfaces have to be created and coordinated between the methods of these disciplines.
Performance is an important quality aspect of Web Services because of their distributed nature. Predicting the performance of web services during early stages of software development is significant. In Industry, Prototype of these applications is developed during analysis phase of Software Development Life
Cycle (SDLC). However, Performance models are generated from UML models. Methodologies for predicting the performance from UML models is available. Hence, In this paper, a methodology for developing Use Case model and Activity model from User Interface is presented. The methodology is illustrated with a case study on Amazon.com.
General Methodology for developing UML models from UIijwscjournal
In recent past every discipline and every industry have their own methods of developing products. It may be software development, mechanics, construction, psychology and so on. These demarcations work fine as long as the requirements are within one discipline. However, if the project extends over several disciplines, interfaces have to be created and coordinated between the methods of these disciplines. Performance is an important quality aspect of Web Services because of their distributed nature. Predicting the performance of web services during early stages of software development is significant. In Industry, Prototype of these applications is developed during analysis phase of Software Development Life Cycle (SDLC). However, Performance models are generated from UML models. Methodologies for predicting the performance from UML models is available. Hence, In this paper, a methodology for developing Use Case model and Activity model from User Interface is presented. The methodology is illustrated with a case study on Amazon.com.
General Methodology for developing UML models from UIijwscjournal
The document presents a methodology for developing UML models from a user interface prototype. The methodology involves identifying user interface elements from the prototype, developing a flow diagram of the elements, creating an activity model, and developing a use case model. The methodology is demonstrated through a case study of developing UML models for the login page of the Amazon.com website. Key steps include identifying UI elements like workspaces and functions, creating a flow diagram to show the main and exception flows, developing an activity model of the login process, and specifying a use case for login and authentication.
A software system continues to grow in size and complexity, it becomes increasing difficult to
understand and manage. Software metrics are units of software measurement. As improvement in coding tools
allow software developer to produce larger amount of software to meet ever expanding requirements. A method
to measure software product, process and project must be used. In this article, we first introduce the software
metrics including the definition of metrics and the history of this field. We aim at a comprehensive survey of the
metrics available for measuring attributes related to software entities. Some classical metrics such as Lines of
codes LOC, Halstead complexity metric (HCM), Function Point analysis and others are discussed and
analyzed. Then we bring up the complexity metrics methods, such as McCabe complexity metrics and object
oriented metrics(C&K method), with real world examples. The comparison and relationship of these metrics are
also presented.
Availability Assessment of Software Systems Architecture Using Formal ModelsEditor IJCATR
There has been a significant effort to analyze, design and implement the information systems to process the information and data, and solve various problems. On the one hand, complexity of the contemporary systems, and eye-catching increase in the variety and volume of information has led to great number of the components and elements, and more complex structure and organization of the information systems. On the other hand, it is necessary to develop the systems which meet all of the stakeholders' functional and non-functional requirements. Considering the fact that evaluation and assessment of the aforementioned requirements - prior to the design and implementation phases - will consume less time and reduce costs, the best time to measure the evaluable behavior of the system is when its software architecture is provided. One of the ways to evaluate the architecture of software is creation of an executable model of architecture.
The present research used availability assessment and took repair, maintenance and accident time parameters into consideration. Failures of software and hardware components have been considered in the architecture of software systems. To describe the architecture easily, the authors used Unified Modeling Language (UML). However, due to the informality of UML, they utilized Colored Petri Nets (CPN) for assessment too. Eventually, the researchers evaluated a CPN-based executable model of architecture through CPN-Tools.
This document presents a framework to estimate power consumption in smartphones by mapping a functional modeling approach (hierarchical generic finite state machine or HGFSM) to an analytical modeling approach (hierarchical performance model or HPM). The HGFSM models the states a task may be in, such as initial, processing, and completed/failed. It is converted to a Markovian model and decomposed into sub-states if possible. HPM is then applied to each state to derive equations for average power consumption using measurements from lower levels. The framework was tested on a smartphone to estimate power and locate bottlenecks.
Similar to COMPLEXITY METRICS FOR STATECHART DIAGRAMS (20)
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
How to Setup Warehouse & Location in Odoo 17 InventoryCeline George
In this slide, we'll explore how to set up warehouses and locations in Odoo 17 Inventory. This will help us manage our stock effectively, track inventory levels, and streamline warehouse operations.
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPRAHUL
This Dissertation explores the particular circumstances of Mirzapur, a region located in the
core of India. Mirzapur, with its varied terrains and abundant biodiversity, offers an optimal
environment for investigating the changes in vegetation cover dynamics. Our study utilizes
advanced technologies such as GIS (Geographic Information Systems) and Remote sensing to
analyze the transformations that have taken place over the course of a decade.
The complex relationship between human activities and the environment has been the focus
of extensive research and worry. As the global community grapples with swift urbanization,
population expansion, and economic progress, the effects on natural ecosystems are becoming
more evident. A crucial element of this impact is the alteration of vegetation cover, which plays a
significant role in maintaining the ecological equilibrium of our planet.Land serves as the foundation for all human activities and provides the necessary materials for
these activities. As the most crucial natural resource, its utilization by humans results in different
'Land uses,' which are determined by both human activities and the physical characteristics of the
land.
The utilization of land is impacted by human needs and environmental factors. In countries
like India, rapid population growth and the emphasis on extensive resource exploitation can lead
to significant land degradation, adversely affecting the region's land cover.
Therefore, human intervention has significantly influenced land use patterns over many
centuries, evolving its structure over time and space. In the present era, these changes have
accelerated due to factors such as agriculture and urbanization. Information regarding land use and
cover is essential for various planning and management tasks related to the Earth's surface,
providing crucial environmental data for scientific, resource management, policy purposes, and
diverse human activities.
Accurate understanding of land use and cover is imperative for the development planning
of any area. Consequently, a wide range of professionals, including earth system scientists, land
and water managers, and urban planners, are interested in obtaining data on land use and cover
changes, conversion trends, and other related patterns. The spatial dimensions of land use and
cover support policymakers and scientists in making well-informed decisions, as alterations in
these patterns indicate shifts in economic and social conditions. Monitoring such changes with the
help of Advanced technologies like Remote Sensing and Geographic Information Systems is
crucial for coordinated efforts across different administrative levels. Advanced technologies like
Remote Sensing and Geographic Information Systems
9
Changes in vegetation cover refer to variations in the distribution, composition, and overall
structure of plant communities across different temporal and spatial scales. These changes can
occur natural.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
Communicating effectively and consistently with students can help them feel at ease during their learning experience and provide the instructor with a communication trail to track the course's progress. This workshop will take you through constructing an engaging course container to facilitate effective communication.
How to Make a Field Mandatory in Odoo 17Celine George
In Odoo, making a field required can be done through both Python code and XML views. When you set the required attribute to True in Python code, it makes the field required across all views where it's used. Conversely, when you set the required attribute in XML views, it makes the field required only in the context of that particular view.
Philippine Edukasyong Pantahanan at Pangkabuhayan (EPP) CurriculumMJDuyan
(𝐓𝐋𝐄 𝟏𝟎𝟎) (𝐋𝐞𝐬𝐬𝐨𝐧 𝟏)-𝐏𝐫𝐞𝐥𝐢𝐦𝐬
𝐃𝐢𝐬𝐜𝐮𝐬𝐬 𝐭𝐡𝐞 𝐄𝐏𝐏 𝐂𝐮𝐫𝐫𝐢𝐜𝐮𝐥𝐮𝐦 𝐢𝐧 𝐭𝐡𝐞 𝐏𝐡𝐢𝐥𝐢𝐩𝐩𝐢𝐧𝐞𝐬:
- Understand the goals and objectives of the Edukasyong Pantahanan at Pangkabuhayan (EPP) curriculum, recognizing its importance in fostering practical life skills and values among students. Students will also be able to identify the key components and subjects covered, such as agriculture, home economics, industrial arts, and information and communication technology.
𝐄𝐱𝐩𝐥𝐚𝐢𝐧 𝐭𝐡𝐞 𝐍𝐚𝐭𝐮𝐫𝐞 𝐚𝐧𝐝 𝐒𝐜𝐨𝐩𝐞 𝐨𝐟 𝐚𝐧 𝐄𝐧𝐭𝐫𝐞𝐩𝐫𝐞𝐧𝐞𝐮𝐫:
-Define entrepreneurship, distinguishing it from general business activities by emphasizing its focus on innovation, risk-taking, and value creation. Students will describe the characteristics and traits of successful entrepreneurs, including their roles and responsibilities, and discuss the broader economic and social impacts of entrepreneurial activities on both local and global scales.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
1. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
DOI: 10.5121/ijsea.2022.13305 55
COMPLEXITY METRICS FOR
STATECHART DIAGRAMS
Ann Wambui King’ori1, 2
, Geoffrey Muchiri Muketha3
and Elyjoy Muthoni Micheni4
1
Department of Information Technology, Murang’a University, Kenya
2
Department of Information Technology, Nkabune Technical Training Institute, Kenya
3
Department of Computer Science, Murang’a University, Kenya
4
Department of Management Sciences & Technology,
Technical University of Kenya
ABSTRACT
Model-Driven Development and the Model-Driven Architecture paradigm have in the recent past been
emphasizing on the importance of good models. In the Object-Oriented paradigm one of the key artefacts
are the Statechart diagrams. Statechart diagrams have inherent complexity which keeps increasing every
time the diagrams are modified, and this complexity poses problems when it comes to comprehending the
diagrams. Statechart diagrams provide a foundation for analysing the dynamic behaviour of systems, and
therefore, their quality should be maintained. The aim of this study is to develop and validate metrics for
measuring the complexity of UML Statechart diagrams. This study used design science which involved the
definition of metrics, development of a metrics tool, and theoretical and empirical validation of the metrics.
For the measurement of the cognitive complexity of statechart diagrams, this study proposes three metrics.
The defined metrics were further used to calculate the complexity of two sample statechart diagrams and
found relevant. Also, theoretical validation of the defined metrics was done using the Weyuker’s nine
properties and revealed they are mathematically sound. Empirical validations were performed on the
metrics and results indicate that all the three metrics are good for the measurement of the cognitive
complexity of statecharts.
KEYWORDS
UML Diagrams, Statechart diagrams, Software metrics, complexity measures, Theoretical validations,
Empirical validations.
1. INTRODUCTION
Software quality is defined as the magnitude to which a given software adheres to the required
specifications [5, 18]. Software quality evaluation should be carried out to reduce the effort, time,
and cost put in a software product [3, 2]. Software quality is controlled by use of metrics. These
metrics assess various aspects of software complexity and therefore help in improving software
quality. Additionally, software metrics provide a way of estimating efforts needed for testing.
The Unified Modeling Language (UML) is a software modelling language that is composed of
both text and graphical elements [24, 30]. The language is in a broad sense used for modelling of
systems using object-oriented technology [7]. UML diagrams have notations that give various
context of the system being analysed [26], and they also convey the dynamic and the static views
of a software structure [8, 14]. The Statechart diagram is one of the core diagrams of UML used
to model the dynamic aspects of a system. Statecharts define various states of an object during its
2. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
56
lifespan [8,14]. Formally, a Statechart diagram S may be described as a 3-tuple <S, T, E>. S
represents a state, T means a transition, and E is an event which triggers state changes.
The problem with Statechart diagrams is that they have inherent complexity that keeps growing
with age whenever the diagrams are enhanced. The size and complexity of UML diagrams affect
their cognition [6]. Some known causes of complexity include symbol redundancy, symbol
overload and lack of utilization of dual coding [1]. Researchers have showed that inadequacy of
UML diagrams, UML semantics that are not precisely defined and the large number of UML
constructs affect the cognitive effectiveness of UML diagrams [28].
High complexity is undesirable because it affects the overall quality of software. Researchers
have proposed metrics to ensure quality of statecharts. However, metrics that can assess the
cognitive complexity of UML Statechart diagrams are lacking. This paper presents three metrics
for measuring and controlling the cognitive complexity of statechart diagrams.
The rest of this paper is organised as follows; Section 2 presents related work; section 3 presents
the measurable attributes; section 4 presents the newly defined metrics; section 5 illustrates
computation of values from two real life scenarios. Section 6 explains the results and the paper
ends with some conclusions and future works.
2. RELATED WORKS
Several cognitive complexity metrics for Object Oriented design have been proposed [17,20, 21,
27]. However, these metrics are not suitable for the measurement of cognitive complexity of
statechart diagrams due to their limitations.
Shao & Wang [27] proposed Cognitive Functional Size (CFS). The measure was based on
internal architectural control-flows, output data and input data. The CFS has drawbacks. For
example, it does not consider essential factors such as inheritance and excludes the details found
in operators and operands thus cannot be used to measure the cognitive complexity of UML
behavioral diagrams [13, 16].
In [20] Misra & Akman proposed a type of metric using cognitive weights to determine the class
complexity in object-oriented system. The measure functions by associating a particular weight
with each method. After assigning weight it adds the weights of all methods. Thus, complexity of
a whole class is determined. The calculation of class complexity is very easy; however, it
excludes the internal structure of the Method [25].
Kushwaha & Misra, [17] proposed Cognitive Information Complexity Measure (CICM) to aid in
understanding the cognitive information complexity and the information coding efficiency of a
program. The CICM relies on the cognitive weight of internal BCSs, identifiers, operators and
lines of code (LOC) [17]. The measure has been criticized for being difficult to calculate if a
software contains many lines of code [16, 19].
Misra [21] proposed the modified cognitive complexity measure (MCCM) which was a
modification of cognitive functional size (CFS). The measure was based on the cognitive weights
caused by the basic control structures, number of operators and operands. The measure is
practicable as stated by the cognitive informatics works. However, the measure gives high
complexity values [13,19].
3. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
57
3. IDENTIFICATION OF MEASUREMENT ATTRIBUTES
Statechart diagram complexity is caused by its building components such as states, transitions,
events. Therefore, different metrics are required to assess each of its component [9]. Based on
this argument, three base metrics will be defined for these identified attributes states, transitions
and events.
3.1. States
A state models the circumstance when the object’s behaviour will be stable. The object remains
in a state until it is provoked to change by an event. A state is the environment during which an
object fulfils some condition [26]. Also, a state model dynamic circumstances such as the process
of executing some activity
3.2. Events
An event is a trigger that cause change of state. Events represents demands from the objects. An
event can be defined as the conditions of noteworthy occurrence that has time and space [14, 26].
Events activate transitions in state machines.
3.3. Transitions
Transition is a directed connection joining a source state vertex and a target state vertex. It may
take the state machine from one state to another, representing the complete reaction of the state
machine to a particular Stimuli [14, 26]. A transition is composed of a trigger, a guard and
actions to be executed upon entry into a state [14, 26]
4. METRICS DEFINITION
4.1. Base Metrics
The base metrics for UML statechart diagrams include: Number of States (NS) which is a count
of the total number of states in a statechart diagram taking into considerations the simple states,
composite state, orthogonal state, submachine state, initial state and final state. Number of Entry
Actions (NEA) which is a count of the total number of entry actions performed upon entry to the
state (entry actions are tasks that occur when an object is in a particular state), Number of
Activities (NA) which is a count of the total number of do activities that is performed while the
element is in this state (activities are behaviours performed while the element is in that state) and
Number of Transitions (NT) a size attribute that counts the total number of transitions in the
statechart diagram. In addition, Number of Guard (NG) which is the count of the total number of
guard conditions in the statechart diagram (a guard is a Boolean condition that must be true for a
transition to occur) and Number of Events (NE) which is the count of the total number of events
in the statechart diagram. An event is a noteworthy occurrence that cause the transition from one
state to another.
4.2. Derived Metrics
4.2.1. Weighted Number of States (WNS)
Weighted Number of States (WNS) is a function of a type of state and the weight assigned to the
state as shown in Table 1. To calculate WNS, a weighted sum is obtained from the product of
4. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
58
each type of state by its corresponding weight. Therefore, Weighted Number of State (WNS) is
calculated as follows:
Where X represents number of types of states, and i means the start of the first x value.
W is the weighted assigned to a state and n is the number of states in the statechart diagram.
∑ is the summation of the products of states and their corresponding weight.
Table 1. Weights to categories of states
Category Weight (Wi)
Simple state 1.5
Composite state 2.5
Orthogonal state 3
Initial state 1
Final state 1
Submachine state 2.5
History 2
The initial and final state are assigned a weight of 1 because they have no objects. A simple state
is assigned a weight of 1.5 because it has no substructure. A composite and orthogonal states are
assigned a weight of 2.5 because they are semantically equivalent. A weight of 2 is assigned to a
history state and an orthogonal state is assigned a weight of 3 because it has more than one
region.
4.2.2. Weighted Number of Transitions (WNT)
Weighted Number of Transitions (WNT) metric is a statechart adaptation of the Cognitive
Functional Size (CFS) measure [31]. WNT is the function of types of transitions in the statechart
diagram and the cognitive weights (Wj) shown in Table 2. To calculate WNT, a weighted sum is
obtained from the product of each type of transition by its corresponding weight. Therefore,
Weighted Number of Transitions (WNT) is calculated as follows:
Where T represents number of types of transitions, and j means the start of the first T value.
W is the weighted assigned to a transition and n is the number of transitions in the statechart
diagram.
∑ is the summation of the product of transitions and their corresponding weight.
5. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
59
Table 2. Weights to categories of events
Category Activity Wj
Sequence Sequence 1
Branch If, Pick 2
Loop While, for each, report until 3
A transition following one path in a statechart diagram is represented by a sequence with a
weight of 1 while a choice in a statechart diagram is represented by a branch with a weight of 2.
Transitions that link one state to another and back to the prior state is represented by a loop with a
weight of 3.
4.2.3. Weighted Number of Events (WNE)
Weighted Number of Events (WNE) is a function types of events in the statechart diagram and
the weight assigned to the type of event (We). An active event (AE) that triggers any transition in
the current state is given a weight of 2. A deferred event (DE) that does not trigger any transition
in the current state is given a weight of 1. To calculate WNE, a weighted sum is obtained from
the product of each type of event by its corresponding weight. Therefore, Weighted Number of
Event (WNE) is calculated as follows:
Where E represents number of types of events, and k means the start of the first E value.
W is the weighted assigned to an event and n is the number of events in the statechart diagram.
∑ is the summation of the products of transitions and their corresponding weight.
5. REAL LIFE SCENARIOS
5.1. Scenario I: Statechart Diagram for Interrupt Handling
This state diagram in Figure 1 shows the process of resuming to an activity that was suspended
due to an occurrence of an interrupt. The composite state is made up of substates and a history
state that will lead to resume of the activity. The computed values for WNS, WNT and WNE are
shown in Table 3, 4 and 5 respectively.
6. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
60
Figure 1. Interrupt handling Statechart diagram
Table 3. WNS Values
Category Weight (Wi) Xi Wi Xi
Simple state 1.5 4 6
Composite state 2.5 1 2.5
Orthogonal state 3 0 0
Initial state 1 1 1
Final state 1 1 1
Submachine state 2.5 1 2.5
History State 2 1 2
WNS=6+2.5+0+1+1+2.5+2=15
The state diagram has 4 simple states which is multiplied by its corresponding weight of 1.5, the
initial state is one is multiplied by 1, the final state is 1 is multiplied by its corresponding weight
of 1, the history state is 1 is multiplied by 2 and the submachine state is 1 which is multiplied by
2.5. The summation of the product is 15.
Table 4. WNT Values
WNT=9+2+12=23
Category Activity Wj Tj Wj Tj
Sequence Sequence 1 9 9
Branch If, Pick 2 1 2
Loop While, for each, report until 3 4 12
7. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
61
The state diagram has 9 sequences (one path transition) which is multiplied by its corresponding
weight of 1, 1 branch multiplied by its corresponding weight of 2 and 4 loop which is multiplied
by its corresponding weight 3. The summation of the product is 23.
Table 5. WNE Values
WNE=18+0=18
The toaster has 9 active triggers which is multiplied by its corresponding weight of 2 and 0
deferrable triggers. The summation of the product is 18.
5.2. Scenario II: Toaster Statechart Diagram
This state diagram shows the process of heating a sliced bread in a toaster. The simple state
“power on” has two deferrable triggers i.e “upTemp” and “lwrTemp”. At any given time, the
toaster is either power on or power off. The computed values for WNS, WNT and WNE are
shown in Table 6, 7 and 8 respectively.
Figure 2. Toaster statechart diagram
Table 6. WNS Values
Category Weight (Wi) Xi Wi Xi
Simple state 1.5 4 6
Composite state 2.5 0 0
Orthogonal state 3 0 0
Initial state 1 1 1
Final state 1 1 1
Submachine state 2.5 0 0
History State 2 0 0
Event type Wk Ek Wk Ek
AE 2 9 18
DE 1 0 0
8. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
62
WNS=6+1+1=8
The toaster has 4 simple states which is multiplied by its corresponding weight of 1.5, the initial
state is one is multiplied by 1 and the final state is one is multiplied by its corresponding weight
of 1. The summation of the product is obtained which is 8.
Table 7. WNT Values
WNT=6+0+3=9
The toaster has 6 sequences (one path transition) which is multiplied by its corresponding weight
of 1and 1 loop which is multiplied by its corresponding weight 3. The summation of the product
is obtained which is 9.
Table 8. WNE Values
WNE=12+2=14
The toaster has 6 active triggers which is multiplied by its corresponding weight of 2 and 2
deferrable triggers which is multiplied by its corresponding weight 1. The summation of the
product is obtained which is 14.
6. RESULTS
6.1. Theoretical Validations using Weyukers’ Properties
Weyuker [33] proposed nine properties for validating complexity metrics. Weyuker’s second and
eighth property are applicable to all object-oriented metrics. The seventh property is not required
for object -oriented programming. Weyuker did not address non- complexity metrics such as size
or lengthy metrics. However, Weyuker’s properties are one of the most widely referred
frameworks for theoretical validations of object-oriented metrics. Weyuker’s properties can be
useful for statechart diagrams metrics validations because they are complexity metrics. Table 9
shows a summary of Weyuker’s properties of measures.
Property 1: This property states that a measure should not rank all statechart diagrams as equally
complex if they are non-identical.
All the proposed metrics return a different complexity value for any two non-identical statechart
diagrams. For example, all the three metrics return different complexity values for Scenario I and
II since the diagrams are non-identical. Therefore, the metrics WNE, WNS and WNT satisfy this
property.
Category Activity Wj Tj Wj Tj
Sequence Sequence 1 6 6
Branch If, Pick 2 0 0
Loop While, for each, report until 3 1 3
Event type Wk Ek Wk Ek
AE 2 6 12
DE 1 2 2
9. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
63
Property 2: Let c be a non-negative number. Then there are only finite number of diagrams of
complexity c. This property asserts that a changing diagram must also cause a change to its
complexity.
The metrics WNS, WNE and WNT can detect changes in complexity when the number of types
of states, events and transition is changed. Therefore, all these metrics satisfy property 2.
Property 3: There are distinct statechart diagrams P and Q for which |P| = |Q|. This property
asserts that there exist two different statechart diagrams whose effect is identical i.e. two different
statechart diagrams with identical values. The metrics WNS, WNE and WNT can detect changes
in complexity when the number of types of states, events and transitions is changed. Therefore,
WNS, WNE and WNT satisfy this property.
Property 4: (∃P) (∃Q) (P ≡ Q & |P| ≠ |Q|). There exist statechart diagrams P and Q such that the
external effect of P and Q are identical, but |P| is not equal to |Q|. This property asserts that two
statechart diagrams P and Q could look identical in terms of the fact that they contain the same
number of states, events and transitions, but could have different complexities if the types of
these states, events and transitions are different.
The metrics WNS, WNE and WNT can detect changes in complexity when the types of states,
events and transitions is changed. Therefore, all the proposed metrics satisfy this property.
Property 5: For all statechart diagrams P and Q, considering also the diagram P; Q obtained by
combining P and Q, |P| + Q| is less than or equal to |P; Q|. Monotonicity asserts that if a
compound statechart diagram is developed by merging two simple statechart diagrams, the
complexity of the compound statechart diagram is greater than the complexities of the two-initial
simple statechart diagrams calculated separately. The metrics WNE, WNS and WNT satisfy
property 5 since they all return numeric results.
Property 6: There exist statechart diagrams P, Q and R such that |P| is equal to |Q| but |P; R| is
not equal to |Q; R|. Nonequivalence of interaction asserts that if two equivalent statechart
diagrams are combined with a separate but statechart diagram, then their new complexities will
differ from the original complexities. This shows that there is some complexity that arises as a
result of interaction which is distinct from the interacting diagrams.
The WNS, WNT and WNE allocated constant weights to each of their types thus concatenation
of two statechart diagrams does not result to arise of external complexity. The WNS, WNT and
WNE metrics do not satisfy Weyuker’s property 6.
Property 7: The permutation property asserts that the order of elements within a statechart
diagram can affect its complexity. The metrics WNS, WNT and WNE allocated constant weights
to each of their types thus permutation does not cause change of their complexity values.
Therefore, the metrics do not satisfy property 7.
Property 8: If two statechart diagrams P and Q differ only in the choice of names for different
states, events and transitions, then |P| is equal to |Q|. This property asserts that two diagrams are
equal if their only difference is the choice of names.
All proposed metrics return numeric values. This means that renaming a diagram cannot affect its
cognitive complexities. Therefore, all proposed metrics satisfied this property.
10. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
64
Property 9: There exist statechart diagrams P and Q for which |P|+|Q| is less than |P; Q): This
property implies that adding two statechart diagrams results in extra complexity. Since growth in
diagram complexity occurs when new states, events and transitions are added, which have non
negative values, then the complexity of the new diagram is always equal to or greater than the
sum of the original diagrams. Consequently, WNS, WNT and WNE metrics satisfied property 9.
A summary of these results is shown in Table 9.
Table 9. Theoretical validation results
Property 1 2 3 4 5 6 7 8 9
WNS YES YES YES YES YES No No YES YES
WNT YES YES YES YES YES No No YES YES
WNE YES YES YES YES YES No No YES YES
Key: Yes, satisfies property; No, does not satisfy property.
6.2. Experiment Validations
Experimentation is usually used due to its formal qualities [22, 23, 32]. Theoretical validation is
not sufficient to reveal the soundness of a metric [4, 10, 11, 15, 29], because by means of
experimental validation reveal evidence on the usefulness of proposed metrics is confirmed.
In this section, empirical results are presented as evidence that UML statechart diagram
complexity metrics are related to cognition of UML statechart diagram, and cognition time of
Statechart diagram. The variables in the experiment were statechart metrics as the independent
variable while subjects’ rating of cognition of statechart diagram and cognition time of statechart
diagram are the dependent variables. A static analyser tool was developed by the researcher to
automatically compute metrics from statechart diagrams. A within-subject design was used for
the experiment where each subject analysed 34 statechart diagrams independently.
The hypotheses under investigation in the empirical studies were for the purpose of establishing
if there exist a relationship between statechart metrics and the subjects rating of cognition of
statechart diagram, and subjects’ cognition time of a statechart diagram. This hypothesis
includes:
i. Null Hypothesis (H0-c): There exists no significant correlation between the
statechart metrics and subjects rating of cognition of a statechart diagram.
ii. Alternative Hypothesis (H1-c): There exists significant correlation between the
statechart metrics and subjects rating of cognition of statechart diagram.
iii. Null Hypothesis (H0-ct): There exists no significant correlation between the
statechart metrics and cognition time of a statechart diagram.
iv. Alternative Hypothesis (H1-ct): There exists significant correlation between the
statechart metric and cognition time of a statechart diagram.
The complexity metrics of each diagram computed by the static analyzer tool are shown in Table
10. The metrics were applied to 34 different statechart diagrams. Table 11 shows subjects’ rating
of statechart diagrams while Table 12 shows cognition time of statechart diagrams.
13. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
67
Table 12. Subjects cognition time
STATECHART
DIAGRAM NO
SUBJECTS’
COGNITION TIME
(SECS)
1 197.91
2 168.31
3 96.11
4 197.05
5 90.54
6 28.67
7 79.09
8 108.84
9 80.2
10 172.08
11 178.65
12 96
13 133.74
14 62.12
15 105.07
16 109.98
17 89.04
18 147.10
19 59.59
20 119.59
21 84.84
22 143.24
23 82.06
24 108.49
25 102.37
26 80.32
27 76.65
28 151.25
29 122.44
30 149.16
31 168.45
32 72.95
33 135.73
34 57.02
Spearman’s correlation coefficient was used to correlate each of the defined metrics with
subject’s rating of cognition and cognition time of UML statechart diagrams. The correlation
coefficients are shown in Table 13 and 14.
Table 13. Correlation for metrics and cognition of statechart diagram
Statechart Metrics Correlation
Coefficients
p-value (2-tailed)
WNS 0.771** 0.000
WNT 0.791** 0.000
WNE 0.825** 0.000
**=99% confidence
14. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
68
The correlation coefficients in Table 13 show that there exists a high positive correlation between
statechart metrics and subjects’ rating of cognition of UML statechart diagram. This is due to the
fact that all the coefficient values are greater than 0.7.
From the results, the null hypothesis that there exists no significant correlation between the
metrics and subjects’ cognition of a statechart diagram is rejected and the alternative hypothesis
accepted. These results indicate that the proposed metrics are indicators of the ease with which
the subject comprehends a UML statechart diagram.
Table 14. Correlation for metrics and cognition time
Statechart Metrics Correlation
Coefficients
p-value (2-
tailed)
WNS 0.463** 0.006
WNT 0.750** 0.000
WNE 0.617** 0.000
**=99% confidence
Analysis of the spearman’s correlation in Table 14, leads to conclusion that there exists a positive
correlation between the statechart metrics and cognition time of statechart diagram. This leads to
the rejection of the null Hypothesis there exists no significant correlation between the statechart
metrics and cognition time of a statechart diagram and the alternative Hypothesis there exists
significant correlation between the statechart metric and cognition time of a statechart diagram is
accepted.
Regression model strengthens the correlation results. Regression helps to understand the
relationship between the dependent variable and independent variable. Table 15 shows the p-
values of the regression model based on metric values and cognition while Table 16 displays the
p-values based on metric values and cognition time.
Table 15. Regression model based on metric values and cognition
Metric R-square P-Value
WNS 0.432 0.000
WNT 0.445 0.000
WNE 0.480 0.000
*P< 0.05
From the regression model, the p-values are less than 0.05 indicating that the linear regression
model can be used to predict the subjects’ cognition of statechart diagram.
15. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
69
Table 16. Regression model based on metric values and cognition time
Metric R-square P-value
WNS 0.151 0.023
WNT 0.413 0.000
WNE 0.350 0.000
*P< 0.05
The p-values of the regression model based on metric values and cognition time are less than
0.05. This indicates that the proposed metrics can be used to predict the cognition time of a
statechart diagram.
7. CONCLUSIONS AND FUTURE WORKS
In this paper, three metrics namely, WNS, WNT and WNE were proposed in a methodological
way. The metrics assess the cognitive complexity of UML statechart diagram. The theoretical
validity of the defined metrics which indicate that the proposed metrics measure the characteristic
they intend to measure was demonstrated through the validation through the Weyuker’s
properties. With the objective of confirming that there exists a great correlation between the
metric values and the subject’s cognition and cognition time of a statechart diagram, a controlled
experiment was carried out. Spearman’s correlation results led to the conclusion that the
statechart metrics were directly related with cognition and cognition time of Statechart diagrams.
In addition, the linear regression models imply that the proposed metrics can be used to predict
the cognition of a statechart diagram and cognition time of a statechart diagram.
The literature conducted during the period of this study reveal that metrics for the measurement
of statechart diagrams are scarce. Thus, one future work is to further investigate all factors that
could possibly affect the structural complexity of UML dynamic models and then come up with
new ways of measuring them. Another future work would be to validate the metrics using the
DISTANCE framework as proposed by Poels and Dedene and conduct replica experiments with
industry experts for further validation of the presented metrics.
REFERENCES
[1] Anwer, S., & El-Attar, M. (2014). An evaluation of the statechart diagrams visual syntax. In
Information Science and Applications (ICISA), 2014 International Conference on (pp. 1-4). IEEE.
[2] Al Obisat, F. M., Alhalhouli, Z. T., Alrawashdeh, T. I., & Alshabatat, T. E. (2018). Review of
Literature on Software Quality. World Comput. Sci. Inf. Technol. J, 8(5), 32-42.
[3] Azar, D., Harmanani, H., & Korkmaz, R. (2009). A hybrid heuristic approach to optimize rule-based
software quality estimation models. Information and Software Technology, 51(9), 1365-1376.
[4] Basili V., Shull F. and Lanubille F. (1999). Building Knowledge through families of
experiments. IEEE Transactions on Software Engineering, 25(4), 456-473
[5] Chandrasekar, A., Rajesh, S., & Rajesh, P. (2014). A research study on software quality
attributes. International Journal of Scientific and Research Publications, 4(1), 14-19.
[6] Dori, D., Wengrowicz, N., & Dori, Y. J. (2014). A comparative study of languages for model-based
systems-of-systems engineering (MBSSE). In 2014 World Automation Congress (WAC) (pp. 790-
796). IEEE.
[7] Fahad A. (2012). State Based Static and Dynamic Formal Analysis of UML State Diagrams. Journal
of Software Engineering and Applications, 5, 483-491.
[8] Fitsilis, P., Gerogiannis, V. C., & Anthopoulos, L. (2013). Role of Unified Modelling Language in
Software Development in Greece-results from an exploratory study. IET software, 8(4), pp. 143-153.
16. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
70
[9] Fenton, N. (1994). Software measurement: a necessary scientific basis. IEEE Transactions on
Software Engineering, 199-206.
[10] Fenton N. and Pfleeger S. (1997). Software Metrics: A Rigorous Approach. 2nd.
edition. London, Chapman & Hall.
[11] Genero, M., Miranda, D., & Piattini, M. (2002). Defining and validating metrics for UML statechart
diagrams. Proceedings of QAOOSE, 2002.
[12] Jain, L., & Singh, S. (2019). Designing the Code Snippets for Experiments on Code Comprehension
of Different Software Constructs. and outputs. International Journal of Computer Sciences and
Engineering, Vol.7, Issue.3, pp.310-318. https://doi.org/10.26438/ijcse/v7i3.310318
[13] Jakhar, A.K & Rajnish, K. (2014). A New Cognitive Approach to Measure the Complexity of
Software's. International Journal of Software Engineering & its Applications, vol. 8, no. 7, pp. 185-
198.
[14] Jama, O.M., (2009). A Case Study on Evaluating UML Modelling in Software Testing (Master’s
thesis, University of OSLO).
[15] Kitchenham B., Pflegger S. and Fenton N. (1995). Towards a Framework for Software Measurement
Validation. IEEE Transactions of Software Engineering, 21(12), 929-
943.
[16] King’ori, A. W., Muketha, G. M., & Micheni, E. M. (2019). A literature survey of cognitive
complexity metrics for statechart diagrams. International Journal of Software Engineering &
Applications (IJSEA), 10(4).
[17] Kushwaha, D. S., & Misra, A. K. (2006). Cognitive complexity metrics and its impact on software
reliability based on cognitive software development model. ACM SIGSOFT Software Engineering
Notes, 31(2), 1-6.
[18] Maurya L.S et al. (2010). Comparison of Software Architecture Evaluation Methods for Software
Quality Attributes, Journal of Global Research in Computer Science, 1 (4).
[19] Misra, S., Adewumi, A., Fernandez-Sanz, L., & Damasevicius, R. (2018). A Suite of Object Oriented
Cognitive Complexity Metrics. IEEE Access, 6, 8782–8796.
[20] Misra, S., & Akman, I. (2008, May). A new complexity metric based on cognitive informatics. In
International Conference on Rough Sets and Knowledge Technology (pp. 620-627). Springer, Berlin,
Heidelberg.
[21] Misra, S. (2006). Modified Cognitive Complexity Measure. Lecture Notes in Computer Science
4263: 1050-1059. https:// doi:10.1007/11902140_109.
[22] Muketha, G. M., Ghani, A. A. A., Selamat, M. H., & Atan, R, (2010b) A Survey of Business Process
Complexity Metrics. Information Technology Journal, Vol 9, No. 7, pp1336-1344.
[23] Ndia, J. G. (2019). Structural Complexity Framework and Metrics for Analyzing the Maintainability
OF Sassy Cascading Style Sheets (Doctoral dissertation, MMUST).
[24] Padmanabhan, B. (2012). Unified modeling language (UML) overview. EECS810–Principles of
Software Engineering.
[25] Rabani, S. T., & Maheswaran, K. (2017). Software Cognitive Complexity Metrics for OO Design: A
Survey. International Journal of Scientific Research in Science, Engineering and Technology, 3, 691-
698.90–101.
[26] Rambaugh, J., Jacobsen, I. & Booch, G. (2005). The Unified Modelling Language Reference
Manual, second Edition. Pearson Higher Education
[27] Shao, J., & Wang, Y. (2003). A new measure of software complexity based on cognitive weights.
Canadian Journal of Electrical and Computer Engineering, 28(2), 69-74.
[28] Siau, K., & Loo, P.P. (2006). Identifying difficulties in learning UML. Information Systems
Management, 23(3), 43-51.
[29] Schneidewind N. (1992). Methodology for Validating Software Metrics. IEEE
Transactions of Software Engineering, 18 (5), 410-422.
[30] UML, O. (2012a). Information technology-Object Management Group Unified Modelling Language
(OMG UML), Infrastructure.
[31] Wang, Y. & Shao J., (2003). A new Measure of Software Complexity Based on Cognitive weights.
Journal of Electrical and Computer Engineering,28(2),69-74.
[32] Wohlin, C., P. Runeson, M. Host, M. C. Ohlsson, and B. Regnell. "Experimentation in Software
Engineering-An Introduction. Kluwer Academic Publishers." Doedrecht the Netherlands (2000).
[33] Weyuker, E.J. (1988). Evaluating software complexity measures. IEEE Transactions on Software on
Software Engineering 14: 1357-1365.
17. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.3, May 2022
71
AUTHORS
Ann Wambui King’ori is an ICT Lecturer at the Department of Information
Communication Technology at Nkabune Technical Training Institute, Kenya. She
earned her Bachelor of Technology Education (Computer Studies) from the
University of Eldoret, Kenya in 2014, and her MSc. In Information Technology from
Murang’a University of Technology, Kenya, 2021. She is currently pursuing her
PhD. in Information Technology at Murang’a University of Technology, Kenya.
Her research interests include software metrics, software quality, and business
intelligence.
Geoffrey Muchiri Muketha is Professor of Computer Science and Director of
Postgraduate Studies at Murang' a University of Technology, Kenya. He received his
BSc. in Information Science from Moi University in 1995, his MSc. in Computer
Science from Periyar University, India in 2004, and his PhD in Software Engineering
from Universiti Putra Malaysia in 2011. He has wide experience in teaching and
supervision of postgraduate students. His research interests include software and
business process metrics, software quality, verification and validation, empirical methods in
software engineering, and component-based software engineering. He is a member of the
International Association of Engineers (IAENG).
Elyjoy Muthoni Micheni is a Senior Lecturer in Information Systems in the Department
of Management Science and Technology at The Technical University of Kenya. She
holds a Ph.D. (Information Technology) from Masinde Muliro University of Science and
Technology, Master of Science (Computer Based Information Systems) from Sunderland
University, (UK); Bachelor of Education from Kenyatta University; Post Graduate
Diploma in Project Management from Kenya Institute of Management. She has taught
Management Information System courses for many years at the University level. She has presented papers
in scientific conferences and has many publications in refereed journals. She has also co-authored a book
for Middle-level colleges entitled: “Computerized Document Processing”. Her career objective is to tap
computer-based knowledge as a tool to advance business activities, promote research in ICT and enhance
quality service.