Object Oriented Development Methods
You will contribute to an online magazine for this module. Each of you will write an article on a topic that is loosely related to the lecture material. The list of topics is in a wiki on blackboard, and only two students are permitted to write on each title. Your articles will be published on Blackboard using the Module journal. Your peers will give you feedback on your first draft. Use this to refine your article for final publication. Together with your final revised article, a brief analysis report of changes you made and how they relate to the feedback you received. Hopefully, this will be a worthwhile learning experience for everyone. The deliverables are these (for deadlines see above):-
- Draft article – TurnitinUK + Blackboard Journal. Your whole article must be your own original work, except for properly referenced quotations.
- Feedback on draft articles of at least 8 other students.
- Final article, revised following your evaluation of feedback from other students – hard copy + TurnitinUK + Journal.
- Brief report that analyses how and why your article changed – or why it didn’t – as a result of other students’ feedback ).
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.
Topic: Object-oriented development methods generally follow an iterative life-cycle – is this really necessary, or could you have OO without iteration?
The purpose of this article is to discuss the object oriented development methods and the process of operation. The object oriented methods generally follow an iterative life cycle while implementation of the project. The object oriented method is a technical approach for analysis and designing of software application system. Object oriented programming make use of visual modelling for designing the software application. Object oriented development method further incorporates a well defined requirement analysis process for better understand of the requirements of the system that is to be developed (Dennis, Wixom and Tegarden 2015). Therefore, it can be said that object oriented development process is a practical method of development of a software system (Lee 2013). This development method mainly focuses on the objects of a problem throughout the development process. Object oriented development method mostly follow an iterative life cycle. The article will analyse whether iteration is really necessary in object oriented development method.
The object oriented development method combines both data and processes into single entities called objects. The objects generally correspond to the real things a system under development has to deal with, such as customers, suppliers, contracts and invoices. Therefore, the object oriented models are able to thoroughly represent complex relationship for representation of data and data processing systems (Joo and Woo 2014). The object oriented approach makes system elements more modular thereby improving the system quality and efficiency of the systems analysis and design.
Object oriented system development method involves defining the context of a system and therefore, it follows an iterative approach of system development. The iterative life cycle process of software development can be related to the process of calculating a desired result by repeated cycle of operations (Avouris and Page 2013). With the increase in the number of iterations, a project should come closer to a desired result. Since the object oriented system development method follows an iterative approach, the probability of success in a project is higher. Object oriented system design method mainly involves definition of the context of the system along with the definition of system architecture. The context of a system that is to be developed has both static and a dynamic part (Kopec 2014.). In OO development method, the static context of a system is generally designed using a block diagram while the dynamic part is modelled by making use of use case diagrams (Marron and Alonso 2014). On the other hand, the system architecture part is designed on basis of the context of a system in accordance to the principles and the architectural design of the system.
All the phases in object oriented development methods are implemented in a planned manner and thus following an iterative process is quite significant for object oriented programming (Fritzson 2014). However, it is necessary to evaluate whether it is absolutely necessary for object oriented development method to follow an iterative life cycle.
Iterative Life Cycle in Software Development
Object oriented development methods generally follow an iterative life cycle model. Iterative development process in software development can be described as a process by which development of a large application is divided into a number of smaller projects. The object oriented software life cycle mainly consists of three stages which are analysis, design and implementation. Following an iterative approach of project implementation is necessary in object oriented software development methodology. It will be considerably difficult to have OO without iteration mainly because it might decrease the efficiency of the process.
The most basic mechanism that is associated with an object oriented approach is encapsulation, inheritance. In object oriented approach, the distinction between analysis and design is one of the most significant approaches of project implementation. Thus, it will become difficult to implement the object oriented approach of software development without iteration.
The use of object oriented software development method without iteration will increase the complexity of the software projects. The object oriented model allows autonomous development of the different software components by following a unifying framework (Dennis, Wixom and Tegarden 2015). A planned approach of project implementation could be followed in OO mainly because it follows an iterative project approach. Thus, it becomes difficult to implement OO without iteration.
One of the major aspects of object oriented development method is that it facilitates and encourages that re use of software components (Goel and Bhatia 2013). With this methodology, a software system can be developed by re using the components of other similar projects or the same project. If, the system implementation method does not follow an iterative approach, re-use of software components would not be possible. Thus, the use of object oriented model in software development or in other projects result in higher productivity, lower maintenance cost and high productivity. Therefore, it can be said that the main objective of a object oriented model is assembling an application by construction of new business solution from the existing solution.
Improvement in productivity and delivery of high quality system is considered to the most significant benefits of making use of an object oriented process. Re using the components of a project would not be possible if iterative approach is not followed (Dennis, Wixom and Tegarden 2015). Thus, implementation of object oriented methodology without iteration would not be as effective as it is with iteration. The iterative approach of object oriented process helps in management of complexity by breaking down the complex solutions in a number of different components (Dennis, Wixom and Tegarden 2015). This could not be achieved without iteration. Object oriented method is a system development approach is difficult to implement without iteration. In Object oriented method, successful completion of each sub tasks of a particular project helps in completion of the entire project as a whole. Thus, it becomes really necessary for OO to have iterations in the project life cycle.
Conclusion
The article discusses the concept of object oriented development methods and need fo this method to follow an iterative approach of project implementation. In object oriented method, a planned approach of project implementation is followed and the entire project is sub divided into a number of smaller subtasks. The iterative approach of project implementation helps in re using the components associated with the implementation of project thereby reducing the cost of production. It is essential for an object oriented programming to follow an iterative approach in order to implement the project according to the plan. It is quite difficult to implement OO projects without iterations mainly because it increases the complexities of the project. The article discusses the reason behind the use of iterative approach in OO. The OO project methodology encapsulates planning, design and implementation and therefore, it follows an iterative approach of project implementation. The article concludes that it is significantly difficult to implement OO without iteration as the OO methodology is mainly designed for implementation of the project by reusing the project components.
References
Avouris, N.M. and Page, B. eds., 2013. Environmental informatics: Methodology and applications of environmental information processing (Vol. 6). Springer Science & Business Media.
Dennis, A., Wixom, B.H. and Tegarden, D., 2015. Systems analysis and design: An object-oriented approach with UML. John wiley & sons.
Fritzson, P., 2014. Principles of object-oriented modeling and simulation with Modelica 3.3: a cyber-physical approach. John Wiley & Sons.
Goel, B.M. and Bhatia, P.K., 2013. Analysis of reusability of object-oriented systems using object-oriented metrics. ACM SIGSOFT Software Engineering Notes, 38(4), pp.1-5.
Joo, K.S. and Woo, J.W., 2014. Development of object-oriented analysis and design methodology for secure web applications. International Journal of Security and Its Applications, 8(1), pp.71-80.
Kopec, D., 2014. Object-Oriented Design. In Dart for Absolute Beginners (pp. 147-167). Apress, Berkeley, CA.
Lee, R.Y., 2013. Object-Oriented Design. In Software Engineering: A Hands-On Approach (pp. 147-168). Atlantis Press, Paris.
Marron, J.S. and Alonso, A.M., 2014. Overview of object oriented data analysis. Biometrical Journal, 56(5), pp.732-753.
To export a reference to this article please select a referencing stye below:
My Assignment Help. (2021). Object-Oriented Development Methods: Do They Really Need To Follow An Iterative Life Cycle?. Retrieved from https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/object-oriented-development-methods.html.
"Object-Oriented Development Methods: Do They Really Need To Follow An Iterative Life Cycle?." My Assignment Help, 2021, https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/object-oriented-development-methods.html.
My Assignment Help (2021) Object-Oriented Development Methods: Do They Really Need To Follow An Iterative Life Cycle? [Online]. Available from: https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/object-oriented-development-methods.html
[Accessed 14 November 2024].
My Assignment Help. 'Object-Oriented Development Methods: Do They Really Need To Follow An Iterative Life Cycle?' (My Assignment Help, 2021) <https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/object-oriented-development-methods.html> accessed 14 November 2024.
My Assignment Help. Object-Oriented Development Methods: Do They Really Need To Follow An Iterative Life Cycle? [Internet]. My Assignment Help. 2021 [cited 14 November 2024]. Available from: https://myassignmenthelp.com/free-samples/imat5205-systems-analysis-and-design/object-oriented-development-methods.html.