Article Preview
TopIntroduction
Unified Modelling Language (UML) is a modelling language that is used in Software Engineering for designing a system before the actual programming commences. The UML is normally used to express complex notions in an easy way to comprehend (O'Keefe, 2010). Software engineering is about expressing notions to solve the research problem. These notions are expressed using UML modelling which is done in graphical form. The UML modelling will ensure that the organizational business processes and the business rules are not violated, but at a high level of abstraction. UML is managed by the Object Management Group (OMG). The main purpose of UML is to standardize the software design processes and in 2005, the International Organization for Standardization (ISO) published UML as an approved ISO standard (UML, 2005). System modelling as defined by UML (2005) is the design of software applications to meet the user needs before coding starts. UML is a general-purpose modelling language used in software engineering; the UML consist of diagrams which are used during system analysis, design and implementation. However, most software projects fail to meet the user needs and at times they are delivered very late (Khatibi and Jawawi, 2011), in order to reduce these risks, modelling is done to visualize the system design and cross check the system design against the requirements stated by the users before the actual coding starts.
There is an English language idiom which states that a picture is worth a thousand words, this is what UML does; translating the project problem into a series of diagrams from the system analysis until the system implementation. System modelling is used in sciences to provide some level of abstractions in order to understand the system being developed (Gomaa, 2011). The research problem is on software modelling using UML in software engineering students in their final year projects. Joy (2009) observed that there is a huge gap with what the Supervisors expect from the students doing software engineering using UML and the actual diagrams presented by the students. Students also expect more from their supervisors in software modelling. This gap needs to be addressed by finding out from the students themselves what the issues at stake are for them not coming up with proper UML diagrams. The purpose of the study is to critically explore the perceptions of software engineering students doing their final year projects in software modelling using UML. The study will be informed by the expectations of students in software modelling using UML.
Undergraduate final year computing projects have received much attention in the academic arena on students’ experiences (Lynch et al., 2004; Joy, 2009). The experiences of the students are very critical to be taken on board so that the curricular may be aligned in accordance with the student’s needs. The final year project areas are very diverse, and the student will choose the project area in line with their degree specialization. Software engineering project area is the most chosen from our observations with the final year computing students. However, most students have challenges visualizing the ultimate design using UML. The software modelling forms the initial stages in software development before the actual coding of the system commences. A poor software modelling will make the actual implementation of the system difficult. To better articulate the system being developed, multiple views will be used such as the requirements models, static and dynamic models so that a holistic view of the system can be seen (Gomaa and Saleh, 2006; Gomaa, 2011).