What is UML and its historical background?
Use the module materials and your own research to write a magazine article (such as you might find in a professional publication such as Computing, Computer Weekly or BCS’s IT Now) that critically discusses the issues around one of the following titles:
1.Discuss why it may be seen as an advantage to use business processes as a way to identify analysis classes and thus also the software classes in an object-oriented system. Identify and compare other ways of identifying software classes.
2.Examine the case for the waterfall life cycle. Does the waterfall life cycle still play a useful role in modern systems development, and if so, at which stages?
3.If we consider UML as 'just a modelling language' then it should not matter which methodology or life-cycle we use it within. But is this true? Discuss whether or not UML should be used only when the project life-cycle is iterative and incremental.
4.Is the use of a software development methodology necessary only for inexperienced developers? Should the experienced staff also follow a methodology? Discuss.
5.Are Agile Methods now no more than a fashion that has become out-of-date?
6.What is the best way to identify software classes from use cases?
7.In what circumstances would it not be appropriate to follow an iterative and incremental path? Why?
8.Explain what it means to say that Object Oriented modelling is ‘seamless’ throughout the life-cycle? Discuss whether this claim is justified or exaggerated.
9.The reuse of software and models is said to help make systems development more economical. Which aspects of Object Oriented development actually achieve this benefit in practice?
10.Patterns were first applied to OO program design, but over time patterns have been identified for analysis, project management, systems architecture and more. What are UML Profiles, and what is their value to the modelling process?
11.Agile Methods such as XP emphasise code over documentation. A potential criticism is that those who have to maintain such systems appear to have very little information to tell them what it does and why it was designed that way. Does this make XP a good choice of methodology?
12.Would it make sense to have a life-cycle that was iterative but not incremental? Or one that was incremental but not iterative? Why is the RUP life-cycle both?
13.Just how important is UML to the success of OO software projects today? Discuss.
14.Does the spread of mobile and distributed computer systems present new challenges for systems analysts or designers? Critically analyse and discuss.
15.Agile Methods like DSDM and SCRUM appear to take as much control as they can away from senior managers and put it in the hands of the project team. Is this is really such a good idea?
16.In an iterative life-cycle, the activities of documenting requirements, analysing requirements, design, implementation and so on are all seen as ‘disciplines’ or activities that run through all the phases of the project life-cycle. Explain and assess the advantages of organising a project this way.
17.What is Model Driven Architecture™? Does it deliver any real benefits to the clients of systems development organisations? Explain.
18.Use Cases are not inherently object-oriented. Why then is use case modelling so important in the OO approach? Discuss.
19.Object-oriented development methods generally follow an iterative life-cycle – is this really necessary, or could you have OO without iteration?
20.“New systems development increasingly relies on software components developed outside the client organisation.” First, is this statement true, and second, what does it imply for the activities of analysis and design?
21.UML does not include any advice or guidance about the sequence of activities within the life-cycle - that is the concern of methodology. But why should the notation for analysis and design be completely independent of the methodology? Explore this aspect of systems development.
What is UML and its historical background?
Unified modelling language or the UML is a modelling language extensively used in the context of software design and software development project. It is used for proper visualization, documentation and constructions of the components considered for software design and development (Abolfazli et al., 2014). However it should be noted here UML is just a modelling language, it is not any methodology. However historically it was developed as a part of Unified method designed for software development. The aim was not designing a modelling language when Rational Corp first released the preliminary version of the language, even the first documentation was named as “Unified Method 0.8.
However it should be consider here that UML is just a notation or language for describing the component of the design. There is a huge difference between design notation and actual design method (Jia, Guo & Barnes, 2017).
Methodology defines how input will be feed on the system and how output will be taken from the system. Apart from this basic and fundamental requirement a methodology also provides a detailed description like how input should be processed to obtain the desired output from the system (Kennedy, 2014). Hence one methodology defined for one system might not work with another system design or methodology. It is not possible to integrate two different methodology for designing of the same system with same set of specifications.
Hence if UML was a design methodology it would have mattered in which methodology UML is being implemented. As UML is just a modelling language it does not matter in which methodology it is being applied, it is independent of methodology and possible to implement for any design methodology preferred for the system development (Laudon & Laudon, 2015). For example UML is applicable for both Unified process as well as waterfall methodology.
Another important thing to note here is that not all methodology follows the same characteristics in terms of execution of project lifecycles. In waterfall method, project life cycles are executed in a single instance in linear sequence (Laudon & Laudon, 2016). However in unified process the lifecycle follows iterative approach. Hence it is not possible to two apply one method in execution of lifecycles of another method, because the execution approach in two methods is completely defied. However UML is not a design methodology, it is just a modelling language. Hence it does not matter in which lifecycle the modelling is applied (Marchewka, 2014). However some design modifications is still needed when different methods are being considered to make the modelling appropriate for different execution phase of the lifecycle.
Hence it can be concluded that as UML is nothing more than a modelling language, it does not matter for which methodology or life-cycle it is considered.
In the previous section it is already specified that UML is a modelling language, not a design method (Motahari-Nezhad, Stephenson & Singhal 2015). Hence it is process independent and it does not necessarily require the project life-cycle to be iterative and incremental. It is equally applicable for both the waterfall model as well as Unified process. In waterfall model activities associated with the lifecycle is performed in a sequential approach in s single instance without iteration, while Unified process follows iterative life-cycle and the associated activities in each lifecycle is performed in iterations (O'Brien & Marakas 2017). However UML is applicable for both the process although two process does not follow the same iterative and incremental project life cycle. However the approach for both the process differs which is discussed in details in the following section including the difference in terms of choice and executions for both the process.
UML as a Design Methodology vs Modelling Language
Due to the characteristics of the waterfall model, the requirements for the project is first captured and then analysed and after the analysis is complete, all the activities like system design, implementation, system testing and system deployment is done in linear sequence. In this context UML is an excellent choice as let the project team to communicate the important and necessary information such as system description and requirement is easily shared across the team.
However there is one constraint for considering the UML in the waterfall model that does not consider the iterative and interactive approach. As activities related to the project lifecycle need to be completed in one linear sequence without iteration, there is very little scope for modification if any issue is identified during the execution of the activities within the life cycle. Hence the UML models have to be completed at each and every step which is often quite hard to measure or achieve as UML is an improved means of communication as compared with the natural language, still it is not as effective as programming languages (O'Brien & Marakas 2017). Hence when UML model is consider within the waterfall model, teams often spend more time for achieving perfection in UML diagram, rather than focusing on the actual system which is a major drawback of considering UML in the context of waterfall model. The team members even finds it difficult to evaluate whether UML models are complete or not. Hence modelling of system with UML is not that effective.
Unified process considers iterative and incremental approach for executing the activities related to the project life-cycle. In the iterative and incremental approach, it does not require to work with same requirements with each iterations, what is exactly is done is that the requirements are modified with new informations in successive iterations (Stefanou, Sarmaniotis & Stafyla 2018). UML is appropriate for iterative and incremental approach of Unified approach. As the project is incremented in small iterations, it is possible to modify the requirements with newer information and hence there is no need to compete the modelling at each and every step which is the case in the waterfall model. Hence there is no need to measure the completeness of the UML models as required in waterfall model.
However it should be noted that the sequence of iteration is not often ordered and chaotic in nature. It is because iterative approach is nothing more than a concept and UML is just a modelling language (Park & Kim 2015). Hence in order to properly apply the iterative approach with the UML modelling language, proper method such as Unified process is needed.
It is not that UML is only applicable for iterative and incremental project life-cycle, it is more effective than the methods that does not considers the iterative approach such as waterfall model. However UML is applicable for both type of projects that consider iterative and incremental approach and projects that do not consider it. Hence it is concluded that UML is independent of the type and characteristics associated with the life-cycle of projects considered for development of system.
Abolfazli, S., Sanaei, Z., Ahmed, E., Gani, A., & Buyya, R. (2014). The introduction of UML for non-iterative project. IEEE Communications Surveys & Tutorials, 16(1), 337-368.
Jia, Q., Guo, Y., & Barnes, S. J. (2017). Enterprise 2.0 post-adoption: Extending the information system continuance model based on the technology-Organization-environment framework. Computers in Human Behavior, 67, 95-105.
Kennedy, A. (2014). UML modelling: Opportunities and challenges in system development
Laudon, K. C., & Laudon, J. P. (2015). Iterative and incremental project modelling: an introduction of UML modelling (Vol. 8). Prentice Hall.
Laudon, K. C., & Laudon, J. P. (2016). Management information system. Pearson Education India.
Marchewka, J. T. (2014). Information technology project management. John Wiley & Sons.
Motahari-Nezhad, H. R., Stephenson, B., & Singhal, S. (2015). Implementation of UML modelling in project design: Opportunities and challenges. IEEE Internet Computing, 10(4), 1-17.
O'Brien, J. A., & Marakas, G. M. (2017). Introduction to information systems (Vol. 13). New York City, USA: McGraw-Hill/Irwin.
Park, C. H., & Kim, Y. G. (2015). A framework for implementing UML in iterative project: linking marketing with information strategy. Business Process Management Journal, 9(5), 652-671.
Stefanou, C. J., Sarmaniotis, C., & Stafyla, A. (2018). Requirement for UML modelling: an empirical research. Business Process Management Journal, 9(5), 617-634.
To export a reference to this article please select a referencing stye below:
My Assignment Help. (2021). The Role Of UML In Software Development. Retrieved from https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/opportunities-and-challenges-in-system.html.
"The Role Of UML In Software Development." My Assignment Help, 2021, https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/opportunities-and-challenges-in-system.html.
My Assignment Help (2021) The Role Of UML In Software Development [Online]. Available from: https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/opportunities-and-challenges-in-system.html
[Accessed 23 February 2024].
My Assignment Help. 'The Role Of UML In Software Development' (My Assignment Help, 2021) <https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/opportunities-and-challenges-in-system.html> accessed 23 February 2024.
My Assignment Help. The Role Of UML In Software Development [Internet]. My Assignment Help. 2021 [cited 23 February 2024]. Available from: https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/opportunities-and-challenges-in-system.html.