(Sumber dari: Ilmu Komputer Bpk. Romi Satria Wahono, B.Eng., M.Eng., D.Eng.)
Object-oriented analysis and design (OOAD) is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterised by its class, its state (data elements), and its behavior. Various models can be created to show the static structure, dynamic behavior, and run-time deployment of these collaborating objects. There are a number of different notations for representing these models, such as the Unified Modeling Language (UML).
Object-oriented analysis (OOA) applies object-modeling techniques to analyze the functional requirements for a system. Object-oriented design (OOD) elaborates the analysis models to produce implementation specifications. OOA focuses on what the system does, OOD on how the system does it.
Pada bagian ini akan dibahas tentang apa itu analisa, desain dan modeling. Kemudian diskusi akan dibawa ke modeling notation, yang saat ini standard industri dunia mengarah ke Unified Modeling Language (UML). Object-object concepts yang telah diajarkan di mata kuliah Object-Oriented Programming (OOP) akan diulang untuk membantu mahasiswa memahami Object-Oriented Analysis and Design (OOAD) dengan baik.
2. UML PROCESS
Pada bagian ini akan dipelajari tentang UML dengan lebih detail. Notasi, diagram, tool dan tahapan mendesain software dengan UML. Diberikan beberapa contoh kasus pengembangan software riil, sehingga pemahaman mahasiswa lebih sempurna.
- Materi Utama:
- UML Process (Romi Satria Wahono)
3. UML CASE STUDY
Pada bagian ini akan dibahas tentang studi kasus riil bagaimana kita mengembangkan software dengan menggunakan diagram-diagram UML. Untuk UML tool-nya digunakan Netbeans dengan plugin UML.
- Materi Utama:
- UML Case Study (Romi Satria Wahono) PDF document
- Tutorial UML Pengembangan BankApplication zip archive
- Source Code RentalDVD.java text file
- Tugas Pengembangan Aplikasi BankApplication Assignment
- Tugas Pengembangan Aplikasi RentalDVD
4. CERTIFICATE OF ACHIEVEMENT
Bagi yang sudah menyelesaikan pembelajaran dan berhasil mendapatkan nilai (grade) minimal C, silakan request Certificate of Achievement melalui fitur di bawah.
An object-oriented system is composed of objects. The behavior of the system results from the collaboration of those objects. Collaboration between objects involves them sending messages to each other. Sending a message differs from calling a function in that when a target object receives a message, it itself decides what function to carry out to service that message. The same message may be implemented by many different functions, the one selected depending on the state of the target object.
The implementation of "message sending" varies depending on the architecture of the system being modeled, and the location of the objects being communicated with.
Object-oriented analysis (OOA) looks at the problem domain, with the aim of producing a conceptual model of the information that exists in the area being analyzed. Analysis models do not consider any implementation constraints that might exist, such as concurrency, distribution, persistence, or how the system is to be built. Implementation constraints are dealt during object-oriented design (OOD). Analysis is done before the Design.
The sources for the analysis can be a written requirements statement, a formal vision document, interviews with stakeholders or other interested parties. A system may be divided into multiple domains, representing different business, technological, or other areas of interest, each of which are analyzed separately.
The result of object-oriented analysis is a description of what the system is functionally required to do, in the form of a conceptual model. That will typically be presented as a set of use cases, one or more UML class diagrams, and a number of interaction diagrams. It may also include some kind of user interface mock-up. object oriented analysis is to devlop a model that describe computer software as it works to satisfy a set of customer define requrments..
Object-oriented design (OOD) transforms the conceptual model produced in object-oriented analysis to take account of the constraints imposed by the chosen architecture and any non-functional – technological or environmental – constraints, such as transaction throughput, response time, run-time platform, development environment, or programming language.
The concepts in the analysis model are mapped onto implementation classes and interfaces. The result is a model of the solution domain, a detailed description of how the system is to be built.
- Grady Booch. "Object-oriented Analysis and Design with Applications, 3rd edition":http://www.informit.com/store/product.aspx?isbn=020189551X Addison-Wesley 2007.
- Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener. Designing Object Oriented Software. Prentice Hall, 1990. [A down-to-earth introduction to the object-oriented programming and design.]
- A Theory of Object-Oriented Design: The building-blocks of OOD and notations for representing them (with focus on design patterns.)
- Martin Fowler. Analysis Patterns: Reusable Object Models. Addison-Wesley, 1997. [An introduction to object-oriented analysis with conceptual models]
- Bertrand Meyer. Object-oriented software construction. Prentice Hall, 1997.
- Brett McLaughlin, Gary Pollice, David West. Head First Object-Oriented Analysis and Design. O'Reilly, 2006.
- Craig Larman. Applying UML and Patterns - Introduction to OOA/D & Iterative Development. Prentice Hall PTR, 3rd ed. 2005.
- Object-oriented modeling
- Object-oriented programming
- Object-oriented user interface
- Software analysis pattern
- Model Driven Engineering (MDE)
- Model-driven architecture (MDA)
- Domain Specific Language (DSL)
- Domain-specific modelling (DSM)
- Model-based testing (MBT)
- Object modeling language
- QVT The OMG Queries/Views/Transformations Model Transformation Language
- Unified Modeling Language UML
- ATLAS Transformation Language ATL
- Meta-Object Facility MOF
- XML Metadata Interchange XMI
- Class-Responsibility-Collaboration card (CRC cards)
- Domain-driven design
Link to the books.
ASP, PHP, CGI, Cold Fusion, Web Front end programming Books
C & C++ Programming books
Computer Science Books
Computer Security Books
Linux, FreeBSD and Unix Books
Misc...Software, Mathematics, Logic, etc..
MySQL Reference Manual
Networking, Security & Telecom Books
Online Computer Books (HTML)
Perl and Python
Programming Language Books
Theory of Computation Books
XML, XSL Books
Web designing & Publishing Books
- Article Object-Oriented Analysis and Design with UML and RUP an overview (also about CRC cards).
- Applying UML - Object Oriented Analysis & Design tutorial
- OOAD & UML Resource website and Forums - Object Oriented Analysis & Design with UML.
- Article Object-Oriented Analysis in the Real World
Extreme Programming Roadmap
Links to Fractal Software
Data Warehouse, Data Mart, Data Mining & Decision Support Resources Links
HTML 4.0 Specification
PhD Programs by Distance Education