Unit 8
Collaborative discussion post
Referring to the article by Baskara et al (2024) consider the strengths and weaknesses of designing a metamodel to support object-oriented design of the IOT. Design a smart model equivalent to Figure 1 or Figure 2 which would instead support operation of a humanoid robot.
Application of models in object-oriented development
The object-oriented approach in software development revolves around modeling real-world or fictitious objects with their unique characteristics and behaviors. However, it’s not possible nor desirable to implement a comprehensive model of a real-world object, and developers must focus on the relevant properties of an object instead. Moreover, for fictitious entities, these properties do only exist in the modeled system’s context and cannot be derived from an existing object.
Isoda (2001) proposes “pseudo real-world modeling”: a framework for designing object-oriented systems where only the business-relevant properties and operations are implemented in a software solution. As a result, an approximate model is created that can be used for further planning or development. In their work, Baskara et al. (2024) use a few UML-like models to visualize the operation of the designed system: the activity, class, and use case diagrams help analyze and better understand the different aspects of the solution’s operation, thus supporting the development process.
As an example, let us create a use case diagram for a restaurant system that uses waiter robots to serve customers. The first step is to identify the actors: guests, kitchen, and robots. Then the different use cases like accepting an order or serving food and their dependencies are identified as well as their relation to the actors. The result is visible on the diagram below.
Figure 1. Use case diagram for an automated restaurant system
This model allows to understand what operations each of the actors must support in the developed piece of software, as well as in which states the system might occur and how those are related to each other.
However, modeling might present an additional challenge for the design process, as different frameworks such as UML are not widely adopted in industry due to the challenges they present, such as added philosophy or the complexity of the resulting diagrams (Petre, 2013). An alternative to adopting a modeling framework could be to employ the parts of it that are easily understood by the different participants of the software development process and opt for more user-friendly tools that still offer the similar functionality, such as Miro or Google Drawings (Google, no date; Miro, no date).
References
Baskara, W.P. et al. (2024) ‘T-UFF (Tracker stuff): application development for warehouse tracking’, IOP Conference Series: Earth and Environmental Science, 1294(1), p. 012025. Available at: https://doi.org/10.1088/1755-1315/1294/1/012025.
Google (no date) Learn how to use drawings & markups - Computer - Google Docs Editors Help. Available at: https://support.google.com/docs/answer/179740?hl=en&co=GENIE.Platform%3DDesktop (Accessed: 3 April 2025).
Isoda, S. (2001) ‘Object-oriented real-world modeling revisited’, Journal of Systems and Software, 59(2), pp. 153–162. Available at: https://doi.org/10.1016/S0164-1212(01)00059-0.
Miro (no date) Miro Intelligent Canvas. Available at: https://miro.com/intelligent-canvas/ (Accessed: 3 April 2025).
Petre, M. (2013) ‘UML in practice’, in 2013 35th International Conference on Software Engineering (ICSE). 2013 35th International Conference on Software Engineering (ICSE), pp. 722–731. Available at: https://doi.org/10.1109/ICSE.2013.6606618.