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.
Designing and modeling of a multi-agent adaptive learning system (MAALS) usin...IJECEIAES
Several researches in the field of adaptive learning systems has developed systems and techniques to guide the learner and reduce cognitive overload, making learning adaptation essential to better understand preferences, the constraints and learning habits of the learner. Thus, it is particularly advisable to propose online learning systems that are able to collect and detect information describing the learning process in an automatic and deductive way, and to rely on this information to follow the learner in real time and offer him training according to his dynamic learning pace. This article proposes a multi-agent adaptive learning system to make a real decision based on a current learning situation. This decision will be made by performing a hypride cycle of the Case-Based Reasonning approach in order to follow the learner and provide him with an individualized learning path according to Felder Silverman learning style model and his learning traces to predict his future learning status.To ensure this decision, we assign at each stage of the Incremental Hybrid Case-Based Reasoning at least one active agent performing a particular task and a broker agent that collaborates between the different agents in the system.
The paper deals with distributed planning in a Mult
i-Agent System (MAS) constituted by several
intelligent agents each one has to interact with th
e other autonomous agents. The problem faced
is how to ensure a distributed planning through the
cooperation in our multi-agent system.
To do so, we propose the use of fuzzy logic to repr
esent the response of the agent in case of
interaction with the other. Finally, we use JADE p
latform to create agents and ensure the
communication between them.
A Benchmark Production System is used as a running
example to explain our contribution.
Analysis of Agile and Multi-Agent Based Process Scheduling Modelirjes
As an answer of long growing frustration of waterfall Software development life cycle concepts,
agile software development concept was evolved in 90’s. The most popular agile methodologies is the Extreme
Programming (XP). Most software companies nowadays aim to produce efficient, flexible and valuable
Software in short time period with minimal costs, and within unstable, changing environments. This complex
problem can be modeled as a multi-agent based system, where agents negotiate resources. Agents can be used to
represent projects and resources. Crucial for the multi-agent based system in project scheduling model, is the
availability of an effective algorithm for prioritizing and scheduling of task. To evaluate the models, simulations
were carried out with real life and several generated data sets. The developed model (Multi-agent based System)
provides an optimized and flexible agile process scheduling and reduces overheads in the software process as it
responds quickly to changing requirements without excessive work in project scheduling.
This document discusses function-oriented software design. It explains that function-oriented design represents a system as a set of functions that transform inputs to outputs. The chapter objectives are to explain function-oriented design, introduce design notations, illustrate the design process with an example, and compare sequential, concurrent and object-oriented design strategies. Topics covered include data-flow design, structural decomposition, detailed design, and a comparison of design strategies.
A M ULTI -O BJECTIVE B ASED E VOLUTIONARY A LGORITHM AND S OCIAL N ETWOR...IJCI JOURNAL
In this paper, a multi-objective based NSGA-II algo
rithm is proposed for dynamic job-shop scheduling
problem (DJSP) with random job arrivals and machine
breakdowns. In DJSP schedules are usually
inevitable due to various unexpected disruptions. T
o handle this problem, it is necessary to select
appropriate key machines at the beginning of the si
mulation instead of random selection. Thus, this pa
per
seeks to address on approach called social network
analysis method to identify the key machines of the
addressed DJSP. With identified key machines, the e
ffectiveness and stability of scheduling i.e., make
span
and starting time deviations of the computational c
omplex NP-hard problem has been solved with propose
d
multi-objective based hybrid NSGA-ll algorithm. Sev
eral experiments studies have been conducted and
comparisons have been made to demonstrate the effic
iency of the proposed approach with classical multi
-
objective based NSGA-II algorithm. The experimental
results illustrate that the proposed method is ver
y
effective in various shop floor conditions
The Ordered Weighted Averaging (OWA) operator was introduced by Yager [57] to provide a method for aggregating inputs that lie between the max and min operators. In this article two variants of probabilistic extensions the OWA operator-POWA and FPOWA (introduced by Merigo [26] and [27]) are considered as a basis of our generalizations in the environment of fuzzy uncertainty (parts II and III of this work), where different monotone measures (fuzzy measure) are used as uncertainty measures instead of the probability measure. For the identification of “classic” OWA and new operators (presented in parts II and III) of aggregations, the Information Structure is introduced where the incomplete available information in the general decision-making system is presented as a condensation of uncertainty measure, imprecision variable and objective function of weights.
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.
Designing and modeling of a multi-agent adaptive learning system (MAALS) usin...IJECEIAES
Several researches in the field of adaptive learning systems has developed systems and techniques to guide the learner and reduce cognitive overload, making learning adaptation essential to better understand preferences, the constraints and learning habits of the learner. Thus, it is particularly advisable to propose online learning systems that are able to collect and detect information describing the learning process in an automatic and deductive way, and to rely on this information to follow the learner in real time and offer him training according to his dynamic learning pace. This article proposes a multi-agent adaptive learning system to make a real decision based on a current learning situation. This decision will be made by performing a hypride cycle of the Case-Based Reasonning approach in order to follow the learner and provide him with an individualized learning path according to Felder Silverman learning style model and his learning traces to predict his future learning status.To ensure this decision, we assign at each stage of the Incremental Hybrid Case-Based Reasoning at least one active agent performing a particular task and a broker agent that collaborates between the different agents in the system.
The paper deals with distributed planning in a Mult
i-Agent System (MAS) constituted by several
intelligent agents each one has to interact with th
e other autonomous agents. The problem faced
is how to ensure a distributed planning through the
cooperation in our multi-agent system.
To do so, we propose the use of fuzzy logic to repr
esent the response of the agent in case of
interaction with the other. Finally, we use JADE p
latform to create agents and ensure the
communication between them.
A Benchmark Production System is used as a running
example to explain our contribution.
Analysis of Agile and Multi-Agent Based Process Scheduling Modelirjes
As an answer of long growing frustration of waterfall Software development life cycle concepts,
agile software development concept was evolved in 90’s. The most popular agile methodologies is the Extreme
Programming (XP). Most software companies nowadays aim to produce efficient, flexible and valuable
Software in short time period with minimal costs, and within unstable, changing environments. This complex
problem can be modeled as a multi-agent based system, where agents negotiate resources. Agents can be used to
represent projects and resources. Crucial for the multi-agent based system in project scheduling model, is the
availability of an effective algorithm for prioritizing and scheduling of task. To evaluate the models, simulations
were carried out with real life and several generated data sets. The developed model (Multi-agent based System)
provides an optimized and flexible agile process scheduling and reduces overheads in the software process as it
responds quickly to changing requirements without excessive work in project scheduling.
This document discusses function-oriented software design. It explains that function-oriented design represents a system as a set of functions that transform inputs to outputs. The chapter objectives are to explain function-oriented design, introduce design notations, illustrate the design process with an example, and compare sequential, concurrent and object-oriented design strategies. Topics covered include data-flow design, structural decomposition, detailed design, and a comparison of design strategies.
A M ULTI -O BJECTIVE B ASED E VOLUTIONARY A LGORITHM AND S OCIAL N ETWOR...IJCI JOURNAL
In this paper, a multi-objective based NSGA-II algo
rithm is proposed for dynamic job-shop scheduling
problem (DJSP) with random job arrivals and machine
breakdowns. In DJSP schedules are usually
inevitable due to various unexpected disruptions. T
o handle this problem, it is necessary to select
appropriate key machines at the beginning of the si
mulation instead of random selection. Thus, this pa
per
seeks to address on approach called social network
analysis method to identify the key machines of the
addressed DJSP. With identified key machines, the e
ffectiveness and stability of scheduling i.e., make
span
and starting time deviations of the computational c
omplex NP-hard problem has been solved with propose
d
multi-objective based hybrid NSGA-ll algorithm. Sev
eral experiments studies have been conducted and
comparisons have been made to demonstrate the effic
iency of the proposed approach with classical multi
-
objective based NSGA-II algorithm. The experimental
results illustrate that the proposed method is ver
y
effective in various shop floor conditions
The Ordered Weighted Averaging (OWA) operator was introduced by Yager [57] to provide a method for aggregating inputs that lie between the max and min operators. In this article two variants of probabilistic extensions the OWA operator-POWA and FPOWA (introduced by Merigo [26] and [27]) are considered as a basis of our generalizations in the environment of fuzzy uncertainty (parts II and III of this work), where different monotone measures (fuzzy measure) are used as uncertainty measures instead of the probability measure. For the identification of “classic” OWA and new operators (presented in parts II and III) of aggregations, the Information Structure is introduced where the incomplete available information in the general decision-making system is presented as a condensation of uncertainty measure, imprecision variable and objective function of weights.
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.
Analysis and Design of Information Systems Financial Reports with Object Orie...ijceronline
Micro, Small and Medium Enterprises (SMEs) are a group effort proved resistant to a wide range of economic crisis shocks. But in the operation of their business financial management is still not transparent and are also still mixed between business finance and personal finance. So that needs to be done with good financial management. In this research, analysis and information system design financial reports as a basis for the development of the system. Software development life cycle (SDLC) using the model of the object oriented approach. With object-oriented approach, the tools used by the notation Unified Modelling Language (UML). In object-oriented approach all systems applications are Viewed as a collection of objects that allow organisasi interloking and end users to Easily understand logical entities. Object-oriented approach Provides the benefits of the reuse of codes and saves the time for developing quality product.
The document describes key components of software design including data design, architectural design, interface design, and procedural design. It discusses the goals of the design process which are to implement requirements, create an understandable guide for code generation and testing, and address implementation from data, functional, and behavioral perspectives. The document also covers concepts like abstraction, refinement, modularity, program structure, data structures, software procedures, information hiding, and cohesion and coupling.
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.
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.
Reduced Software Complexity for E-Government Applications with ZEF FrameworkTELKOMNIKA JOURNAL
The situation of dynamic change is unpredictable and always growth increasingly. It also can
happen anytime and anywhere. The one kind which is always changing is the government policy.This
condition is suggested take the impact for software for information system. It will cause replacement,
modification, and enhancement of software for information system. There is some commonality and
variability of software features in Indonesian Government. Hence, to manage it, we present enhancement
of Zuma’s E-Government Framework (ZEF) for reduce software complexity.We enhance ZEF Framework
using SPLE and GORE approach in order to improve traditional software development.It can reduce, if
the changing continuously happen.The measurement of software complexity relate to functionality of
system.It can describe with function point, because function point can describe logical software
complexity also. The preliminary result of this study can reduce efficiency of software complexity such as
information processing size, technical complexity adjustment factors and function points in e-government
applications.
Daniel Sarpe created a strategic plan to become a Network Security Specialist. His plan was to earn an AAS in Network Security from Germanna Community College, then transfer to the University of Mary Washington to earn a bachelor's degree in Information Assurance. Key courses in his education included Introduction to LANs, Introduction to WANs, Network and Internet Security, and Programming. The average salary for a security specialist in 2008 was between $85,000 and $112,000.
This document discusses design patterns for small devices. It begins by introducing design patterns as recurring solutions to software design problems. It notes that the process of building software should be evolutionary, learning from past experiences. The objective is to apply this theory to embedded systems and suggest three design patterns: Hierarchical State, Virtual Component, and LED Error patterns. It then provides details on each of these patterns, including their structure, implementation, applicability and known uses. The Hierarchical State pattern addresses complexity in state machine designs by organizing states hierarchically. The Virtual Component pattern reduces memory usage by loading components on demand. The LED Error pattern standardizes error handling across modules.
Analysis and Design of Information Systems Financial Reports with Object Orie...ijceronline
Micro, Small and Medium Enterprises (SMEs) are a group effort proved resistant to a wide range of economic crisis shocks. But in the operation of their business financial management is still not transparent and are also still mixed between business finance and personal finance. So that needs to be done with good financial management. In this research, analysis and information system design financial reports as a basis for the development of the system. Software development life cycle (SDLC) using the model of the object oriented approach. With object-oriented approach, the tools used by the notation Unified Modelling Language (UML). In object-oriented approach all systems applications are Viewed as a collection of objects that allow organisasi interloking and end users to Easily understand logical entities. Object-oriented approach Provides the benefits of the reuse of codes and saves the time for developing quality product.
This summary provides an overview of the key concepts discussed in the document:
1. The document discusses various object-oriented analysis and design concepts including use case modeling, the Unified Modeling Language (UML), activity diagrams, associations, aggregation, and composition.
2. It provides descriptions and examples of these concepts, such as defining use cases, actors, and use case diagrams. Activity diagrams are described as showing workflows and processes.
3. The document also discusses UML notation for modeling associations, including binary and ternary associations, and modeling cardinality ratios between associated classes.
The document discusses the Unified Approach (UA) methodology for software development proposed by Ali Bahrami. The UA aims to combine the best practices of other methodologies like Booch, Rumbaugh, and Jacobson while using the Unified Modeling Language (UML). The core of the UA is use case-driven development. It establishes a unified framework around these methodologies using UML for modeling and documenting the software development process. The UA allows for iterative development by allowing moving between analysis, design, and modeling phases.
Flow-oriented modeling represents how data objects are transformed as they move through a system. A data flow diagram (DFD) is the diagrammatic form used to depict this approach. DFDs show the flow of data through processes and external entities of a system using symbols like circles and arrows. They provide a unique view of how a system works by modeling the input, output, storage and processing of data from level to level.
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
Design activity & its objectives – Function Oriented and Object Oriented Design- Modularization techniques - module structure and its representation, interface and information hiding, categories, specific techniques to accommodate change, stepwise refinement, top-down and bottom-up design - Handling anomalies.
The document discusses use case modeling and provides information on key concepts:
- A use case describes interactions between a system and external users (actors) to achieve a goal. It specifies system behavior but not implementation.
- Key components of use case modeling include actors, use cases, relationships between use cases like inclusion and extension, and use case descriptions.
- Use cases capture functional requirements while use case descriptions elaborate different scenarios through structured text or pseudocode. Organizing use cases into packages supports generalization and specialization.
Download Complete Material - https://www.instamojo.com/prashanth_ns/
This UML (Unified Markup Language) contains 6 Units and each Unit contains 35 slides in it.
Contents…
• Object-oriented modeling
• Origin and evolution of UML
• Architecture of UML
• User View
o Actor
o Use Cases
• Identify the behavior of a class
• Identify the attributes of a class
• Create a Class diagram
• Create an Object diagram
• Identify the dynamic and static aspects of a system
• Draw collaboration diagrams
• Draw sequence diagrams
• Draw statechart diagrams
• Understand activity diagrams
• Identify software components of a system
• Draw component diagrams
• Identify nodes in a system
• Draw deployment diagrams
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.
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...ijsc
Current autonomic computing systems are ad hoc solutions that are designed and implemented from the
scratch. When designing software, in most cases two or more patterns are to be composed to solve a bigger
problem. A composite design patterns shows a synergy that makes the composition more than just the sum
of its parts which leads to ready-made software architectures. As far as we know, there are no studies on
composition of design patterns for autonomic computing domain. In this paper we propose pattern-oriented
software architecture for self-optimization in autonomic computing system using design patterns
composition and multi objective evolutionary algorithms that software designers and/or programmers can
exploit to drive their work. Main objective of the system is to reduce the load in the server by distributing
the population to clients. We used Case Based Reasoning, Database Access, and Master Slave design
patterns. We evaluate the effectiveness of our architecture with and without design patterns compositions.
The use of composite design patterns in the architecture and quantitative measurements are presented. A
simple UML class diagram is used to describe the architecture.
Formalization of a Hospital Management Systemijcseit
The automation of the processing and activities of Hospital Management System (HMS) can invariably contribute greatly to the success, profitability and customer-based approach of such an organization. The use of formal specification creates a formal approach for specifying the underlying functions and properties of the system. This paper has attempted to give a formal description of the activities of a HMS system Using Zed notation. The interaction within the system is visualized using Unified Modeling
Language (UML) sequence diagrams
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxAmr E. Mohamed
The document discusses process modeling and data flow diagrams (DFDs). It begins by defining a system as consisting of inputs, outputs, and a process within defined boundaries. Logical and physical models are then described, with logical models showing what a system does independent of implementation and physical models including implementation details. The remainder of the document provides details on:
- Creating DFDs using processes, external entities, data stores, and data flows
- Developing context and level-0 diagrams
- Decomposing processes through functional decomposition and creating level-N diagrams
- Ensuring DFDs are complete and consistent
GRID COMPUTING: STRATEGIC DECISION MAKING IN RESOURCE SELECTIONIJCSEA Journal
The rapid development of computer networks around the world generated new areas especially in computer instruction processing. In grid computing, instruction processing is performed by external processors available to the system. An important topic in this area is task scheduling to available external resources. However, we do not deal with this topic here. In this paper we intend to work on strategic decision making on selecting the best alternative resources for processing instructions with respect to criteria in special conditions. Where the criteria might be security, political, technical, cost, etc. Grid computing should be determined with respect to the processing objectives of instructions of a program. This paper seeks a way through combining Analytic Hierarchy Process (AHP) and Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) to help us in ranking and selecting available resources according to considerable criteria in allocating instructions to resources. Therefore, our findings will help technical managers of organizations in choosing as well as ranking candidate alternatives for processing program instructions.
A SIMILARITY MEASURE FOR CATEGORIZING THE DEVELOPERS PROFILE IN A SOFTWARE PR...csandit
Software development processes need to have an integrated environment that fulfills specific
developer needs. In this context, this paper describes the modeling approach SAGM ((Similarity
for Adaptive Guidance Model) that provides adaptive recursive guidance for software
processes, and specifically tailored regarding the profile of developers. A profile is defined from
a model of developers, through their roles, their qualifications, and through the relationships
between the context of the current activity and the model of the activities. This approach
presents a similarity measure that evaluates the similarities between the profiles created from
the model of developers and those of the development team involved in the execution of a
software process. This is to identify the profiles classification and to deduce the appropriate
type of assistance (that can be corrective, constructive or specific) to developers.
COMPLEXITY METRICS FOR STATECHART DIAGRAMSijseajournal
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 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
Analysis and Design of Information Systems Financial Reports with Object Orie...ijceronline
Micro, Small and Medium Enterprises (SMEs) are a group effort proved resistant to a wide range of economic crisis shocks. But in the operation of their business financial management is still not transparent and are also still mixed between business finance and personal finance. So that needs to be done with good financial management. In this research, analysis and information system design financial reports as a basis for the development of the system. Software development life cycle (SDLC) using the model of the object oriented approach. With object-oriented approach, the tools used by the notation Unified Modelling Language (UML). In object-oriented approach all systems applications are Viewed as a collection of objects that allow organisasi interloking and end users to Easily understand logical entities. Object-oriented approach Provides the benefits of the reuse of codes and saves the time for developing quality product.
The document describes key components of software design including data design, architectural design, interface design, and procedural design. It discusses the goals of the design process which are to implement requirements, create an understandable guide for code generation and testing, and address implementation from data, functional, and behavioral perspectives. The document also covers concepts like abstraction, refinement, modularity, program structure, data structures, software procedures, information hiding, and cohesion and coupling.
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.
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.
Reduced Software Complexity for E-Government Applications with ZEF FrameworkTELKOMNIKA JOURNAL
The situation of dynamic change is unpredictable and always growth increasingly. It also can
happen anytime and anywhere. The one kind which is always changing is the government policy.This
condition is suggested take the impact for software for information system. It will cause replacement,
modification, and enhancement of software for information system. There is some commonality and
variability of software features in Indonesian Government. Hence, to manage it, we present enhancement
of Zuma’s E-Government Framework (ZEF) for reduce software complexity.We enhance ZEF Framework
using SPLE and GORE approach in order to improve traditional software development.It can reduce, if
the changing continuously happen.The measurement of software complexity relate to functionality of
system.It can describe with function point, because function point can describe logical software
complexity also. The preliminary result of this study can reduce efficiency of software complexity such as
information processing size, technical complexity adjustment factors and function points in e-government
applications.
Daniel Sarpe created a strategic plan to become a Network Security Specialist. His plan was to earn an AAS in Network Security from Germanna Community College, then transfer to the University of Mary Washington to earn a bachelor's degree in Information Assurance. Key courses in his education included Introduction to LANs, Introduction to WANs, Network and Internet Security, and Programming. The average salary for a security specialist in 2008 was between $85,000 and $112,000.
This document discusses design patterns for small devices. It begins by introducing design patterns as recurring solutions to software design problems. It notes that the process of building software should be evolutionary, learning from past experiences. The objective is to apply this theory to embedded systems and suggest three design patterns: Hierarchical State, Virtual Component, and LED Error patterns. It then provides details on each of these patterns, including their structure, implementation, applicability and known uses. The Hierarchical State pattern addresses complexity in state machine designs by organizing states hierarchically. The Virtual Component pattern reduces memory usage by loading components on demand. The LED Error pattern standardizes error handling across modules.
Analysis and Design of Information Systems Financial Reports with Object Orie...ijceronline
Micro, Small and Medium Enterprises (SMEs) are a group effort proved resistant to a wide range of economic crisis shocks. But in the operation of their business financial management is still not transparent and are also still mixed between business finance and personal finance. So that needs to be done with good financial management. In this research, analysis and information system design financial reports as a basis for the development of the system. Software development life cycle (SDLC) using the model of the object oriented approach. With object-oriented approach, the tools used by the notation Unified Modelling Language (UML). In object-oriented approach all systems applications are Viewed as a collection of objects that allow organisasi interloking and end users to Easily understand logical entities. Object-oriented approach Provides the benefits of the reuse of codes and saves the time for developing quality product.
This summary provides an overview of the key concepts discussed in the document:
1. The document discusses various object-oriented analysis and design concepts including use case modeling, the Unified Modeling Language (UML), activity diagrams, associations, aggregation, and composition.
2. It provides descriptions and examples of these concepts, such as defining use cases, actors, and use case diagrams. Activity diagrams are described as showing workflows and processes.
3. The document also discusses UML notation for modeling associations, including binary and ternary associations, and modeling cardinality ratios between associated classes.
The document discusses the Unified Approach (UA) methodology for software development proposed by Ali Bahrami. The UA aims to combine the best practices of other methodologies like Booch, Rumbaugh, and Jacobson while using the Unified Modeling Language (UML). The core of the UA is use case-driven development. It establishes a unified framework around these methodologies using UML for modeling and documenting the software development process. The UA allows for iterative development by allowing moving between analysis, design, and modeling phases.
Flow-oriented modeling represents how data objects are transformed as they move through a system. A data flow diagram (DFD) is the diagrammatic form used to depict this approach. DFDs show the flow of data through processes and external entities of a system using symbols like circles and arrows. They provide a unique view of how a system works by modeling the input, output, storage and processing of data from level to level.
Function Oriented and Object Oriented Design,Modularization techniquesnimmik4u
Design activity & its objectives – Function Oriented and Object Oriented Design- Modularization techniques - module structure and its representation, interface and information hiding, categories, specific techniques to accommodate change, stepwise refinement, top-down and bottom-up design - Handling anomalies.
The document discusses use case modeling and provides information on key concepts:
- A use case describes interactions between a system and external users (actors) to achieve a goal. It specifies system behavior but not implementation.
- Key components of use case modeling include actors, use cases, relationships between use cases like inclusion and extension, and use case descriptions.
- Use cases capture functional requirements while use case descriptions elaborate different scenarios through structured text or pseudocode. Organizing use cases into packages supports generalization and specialization.
Download Complete Material - https://www.instamojo.com/prashanth_ns/
This UML (Unified Markup Language) contains 6 Units and each Unit contains 35 slides in it.
Contents…
• Object-oriented modeling
• Origin and evolution of UML
• Architecture of UML
• User View
o Actor
o Use Cases
• Identify the behavior of a class
• Identify the attributes of a class
• Create a Class diagram
• Create an Object diagram
• Identify the dynamic and static aspects of a system
• Draw collaboration diagrams
• Draw sequence diagrams
• Draw statechart diagrams
• Understand activity diagrams
• Identify software components of a system
• Draw component diagrams
• Identify nodes in a system
• Draw deployment diagrams
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.
LOAD DISTRIBUTION COMPOSITE DESIGN PATTERN FOR GENETIC ALGORITHM-BASED AUTONO...ijsc
Current autonomic computing systems are ad hoc solutions that are designed and implemented from the
scratch. When designing software, in most cases two or more patterns are to be composed to solve a bigger
problem. A composite design patterns shows a synergy that makes the composition more than just the sum
of its parts which leads to ready-made software architectures. As far as we know, there are no studies on
composition of design patterns for autonomic computing domain. In this paper we propose pattern-oriented
software architecture for self-optimization in autonomic computing system using design patterns
composition and multi objective evolutionary algorithms that software designers and/or programmers can
exploit to drive their work. Main objective of the system is to reduce the load in the server by distributing
the population to clients. We used Case Based Reasoning, Database Access, and Master Slave design
patterns. We evaluate the effectiveness of our architecture with and without design patterns compositions.
The use of composite design patterns in the architecture and quantitative measurements are presented. A
simple UML class diagram is used to describe the architecture.
Formalization of a Hospital Management Systemijcseit
The automation of the processing and activities of Hospital Management System (HMS) can invariably contribute greatly to the success, profitability and customer-based approach of such an organization. The use of formal specification creates a formal approach for specifying the underlying functions and properties of the system. This paper has attempted to give a formal description of the activities of a HMS system Using Zed notation. The interaction within the system is visualized using Unified Modeling
Language (UML) sequence diagrams
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxAmr E. Mohamed
The document discusses process modeling and data flow diagrams (DFDs). It begins by defining a system as consisting of inputs, outputs, and a process within defined boundaries. Logical and physical models are then described, with logical models showing what a system does independent of implementation and physical models including implementation details. The remainder of the document provides details on:
- Creating DFDs using processes, external entities, data stores, and data flows
- Developing context and level-0 diagrams
- Decomposing processes through functional decomposition and creating level-N diagrams
- Ensuring DFDs are complete and consistent
GRID COMPUTING: STRATEGIC DECISION MAKING IN RESOURCE SELECTIONIJCSEA Journal
The rapid development of computer networks around the world generated new areas especially in computer instruction processing. In grid computing, instruction processing is performed by external processors available to the system. An important topic in this area is task scheduling to available external resources. However, we do not deal with this topic here. In this paper we intend to work on strategic decision making on selecting the best alternative resources for processing instructions with respect to criteria in special conditions. Where the criteria might be security, political, technical, cost, etc. Grid computing should be determined with respect to the processing objectives of instructions of a program. This paper seeks a way through combining Analytic Hierarchy Process (AHP) and Technique for Order of Preference by Similarity to Ideal Solution (TOPSIS) to help us in ranking and selecting available resources according to considerable criteria in allocating instructions to resources. Therefore, our findings will help technical managers of organizations in choosing as well as ranking candidate alternatives for processing program instructions.
A SIMILARITY MEASURE FOR CATEGORIZING THE DEVELOPERS PROFILE IN A SOFTWARE PR...csandit
Software development processes need to have an integrated environment that fulfills specific
developer needs. In this context, this paper describes the modeling approach SAGM ((Similarity
for Adaptive Guidance Model) that provides adaptive recursive guidance for software
processes, and specifically tailored regarding the profile of developers. A profile is defined from
a model of developers, through their roles, their qualifications, and through the relationships
between the context of the current activity and the model of the activities. This approach
presents a similarity measure that evaluates the similarities between the profiles created from
the model of developers and those of the development team involved in the execution of a
software process. This is to identify the profiles classification and to deduce the appropriate
type of assistance (that can be corrective, constructive or specific) to developers.
COMPLEXITY METRICS FOR STATECHART DIAGRAMSijseajournal
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 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
Extending UML State Diagrams to Model Agent MobilityIDES Editor
This paper presents a simplified form of UML state
diagrams for modeling agent mobility. Mobile agent has gained
more importance technology. The notations used to model
agent mobility are focused on capturing agent creation,
mobility paths and current agent location. In this paper, we
demonstrate how the simplification of the state UML 2.0
Activity Diagrams can be used for modeling mobile agent
applications. The paper concludes with the appropriateness
of the presented approach for modeling agent mobility with
UML state diagrams as well as with sequence diagrams of the
mobile agent system.
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.
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.
The document discusses various aspects of component-based modeling and technologies. It begins by introducing component-based models and their importance. It then discusses in detail several component technologies including:
- The ACME architectural description language which uses components, ports, connectors, roles, systems and attachments.
- The Java Bean component model which defines components using methods, properties, events and listeners for interfaces and allows various implementations and assembly approaches.
- COM/DCOM/MTS which uses interfaces as virtual classes and components as binary code with a simple runtime.
- CORBA's component model which uses facets, receptacles, events for interfaces and a container approach for the runtime.
- .NET which uses
OMT uses three models - the object model, dynamic model, and functional model. The dynamic model represents the temporal, behavioral, and control aspects of a system using events, states, and state transitions. It shows how objects interact over time in response to events, and is represented through state diagrams that define the different states an object can be in and the events that trigger transitions between states.
This document discusses component-based modeling and technology. It covers several topics:
1) It describes different modeling activities and representation techniques used in software development, including diagrams, descriptions, and both graphical and textual representations.
2) It discusses different ways to represent system composition and structure using components, as well as dynamic collaboration using events and actions.
3) It proposes a layered architecture model for applications with four layers - a user interface layer, application layer, access layer, and domain layer.
4) It outlines various modeling process activities including domain investigation, conceptual modeling, user interface modeling, and data modeling.
an analysis and new methodology for reverse engineering of uml behavioralINFOGAIN PUBLICATION
The emergence of Unified Modeling Language (UML) as a standard for modeling systems has encouraged the use of automated software tools that facilitate the development process from analysis through coding. Reverse Engineering has become a viable method to measure an existing system and reconstruct the necessary model from its original. The Reverse Engineering of behavioral models consists in extracting high-level models that help understand the behavior of existing software systems. In this paper we present an ongoing work on extracting UML diagrams from object-oriented programming languages. we propose an approach for the reverse engineering of UML behavior from the analysis of execution traces produced dynamically by an object-oriented application using formal and semi-formal techniques for modeling the dynamic behavior of a system. Our methods show that this approach can produce UML behavioral diagrams in reasonable time and suggest that these diagrams are helpful in understanding the behavior of the underlying application.
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
The document provides an overview of Unified Modeling Language (UML). It discusses that UML is a standard modeling language used to visualize, specify and document artifacts of a software system. It then summarizes the history and evolution of UML from its origins combining different modeling approaches in the 1980s-1990s to the current version. The document also lists and briefly describes the main UML diagram types including class, use case, activity, sequence, collaboration, state chart, component and deployment diagrams. For each diagram type, it highlights the key elements and purpose.
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTSijseajournal
Modelling software product line (SPL) features plays a crucial role to a successful development of SPL.
Feature diagram is one of the widely used notations to model SPL variants. However, there is a lack of
precisely defined formal notations for representing and verifying such models. This paper presents an
approach that we adopt to model SPL variants by using UML and subsequently verify them by using firstorder
logic. UML provides an overall modelling view of the system. First-order logic provides a precise
and rigorous interpretation of the feature diagrams. We model variants and their dependencies by using
propositional connectives and build logical expressions. These expressions are then validated by the Alloy
verification tool. The analysis and verification process is illustrated by using Computer Aided Dispatch
(CAD) system.
The document describes the system design, implementation, and testing of an Android-based mobile application called ABNNS. It defines the design goals, subsystem decomposition, and deployment diagram. It also includes UML class, state, and deployment diagrams. The application allows users to add and view information notifications. It was tested using unit, functional, and integration testing on the emulator and devices. Constraints in development included lack of experience with Android and debugging issues. Recommendations included offering related courses earlier and providing resources to support Android application development.
The document discusses various types of Unified Modeling Language (UML) diagrams used for software modeling including state machine diagrams, deployment diagrams, package diagrams, component diagrams, and timing diagrams. It provides descriptions of each diagram type including their purpose and how they are used to model different aspects of software design.
The document describes a multi-agent simulation for modeling crowd control situations. It aims to develop models and a simulation platform to assess the effectiveness of non-lethal weapons in scenarios of crowd control. The simulation uses agent-based modeling to simulate crowds and police as autonomous agents. It also models emerging social groups that can influence individual agents. The simulation generates data to analyze different crowd control strategies and the impact of non-lethal weapons.
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.
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.
This document is a record notebook for a computer science student documenting the experiments completed in a CASE tools laboratory course. It contains details of 15 software systems developed during the course like passport automation, book banking, stock maintenance, etc. It also includes studies of UML diagrams like use case diagrams, sequence diagrams, class diagrams, etc. and how to connect a Visual Basic form to a Microsoft Access database.
Similar to A LITERATURE SURVEY OF COGNITIVE COMPLEXITY METRICS FOR STATECHART DIAGRAMS (20)
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
International Conference on NLP, Artificial Intelligence, Machine Learning an...gerogepatton
International Conference on NLP, Artificial Intelligence, Machine Learning and Applications (NLAIM 2024) offers a premier global platform for exchanging insights and findings in the theory, methodology, and applications of NLP, Artificial Intelligence, Machine Learning, and their applications. The conference seeks substantial contributions across all key domains of NLP, Artificial Intelligence, Machine Learning, and their practical applications, aiming to foster both theoretical advancements and real-world implementations. With a focus on facilitating collaboration between researchers and practitioners from academia and industry, the conference serves as a nexus for sharing the latest developments in the field.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...shadow0702a
This document serves as a comprehensive step-by-step guide on how to effectively use PyCharm for remote debugging of the Windows Subsystem for Linux (WSL) on a local Windows machine. It meticulously outlines several critical steps in the process, starting with the crucial task of enabling permissions, followed by the installation and configuration of WSL.
The guide then proceeds to explain how to set up the SSH service within the WSL environment, an integral part of the process. Alongside this, it also provides detailed instructions on how to modify the inbound rules of the Windows firewall to facilitate the process, ensuring that there are no connectivity issues that could potentially hinder the debugging process.
The document further emphasizes on the importance of checking the connection between the Windows and WSL environments, providing instructions on how to ensure that the connection is optimal and ready for remote debugging.
It also offers an in-depth guide on how to configure the WSL interpreter and files within the PyCharm environment. This is essential for ensuring that the debugging process is set up correctly and that the program can be run effectively within the WSL terminal.
Additionally, the document provides guidance on how to set up breakpoints for debugging, a fundamental aspect of the debugging process which allows the developer to stop the execution of their code at certain points and inspect their program at those stages.
Finally, the document concludes by providing a link to a reference blog. This blog offers additional information and guidance on configuring the remote Python interpreter in PyCharm, providing the reader with a well-rounded understanding of the process.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
The CBC machine is a common diagnostic tool used by doctors to measure a patient's red blood cell count, white blood cell count and platelet count. The machine uses a small sample of the patient's blood, which is then placed into special tubes and analyzed. The results of the analysis are then displayed on a screen for the doctor to review. The CBC machine is an important tool for diagnosing various conditions, such as anemia, infection and leukemia. It can also help to monitor a patient's response to treatment.
A LITERATURE SURVEY OF COGNITIVE COMPLEXITY METRICS FOR STATECHART DIAGRAMS
1. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
DOI: 10.5121/ijsea.2019.10403 29
A LITERATURE SURVEY OF COGNITIVE
COMPLEXITY METRICS FOR STATECHART
DIAGRAMS
Ann Wambui King’ori1, 2
, Geoffrey Muchiri Muketha1
and Elyjoy Muthoni
Micheni3
1
School of Computing and Information Technology, Murang' a University of Technology,
Kenya
2
Department of Information Communication Technology, Nkabune Technical Training
Institute, Kenya
3
School of Business and Management Sciences, The Technical University of
Kenya, Kenya
ABSTRACT
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.
KEYWORDS
UML, Statechart diagrams, Software metrics, Cognitive complexity metrics, statechart complexity metrics
1. INTRODUCTION
Unified Modeling Language (UML) is a language that represents a software system visually [29].
The language is currently one of the most widely used for modeling of systems programs using
object-oriented technology [6, 12, 17, 18]. UML diagrams can be divided into two categories,
namely, structural UML diagrams that show how the system is structured, and behavioural UML
diagrams that visualize the dynamic behavior of the system [7, 14, 25, 28].
Researchers have recognized the importance of UML models in today’s software development.
The benefits associated with modeling using UML language include reduction of the software
development expenses, speeding up the process of the building system software, and development
of good quality system programs [7].
A statechart is one of the pillar diagrams of UML used to model the dynamic nature of a system.
A typical statechart diagram is composed of states, transitions, and events. These states are
changed by events. Statechart diagrams have inherent complexity that keeps growing with age
which may affect their cognitive effectiveness. Researchers agree that high cognitive complexity
2. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
30
indicates poor design, which sometimes can be unmanageable thus leading to low- quality
diagrams [2, 23]. Researchers have proposed numerous metrics that have been used to measure
and therefore control the complexity of these diagrams. However, there is a lack of literature that
documents the statecharts cognitive complexity.
This paper is, therefore, a literature survey of existing cognitive complexity metrics for UML
diagrams and existing metrics for statechart diagrams. The survey is conducted to investigate if
there are any gaps in the literature.
The rest of this paper is structured as follows: Section two presents a short overview of the basic
concepts on statechart diagrams, section three presents the complexity of statechart diagrams, and
sections four and five covers the existing cognitive complexity metrics for UML diagrams and
existing metrics for statechart diagrams respectively. Section six presents the conclusions.
2. BASIC CONCEPTS OF STATECHART DIAGRAMS
Statechart diagrams capture the life cycles of objects, subsystems, and systems. The diagrams
show states, transitions, events, and activities of a software system. They also describe the
different states of an object and how internal and external events can change those states [13].
These events include received messages, the time elapsed, errors and conditions becoming true. A
statechart diagram should be attached to all classes that have identifiable states and complex
behavior. A statechart also shows different events that change the state and activities that take
place in a particular state. Researchers have identified three key elements of statecharts diagrams
namely; states, events, and transitions. Figure1 shows states, transitions, and actions performed
when a card is swiped-in on an automated teller machine.
Figure 1. Statechart for an ATM
2.1. States
A state represents a discrete, continuous segment of time where the object’s behavior will be
stable. The object remains in a state until an event triggers a state change. In [26] a state is
defined as a condition or situation during the life of an object during which it satisfies some
condition, performs some activity, or waits for an event. The state of an object is dependent on
how it interacts with other objects and the entry, do and, exit activities it is performing [26]. A
state has five parts namely; state name, entry (action performed upon entry to a state), do activity,
exit state (action performed on leaving a state) and deferrable triggers which are events that are
postponed to be handled in another state as shown in Figure 2. A state is drawn with a round
rectangle with one or more regions.
Waiting
for PIN
PIN Entered
PIN Rejected
PIN
verification
Card
swiped
PIN
Authentication
3. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
31
Figure 2. Parts of a State
2.2. Events
An event is a stimulus that triggers state changes. Events are representations of requests from
other objects. In [13, 26] an event is defined as the specifications of noteworthy occurrence that
has an allocation in time and space. Events trigger transitions in state machines. Events can be
shown externally by transitions. Events are written simply as text strings. There are four types of
event: 1) Call event – a call event is explained as a request for a specific operation to be invoked
in an instance of the context class [13, 26]; 2) Signal event – a signal event represents the
reception of a signal. A signal is modeled as a stereotyped class that holds the information to be
communicated in its attributes; 3) Change event – a change event models an event that occurs
when the guard condition becomes true as a result of a change in the value of one or more
attributes; 4) Time event – a time event represents the elapsed time. The keyword when species a
particular time at which the event is triggered; after keyword specifies a threshold time after
which the event is triggered.
2.3. Transitions
A transition is a change from one state to another. A transition has five parts, namely, source
state, event trigger, guard condition, action, and target state. Transitions in behavioral state
machines have a simple syntax that may be used for external transitions or internal transitions as
shown in Figure 3. A transition can either have zero or more events, zero or more guards and zero
or more actions [26]. A transition is drawn with an arrow labeled with a guard or action to
perform.
Figure 3. Internal and External Transitions
3. COMPLEXITY OF STATECHART DIAGRAMS
Complexity is the state of being difficult. Statechart diagrams have undesirable features that may
affect their cognitive effectiveness. Cognitive effectiveness is the mental difficulties for
At work
Entry/unlock door
Do/prepare materials
Telephone rings/defer
Exit/lock door
State A
Entry/entryAction
Exit/exitAction
Event/Internal transition
State B State C
External transition
Internal
Transition
4. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
32
performing a task such as understanding code or a software system. UML understandability is
influenced by the size and complexity of the diagrams [3, 5]. As the cognitive load of statechart
diagrams increases, the task of the engineers in designing and validating the system becomes
increasingly difficult. Statechart diagrams are associated with the following complexities: 1)
Symbol Redundancy – symbol redundancy occurs when multiple graphical symbols are used to
represent one semantic construct. Symbol redundancy in a modeling notation can confuse
modelers as to which notation to use, leading to confusion concerning their referent semantic [1];
2) Symbol Overload – symbol overload in UML means that one graphical symbol represents
multiple semantic constructs. A construct overload occurs when one UML graphical construct
represents two or more UML concepts. Symbol overload leads to confusion as to the precise
meaning of a symbol leading to misunderstanding and misinterpretation on the actual meaning of
the graphical symbols [1]; 3) Dual Coding – dual coding is the act of describing diagrams using
text. The theory of dual coding states that using text to complement graphical symbols improves
the cognitive effectiveness of a notation. Therefore, the text allows meaning to be created from
the diagrams. However, the statechart diagrams notation does not utilize dual coding which
affects the cognitive effectiveness of these diagrams [1]; 4) Inadequacy of UML Diagrams –
UML diagrams are huge, complex and some UML notations are not differentiated enough [32].
Inconsistency and confusing diagrams in UML impact the effectiveness of compiling declarative
knowledge into procedural knowledge of modeling an aspect of a system using UML [27]. Also,
the number of concepts is not captured using UML notation which makes the learning of UML
diagrams difficult [27]; 5) The ambiguity of UML Semantics – UML lacks formal semantics and
some semantics are not precisely defined. Meanings are hidden under the diagrams which create
ambiguities at the implementation level. The ambiguity of UML semantics is an inherent problem
due to the unifying process which produces UML from many different object-oriented modeling
techniques [27]. The ambiguity of UML semantics makes it hard for engineers to generate codes
from models that make it difficult to learn and understand the diagrams; 6) A large number of
UML Constructs – UML constructs serve as the building block of UML diagrams. UML diagram
provides a large set of constructs and notations which are poorly defined. A large number of
constructs confuse designers as to which notation to use during software development hence
increasing the difficulty in learning UML diagrams [27].
4. EXISTING COGNITIVE COMPLEXITY METRICS FOR UML DIAGRAMS
Cognitive complexity measures take into account both the internal structures of software and
input/output processes. Several researchers have attempted to study software metrics. The
following section presents existing cognitive complexity metrics for UML diagrams.
(i) Cognitive Functional Size (CFS)
The Cognitive functional size (CFS) measure has been proposed for measuring the cognitive
functional size (CFS) of software [30]. According to these authors, the cognitive complexity of
software depends on three factors: internal architectural control-flows, input data, and output data.
The CFS metric is defined as follows:
CFS= (Ni +No) *Wc
Where Ni is the number of inputs, No is the number of outputs, and Wc is the total cognitive
weight of all control-flow blocks in the program. The Wc assigned to different control-flow
structures is 1 for a sequence, 2 for a branch, 3 for a loop and 4 for a parallel structure.
CFS has been validated theoretically and with case studies [19]. It, however, excludes some
essential details of cognitive complexity such as information that is contained in operators and
5. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
33
operands hence cannot be used to measure the cognitive complexity aspect of UML statechart
diagrams. Also, it does not consider some unique features of the object-oriented paradigm such as
inheritance [23].
(ii) Modified Cognitive Complexity Measure (MCCM)
The modified cognitive complexity measure (MCCM) was a modification of cognitive functional
size (CFS) [20]. The author considered the number of operators and operands and the cognitive
weights due to the basic control structures. The complexity due to operators and operands is
defined:
SOO= Ni1 +Ni2
Where Ni1 is the total number of occurrences of operators, Ni2 is the total number of occurrences
of Operands and SOO is the total number of operators and operands.
The modified Cognitive Complexity Measure is computed by multiplying the SOO and Wc. The
formula is defined as follows:
MCCM = SOO *Wc
MCCM is reasonable from the cognitive informatics works and has not been used for statechart
diagrams measurement. The metric has been criticized for providing complexity values high in
number [11, 23].
(iii) Cognitive Program Complexity Measure (CPCM)
The Cognitive Program Complexity Measure (CPCM) was proposed in line with the rules of
cognitive informatics [21]. The metric depends on operands (total occurrences of inputs and
outputs) and cognitive weights (weights of the basic control structures). CPCM is defined as:
CPCM= Sio+ Wc.
Where Sio is the complexity due to the occurrences of input and output variables and Wc is the
cognitive weight of all basic control structures. CPCM depends on operands only unlike MCCM
which depends on both operators and operands.
CPCM has been criticized for being unclear and ambiguously interpreted [10, 23]. It has also
been criticized for not including complexity due to operators is not included in its formulation
[11, 24].
(iv) Cognitive Information Complexity Measure (CICM)
The proponents of Cognitive Information Complexity Measure (CICM) agree that there are two
factors that lead to complexity weighted information count of software and basic control
structures [15]. CICM is defined as:
CICM = WICS*Wc
Where WICS is the sum of the weighted information count of every line of code of a given
software and Wc is the cognitive weight of the basic control structure.
6. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
34
Cognitive Information Complexity Measure remains in the software domain and has not been
used for statechart diagrams measurement. The metric has been criticized for being difficult to
compute especially where the software contains many lines of code [23].
(v) New Cognitive Complexity of Program (NCCoP)
The New Cognitive Complexity of Program (NCCoP) measure is based on data objects, internal
behavior of the software, the operands, and the individual weight of BCSs of every line of code
[10]. The measure is defined as:
NCCoP = ∑ ∑ ∗ ( )
This means that NCCoP is a function of constant lines of codes, variables, and basic control
structure weight.
The New Cognitive Complexity of Program has been criticized for being unclear and ambiguous
in the process of counting the number of variables per line of code [10, 16].
(vi) Cognitive Complexity for Business Process Model (CCBP)
Cognitive complexity is a state of the mental burden that involves the ease or difficulty to
perceive a given task [16]. The cognitive complexity for business process model (CCBP) extends
the cognitive functional size measure (CFS) in the software engineering field to measure the
cognitive complexity of business process models. The cognitive complexity for business process
model (CCBP) metric is a function of the total input, output information flows and the total
cognitive weight (Wc) of the structured activities in a process model [24]. These information
flows are represented by input and output activities found within a BPEL process model. The
input and output information represents the coupling-related information between the process
model and its clients/partners while the weights are fixed values for the different control-flow
structures. The weights represent the psychological effort needed by a designer to comprehend a
control-flow block of the process model [24].
To calculate CCBP, a count of the input and output activities in the process model is obtained and
then multiplied by the total cognitive weight (Wc) for all structured activities within the model.
CCBP is defined as follows:
CCBP= (NOIA+NOOA)*Wc.
Where NOIA is the number of input activities, NOOA is the number of output activities and Wc
is the total cognitive weight of all control-flow blocks within the model.
Cognitive Complexity for Business Process Model has been validated both theoretically and
empirically. However, the metrics can only be applied to business processes hence cannot be used
on the measurement of the cognitive complexity of statechart diagrams.
5. EXISTING STATECHART DIAGRAM COMPLEXITY METRICS
Several researchers have attempted to study the complexity of the statechart diagram. This section
present metrics related to statechart diagrams.
(i) Size and Structural Complexity metrics for UML statechart diagrams
7. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
35
Genero et al. [8] proposed size and structural complexity metrics to measure the understandability
of statechart diagrams. These include the number of entry actions (NEntryA), number of exit
actions (NexitA) number of activities (NA), number of simple states (NSS), number of
composite states (NCS), number of events (NE), number of guards (NG), and number of
transitions (NT).
The NEntryA metric calculates the total number of entry actions in a state in the statechart
diagram while the NexitA metric calculates the total number of exit actions performed each time
a state is left. In addition, the NA metric counts the total number of activities in a statechart
diagram, the NSS metric counts the total number of simple states in a statechart diagram, the NCS
metric counts the total number of composite states in a statechart diagram, the NE metric counts
the total number of events in a statechart diagram, the NG metric counts the total number of guard
conditions in a statechart diagram while the NT metric counts the total number of transitions in a
statechart diagram.
Genero et al. [8] also modified the McCabe’s cyclomatic complexity metric by defining it as
|NSS|-|NT|+2.
The metrics have been validated both theoretically and empirically. However, the metrics do not
employ the cognitive weight aspect of software thus cannot be used to measure the cognitive
complexity of statechart diagrams.
(ii) Cohesion and Coupling Metrics for Statechart Diagrams
Dalijeet & Lavleen [4] proposed a set of metrics for statechart diagrams. These metrics are used
for analyzing the cohesion and coupling of statechart diagrams using slicing techniques.
To measure the cohesiveness of statechart diagrams, Dalijeet & Lavleen [4] proposed Average
Cohesiveness of States (ACOS) metric. This is a cohesion metric for a state diagram which is
computed by averaging cohesiveness values of all states. ACOS of a state diagram (SD) is
defined as follows:
ACOS (SD) = (SsS COS(s) / |S|
ACOS of a state diagram is defined to be between 0 and 1. ACOS is 1 if the cohesion of each
state in SD is 1. This means that all states are only one semantic. On the other hand, low ACOS
suggests that each state has low cohesion.
To measure the coupling of statechart diagrams, Dalijeet & Lavleen [4], proposed the average
number of similar states of states (ASSOS) metric. This is a coupling metric for a state diagram
defined as the average number of similar states of each state in the state diagram. ASSOS of a
state diagram (SD) can be formulated as follows:
ASSOS (SD) = (SsS |SS(s)|) / |S|
Where ASSOS (SD) can be more than or equal or 0.
The metrics are reasonable from the software perspective. However, the metrics do not employ
the cognitive weight perspective thus cannot be used to measure the cognitive complexity of
statechart diagrams.
6. CONCLUSIONS AND FUTURE WORK
Findings in this study indicate that statechart diagrams have undesirable features that may affect
their cognitive effectiveness. The study also indicates that cognitive complexity metrics for UML
8. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
36
statechart diagrams are lacking. Each of the discussed existing cognitive complexity metrics has
its limitations. The study shows that the proposed metrics related to statechart diagrams do not
employ the cognitive weight aspect of software hence cannot be used to compute the cognitive
complexity of UML statechart diagrams.
To address the lack of statechart complexity measures that employ the cognitive weight aspect,
future studies should focus on defining new weight-based complexity metrics for statechart
diagrams.
REFERENCES
[1] Anwer, S., & El-Attar, M. (2014). An evaluation of the statechart diagrams visual syntax. In 2014
International Conference on Information Science and Applications (ICISA) (pp. 1-4). IEEE.
[2] Briand, L. C., Bunse, C. & Daly, J. W. (2001). A controlled Experiment for Evaluating Quality
Guidelines on Maintainability of Object Oriented Design. IEEE Transactions on Software Eng.2 (6):
513–530.
[3] Cruz-Lemus, J. A., Genero, M., Manso, M. E., Morasca, S., & Piattini, M. (2009). Assessing the
understandability of UML statechart diagrams with composite states—A family of empirical
studies. Empirical Software Engineering, 14(6), 685-719.
[4] Daljeet, S., & Lavleen, K. (2012). Analyzing the Cohesion and Coupling of Statechart Diagrams using
Program Slicing Techniques. International Journal of Computer Science and Technology,3, 69-72.
[5] 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.
[6] Fahad A. (2012). State Based Static and Dynamic Formal Analysis of UML State Diagrams. Journal
of Software Engineering and Applications, 5, 483-491.
[7] 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.
[8] Genero, M., Miranda, D., & Piattini, M. (2003). Defining Metrics for UML Statechart Diagrams in a
Methodological way. In International Conference on Conceptual Modelling, (pp.118-128).
[9] IEEE Standard 1061 (1992). Standard for a Software Quality Metrics Methodology. Institute of
Electrical and Electronics Engineers. New York.
[10] 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.
[11] Jakhar, A. K., & Rajnish, K. (2015). Measurement of complexity and comprehension of a program
through a cognitive approach. International Journal of Engineering-Transactions B:
Applications, 28(11), 1579-1588.
[12] Jamal, M., & Zafar, N. A. (2016). Formalizing structural semantics of UML 2.5 activity diagram in Z
Notation. In 2016 International Conference on Open Source Systems & Technologies (ICOSST) (pp.
66-71). IEEE.
[13] Jama, O.M., (2009). A Case Study on Evaluating UML Modelling in Software Testing (Master’s
thesis, University of OSLO).
9. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
37
[14] Kumar, A., & Khalsa, S. K. (2012). Determine cohesion and coupling for class diagram through
slicing techniques. IJACE, 4(1), 19-24.
[15] Kushwaha, D. S. & Misra, A. K., (2006). Robustness Analysis of Cognitive Information Complexity
Measure using Weyuker Properties. ACM SIGSOFT Software Engineer Notes, 31(1), 1–6.
[16] Maheswaran, K., & Aloysius, A. (2017). An Analysis of Object Oriented Complexity
Metrics. International Journal of Scientific Research in Computer Science, Engineering and
Information Technology, 2, 768-775.
[17] Maylawati, D. S., Darmalaksana, W., & Ramdhani, M. A. (2018). Systematic design of expert system
using unified modelling language. In IOP Conference Series: Materials Science and
Engineering (Vol. 288, No. 1, p. 012047).
[18] Miles, R. & Hamilton, K. (2006). Learning UML 2.0. “O’Reilly Media, Inc.”.
[19] Misra, S. (2004). Evaluating cognitive complexity measure with Weyuker’s properties. 3rd IEEE
International Conference on Cognitive Informatics (ICCI’04): 103-108.
[20] Misra, S. (2006). Modified cognitive complexity measure.LNCS 4263: 1050-1059.
[21] Misra, S. (2007a). Cognitive program complexity measure. 6th IEEE International Conference on
Cognitive Informatics: 120-125.
[22] Misra, S. (2011). Cognitive complexity measures: An analysis. Modern Software Engineering
Concepts and Practices: Advanced Approaches, (pp. 263-279), IGI Global.
[23] Misra, S., Adewumi, A., Fernandez-Sanz, L., & Damasevicius, R. (2018). A Suite of Object Oriented
Cognitive Complexity Metrics. IEEE Access, 6, 8782–8796.
[24] Muketha, G.M. (2011). Size and complexity metrics as indicators of maintainability of business
process execution language process models (Doctoral dissertation, Universiti Putra Malaysia).
[25] OMER, O. S. D., & Sahraoui, A. E. (2017). From Requirements Engineering to UML using Natural
Language Processing–Survey Study.
[26] Rambaugh, J., Jacobsen, I. & Booch, G. (2005). The Unified Modelling Language Reference Manual,
second Edition. Pearson Higher Education.
[27] Siau, K., & Loo, P.P. (2006). Identifying difficulties in learning UML. Information Systems
Management, 23(3), 43-51.
[28] Sikka, P., & Kaur, K. (2016). Mingling of Program Slicing to Designing Phase. Indian Journal of
Science and Technology, 9(44).
[29] UML, O. (2012a). Information technology-Object Management Group Unified Modelling Language
(OMG UML), Infrastructure.
[30] 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.
[31] Wang, Y. (2004). On the Cognitive Informatics Foundations of Software Engineering. In Proceedings
of the Third IEEE International Conference on Cognitive Informatics, pp. 22-31.
[32] Zafar, N. A. (2013). Model analysis of equivalence classes in UML events relations. Journal of
Software Engineering and Applications, 6(12), 653.
10. International Journal of Software Engineering & Applications (IJSEA), Vol.10, No.4, July 2019
38
AUTHORS
Ann Wambui King’ori is an ICT Assistant 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. She is
currently pursuing her MSc. 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 an Associate Professor and Dean of the School
of Computing and Information Technology, 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
Ph.D. 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.