Content deleted Content added
Stevebroshar (talk | contribs) Move OOAD from see-also to intro bc it's important |
Stevebroshar (talk | contribs) Moved info in from OOAD; it's hard to structure the info for this article since apparently we use OOM for business processes ... even though there most info here is about software and surely the terms that apply to software most do not to business process Tag: Disambiguation links added |
||
Line 1:
{{Short description|Approach to modeling a computer application}}
{{More citations needed|date=July 2019}}
'''Object-oriented modeling''' (OOM) is
'''Object-oriented modeling''' (OOM) is an approach to modeling [[software]] for the purpose of [[software development |development]] [[software requirements analysis |analysis]] and [[software design |design]] and is a key practice of [[object-oriented analysis and design]] (OOAD). OOM is primarily performed during the early stages of the [[software development process]] although can continue for the [[software life cycle |life]] of a software system.▼
▲
==Benefits==
*Communication. Users typically cannot understand programming language or code. Model diagrams can be more understandable and can allow users to give developers feedback on the appropriate structure of the system. A key goal of the Object-Oriented approach is to decrease the "semantic gap" between the system and the real world by using terminology that is the same as the functions that users perform. Modeling is an essential tool to facilitate achieving this goal . ▼
The benefits OOM for software development include:
*[[Abstraction (computer science)|Abstraction]]. A goal of most software methodologies is to first address "what" questions and then address "how" questions. I.e., first determine the functionality the system is to provide without consideration of implementation constraints and then consider how to take this abstract description and refine it into an implementable design and code given constraints such as technology and budget. Modeling enables this by allowing abstract descriptions of processes and objects that define their essential structure and behavior. ▼
; Efficient and effective communication
▲Object-oriented modeling is typically done via [[use cases]] and abstract definitions of the most important objects. The most common language used to do object-oriented modeling is the [[Object Management Group|Object Management Group's]] [[Unified Modeling Language|Unified Modeling Language (UML)]].<ref>{{cite book|last=Jacobsen|first=Ivar|title=Object Oriented Software Engineering|year=1992|publisher=Addison-Wesley ACM Press|isbn=0-201-54435-0|pages=[https://archive.org/details/objectorientedso00jaco/page/15 15,199]|author2=Magnus Christerson|author3=Patrik Jonsson|author4=Gunnar Overgaard|url-access=registration|url=https://archive.org/details/objectorientedso00jaco/page/15}}</ref>
▲
; Useful and stable abstraction
▲
<!--
|