MODEL FOR EVALUATING THE ADAPTATION OF UNIFIED MODELING LANGUAGE AND UNIFIED PROCESS FOR SOFTWARE DEVELOPMENT

Amount: ₦5,000.00 |

Format: Ms Word |

1-5 chapters |




ABSTRACT

Modeling software visually is one of the best practices in software engineering. UML has emerged as a bonafide industry standard for software modeling since 1990s. Till today, UML is still the standard notation for developers across industry. The question is, since the evolution of UML as industry standard modeling tool, how far is UML actually being learned and adopted by IT students and professionals in software development. Till the time of this research, not much work has been done on how UML is being used in practice. A lot of studies have been carried out on different aspects of UML, but very few work has been done on UML adoption and use. The motivation of this work is to fill a gap toward this direction. The work employed survey research methodology with object oriented analysis and designed methodology. Visual Studio 2012 is used to implement the designs. The result of the survey shows that use case, class and sequence diagrams are the most widely used UML diagrams hence its inclusion as part of the evaluation criteria. UML evaluation model was also created. From the result of an evaluation with questions based on five evaluation criteria, the model plots a graph of UML content against the level of developer’s knowledge. The main contribution of the work is the creation of DUKEM, a UML Evaluation Model that plotted a graph of UML content against level of developer’s knowledge.

CHAPTER ONE

INTRODUCTION

  1. Background to the Study

At the core of every mature discipline, from the arts to the sciences and engineering is a common language and common approaches that enable practitioners to collaborate and the discipline to evolve (Alhir, 2010). Software engineering discipline is not left out. Modeling software visually is one of the six best practices that has become a paradigm in software engineering. A model is a complete description of a system from a particular perspective. For Visual Modeling, especially with the current Object oriented approach, Unified Modeling Language (UML) is one tool that can be used to make this task more feasible.

The early part of the 1990s saw a greatly heightened interest in the object paradigm and related technologies. New object-based programming languages, such as SmallTalk, Eiffel, C++, and Java, were devised and adopted. These were accompanied by a prodigious and confusing glut of object-oriented (OO) software design methods and modeling notations. Thus, in his very thorough overview of OO analysis and design methods (covering more than 800  pages),  Graham  (2000)  lists  more  than  50  â€•seminal‖  methods.  Given  that  the  object paradigm consists of relatively few fundamental concepts, including encapsulation, inheritance, and polymorphism, there was clearly heavy overlap and conceptual alignment across these methods—much of which was obscured by notational and other differences of no consequence. This caused great confusion and needless market fragmentation, which, in turn, impeded the adoption of the useful new paradigm. Software developers had to make difficult and binding choices between mutually incompatible languages, tools, methods, and vendors (Selic, 2005).

For this reason, when Rational Software proposed the Unified Modeling Language (UML) initiative, led by Grady Booch, Ivar Jacobson, and Jim Rumbaugh, the reaction was immediate and positive. Rational did not intend to propose anything new, but—through collaboration among top industry thought leaders—consolidated the best features of the various OO approaches into one vendor-independent modeling language and notation (Selic, 2005). In the mid-1990s the Object Management Group (OMG) acted as forum for agreement between the thought-leaders in the nascent software modeling field. The time was exactly right for the emergence of a standard. Researchers and early-adopters had accumulated a

great deal of modeling experience, but were being held back by the lack of a widely-used notation. UML quickly became the first de facto standard and, following its Object Management Group adoption in 1996, as a bona-fide industry standard (Object Management Group, 2003; Object Management Group, 2004; Rumbaugh, Jacobson, & Booch, 2005). Once UML eliminated this major obstacle to widespread use of visual modeling, its use grew spectacularly.

Watson (2010) observed that the history of visual modeling in the software industry divides cleanly into two eras – “Before UML” and “After UML”. He noted that before the first Unified Modeling Language (UML) standards were published in the mid-1990s, visual software modeling was plagued by the incompatibility of different notations created by different modeling gurus. The absence of a standardized notation deterred potential users, and as an inevitable result the modeling tools market was tiny and fragmented. The few tools that were available suffered from a lack of investment; many only allowed sketching of software designs, lacking facilities for checking the diagrams‘ internal consistency or automatically processing the information they held. These early visual diagrams were useful as design aids or documentation, but were rarely integrated into the software development lifecycle.

The UML standard changed all that, and triggered the dramatic growth in visual modeling that has led to its widespread use not only in software design, but also in non-software disciplines such as systems engineering, and in the business domain. As UML use has grown, continuous feedback from the user community and investment by tool vendors has helped the standard evolve and mature. The original UML 1 standard of 1997 was backed by twenty one OMG member companies; feedback from dozens more submitted via OMG‘s issue-reporting system helped refine it, flushing out remaining inconsistencies. In 2005 OMG published UML 2, a major revision largely based on the same familiar diagram notations, but using a more rigorous underlying modeling infrastructure specified using OMG’s Meta-Object Framework (MOF). While some designers still use UML merely for sketching designs to share with colleagues, UML 2’s MOF foundation means that today’s UML diagram is more than just a pretty picture. A MOF-aware modeling tool can capture the meaning of diagram elements and their relationships in machine-readable form, and use this to reason about the design, perform consistency checks, and even automatically generate parts of the application code. Creating, storing and transforming machine-readable models in this way puts modeling

at the heart of the software production process, and forms the basis of OMG‘s Model Driven Architecture (MDA).

Selic (2005) noted that the language has become an essential part of the Computer Science and Engineering curricula in universities throughout the world and in various professional training programs stressing that academic and other researchers use it as a convenient lingua franca. Watson (2010) also noted that UML has become the lingua franca of software development, allowing engineers to exchange their designs freely. He observed that nowhere is this better illustrated than in the software for the new James Webb space telescope, scheduled for launch in 2013. To aid communication and help meet stringent reliability and performance goals, all the software being built for the telescope by NASA, the Canadian and European space agencies and all their subcontractors is being designed using UML. Organizations across the world are cooperating on guidance software, a command data handling system and software for the science module housing four different light-receiving instruments. All will be integrated in the telescope itself, destined for earth orbit at an altitude of 940,000 miles (four times the distance to the moon).

UML is supported by every major commercial IT vendor, as well as a flourishing selection of Open Source tools. UML books & training are widely available, and the OMG Certified UML Professional (OCUP) and OMG-Certified Real-time and Embedded Specialist (OCRES) certification programmes have allowed tens of thousands of engineers and architects to establish their UML credentials (Watson, 2010). UML has changed the software world.

It is also interesting to note that as at 2004 the British Computer Society Professional Examination on Object Oriented Programming using their New Syllabus has questions that require a good knowledge of UML. Question one to three of the six questions asked show that it was purely based on modeling object oriented problems using UML and parts of the remaining questions can still be answered well if the student have a good knowledge of UML. So anybody who wants to sit for the Object Oriented Programming examination without a good knowledge of the Unified Modeling Language is bound to fail the examination (British Computer Society, 2004). The Unified Software Development Process or Unified Process (UP) for short is an emerging popular software development process framework. It divides project life cycle into four phases: Inception, Elaboration, Construction and Transition. (Alhir, 2010).

They identified the major characteristic of the Unified Process as:

  1. Iterative and Incremental: The unified process is an iterative and incremental development process. The Elaboration, Construction and Transition phases are divided into a series of time boxed iterations. (The Inception phase may also be divided into iterations for a large project.) Each iteration results in an increment, which is a release of the system that contains added or improved functionality compared with the previous release.
    1. Use Case Driven: In the Unified Process, use cases (which can be modeled using UML use case diagrams) are used to capture the functional requirements and to define the contents of the iterations after which each iteration takes a set of use cases or scenarios from requirements all the way through implementation, test and deployment.Architecture Centric: The Unified Process insists that architecture sit at the heart of the project team’s efforts to shape the system and the UML is the major tool used for this purpose.
    1. Risk Focused: The Unified Process requires the project team to focus on addressing the most critical risks early in the project life cycle. The deliverables of each iteration, especially in the Elaboration phase, must be selected in order to ensure that the greatest risks are addressed first.

The Unified Process is simply a software development process, that is based on the enlargement and refinement of a system through multiple iterations, with cyclic feedback and adaptation (Osis & Donins, 2017). The system is developed incrementally over time, iteration by iteration. The UP is broadly applicable to different types of software systems, including small-scale and large-scale projects having various degrees of managerial and technical complexity, across different application domains and organizational cultures (Alhir, 2010). From Hastie (2010) discussion on the various flavors of the Unified Process, the various refinements and variations of the Unified Process that are either a simplified subsets or expanded superset of the Unified Process are: Rational Unified Process, Agile Unified Process, Essential Unified Process (EssUP), OpenUP/Basic, The Unified Process for Education (UPEDU), Enterprise Unified Process, IBM Tivoli Unified Process (ITUP) and Oracle Unified Method.

As we have seen, the Unified Process employs the use of Unified modeling Language (UML) extensively in almost all phases of its software development process.

Here in Nigeria, it has not yet been clear the extent this Unified Modeling Language is being adopted by IT professionals for software modeling. Has it become an essential part of the computer science and engineering curricula as noted by Selic (2005)? Do we have over 70% of software development organizations using it as Recker (2008) observed. It is against this background that this researcher work of creating a model for evaluating the adaptation of The Unified Modeling Language and the Unified Process by Software Developers and indeed all IT professionals in Nigeria was conceived.

1.2  Statement of the Problem

Modeling software visually is one of the six best practices for software development. Unified Modeling Language (UML) has become a standard in software modeling. UML has also become an essential part of the Computer Science and Engineering curricula in universities throughout the world and in various professional training programs. In fact, academics and other researchers use it as a convenient lingua franca (Selic, 2005). This has also been proved by many of the literatures reviewed and its inclusion in object oriented professional examination questions.

The question is, how far is UML being adopted by IT students and professionals in software development. Till the time of this research, not much work has been done on UML Adoption.

A lot of studies have been carried out on different aspects of UML but very few work has been done on UML adoption and use. Budgen, Burn, Brereton, Kitchenham and Pretorius (2011) in their study on empirical evidence of the UML concluded that while there are many studies on different aspects of UML, there are relatively few for which the UML itself is the object of study.

Cabot (2013) in his paper, UML Adoption in practice: has anything changed in the last decade? noted that the results of ICSE 2013 paper on UML in practice, is not different from those reported in 2006 by Dobing and Parson on How UML is Used. This should not be the case and shows that more study is required to be conducted on UML adoption and to understand factors that may be slowing down its adoption.

1.3  Aim and Objectives of the Study

Aim: The aim of this work is to create an Evaluation Model that evaluates the level of adaptation to UML by software developers through their knowledge of UML content.

Objectives: The objectives of the study include:

  1. Conduct a survey to capture UML diagrams usage in the industry and academy by IT professionals.
    1. Model questions that will adequately evaluate software developer‘s level of knowledge and adaptation to the use of UML in software modeling based on the evaluation criteria determined from the survey.
    1. Create developers knowledge evaluation model that plots the graph of UML content against the level of Knowledge.

1.4  Significance of the Study

Cernosek and Naiburg (2004) noted that software industry has adopted the Unified Modeling Language as its standard means for representing software models and related artifacts. Software architects, designers and developers use UML for specifying, visualizing, constructing and documenting all aspects of a software system and UML is supported by every major commercial IT vendor, as well as a flourishing selection of Open Source tools. Also, the OMG Certified UML Professional (OCUPTM) and OMG-Certified Real-time and Embedded Specialist (OCRESTM) certification programmes have allowed tens of thousands

of engineers and architects to establish their UML credentials. UML has changed the software world.

Moreover, UML usage is an integral part of Object oriented Programming as a look at the British Computer Society professional examination on Object Oriented Programming (Version 2: New Syllabus) taken on 21st April 2004 between 2.30p.m and 4.30p.m reveals. The students were instructed to answer FOUR questions out of SIX. Of the six questions, three and half were fully UML based which means that anybody without a full knowledge of UML will not pass that examination. As UML use has grown, continuous feedback from the user community and investment by tool vendors has helped the standard evolve and mature.

It becomes therefore very necessary that we know the Nigerian situation. The major significance of the study is fivefold:

  1. The evaluation model will help individual cooperate organizations in evaluating their knowledge of UML.
    1. To ensure that software developers in Nigeria are part of this evolution in software modeling by adopting the industry standard paradigm.
    1. To preserve our legacy software by promoting software re-engineering
    1. Those willing to learn UML will know the modelling notations mostly used.
    1. The findings will be used to provide more feedback from user community to stakeholders.
    1. The findings will be valuable for policy making such as integrating the teaching of UML in Computer Science curriculum since it has become a standard to better equip our Computer Science and Computer Engineering tomorrow professionals.

1.5  Scope of the Study

This research will focus more on Unified modeling Language which has become a standard and the emphasis will be on commonly used UML Diagrams. It will also look briefly at the Unified process which is a software development process that works well with UML.

1.6  Motivation for the Study

From literature, it is evident that while there are many studies on different aspects of the UML, there are relatively few for which the UML itself is the object of study (Budgen, Burn, Brereton, Kitchenham and Pretorius, 2011). Also, as Cabot (2013) observed, not much has

changed on UML Adoption in practice as the results of ICSE 2013 paper on UML in practice, is not different from those reported in 2006 by Dobing and Parson on How UML is Used. This should not be the case and shows that more study is required to be conducted on UML adoption and to understand factors that may be slowing down its adoption. The motivation for this study is to contribute towards filling this gap.

1.7  Definition of Terms

  1. Semantic: The study of meaning in a Language. The Language this time is Unified Modeling Language.
  2. Modeling: Modeling is an act of making models. A model serves as an abstraction—an approximate representation of the real item that is being built. Developers need a better understanding of what they are building, and modeling offers an effective way to do that.
  3. Unified Process: Unified Process is a popular iterative and incremental software development process framework.
  4. Unified Modeling Language (UML): UML is a software modeling language that has become a de facto standard.
  • Standard: Standard in relation to computers is a set of detailed technical guidelines used as a means of establishing uniformity in an area of hardware or software development.

Object Management Group (OMG): is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling (programs, systems and business processes) and model-based standards. Founded in 1989 by eleven leading computer companies, today, over 800 companies from both the computer industry and software-using companies from other industries are members of OMG. Since 2000 the OMG’s International Headquarters are located in Needham, Massachusetts.



This material content is developed to serve as a GUIDE for students to conduct academic research


MODEL FOR EVALUATING THE ADAPTATION OF UNIFIED MODELING LANGUAGE AND UNIFIED PROCESS FOR SOFTWARE DEVELOPMENT

NOT THE TOPIC YOU ARE LOOKING FOR?



A1Project Hub Support Team Are Always (24/7) Online To Help You With Your Project

Chat Us on WhatsApp » 09063590000

DO YOU NEED CLARIFICATION? CALL OUR HELP DESK:

  09063590000 (Country Code: +234)
 
YOU CAN REACH OUR SUPPORT TEAM VIA MAIL: [email protected]


Related Project Topics :

Choose Project Department