Developing software using OVID
1997, IEEE Software
Sign up for access to the world's latest research
Abstract
Object View Interaction Design is a structured design methodology that helps the design team create a good, objectbased user interface design. Because OVID uses a structured process and appropriate tools, the design progresses more quickly with fewer cycles of iteration.
Related papers
Later this year, the Open University (OU) will offer the first presentation of a new course in object-oriented software technology. This course covers a wide range of issues from programming in Smalltalk to object-oriented analysis and design, to management of object-oriented projects. It is part of the Masters degree programme which is aimed at individuals who are involved in software development professionally. As with all OU courses, the course is to be taught using distance teaching techniques, so course materials are presented through a combination of media including written text, computer software and video. Each course is expected to have a lifetime of about six years-a long time in a field which is moving as rapidly as object-orientation. This paper discusses our experiences of designing the object-oriented analysis and design element of the course: the approach chosen, the difficulties encountered, and the solutions devised.
Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education - SIGCSE '96, 1996
With Pascal waning in popularity as the CS1 language of choice, many colleges and universities are considering the adoption of C++ (an imperative and object-oriented hybrid language) as its replacement. An important issue that must be addressed in making such a change is the question of what software design methodology should be taught to CS1 students. Two common answers are (i) continue teaching structured design in CS1 and switch to object-oriented design in CS2; or (ii) teach object-oriented design from the outset in CS1. We believe that both of these approaches have significant drawbacks. To avoid these drawbacks, this paper describes a graduated approach to object-oriented design that we call object-centered design. The approach introduces students to object-oriented design by the end of CS2 without an abrupt paradigm shift, and without requiring an early introduction of inheritance.
Communications of The ACM, 1992
articles David E. Monarchi and Gret(:hen I. Ouhr A Research Typology for Object-Oriented Analysis and Design his article evaluates current research on object-oriented analysis and design (OOAD). Critical components in OOAD are identified and various OOAD techniques (i.e., processes or methods) and representations are compared based on these components. Strong and weak areas in OOAD are identified and areas for future research are discussed in this article. • • • • • • • • • • • • • • • • • • • Research Review The existing research can be divided into three broad categories: 1) processes only; 2) representations only; and 3) processes and representations. The first category, processes, refers to procedural methods for performing object-COMMUNICATION8 OF THE ACM/September 1992/Vo1.35, No.9 ~ 1ruble 1. Research Reviewed CATEGORY 1 Process only (no representation) Bulman [61 Henderson-Sellers and Constantine [11] Johnson and FOOte [14] Scharenberg and Dunsmore [25] CATEGORY 2 Representation only (no technique) Ackroyd and Daum [l)-a graphical notation Beck and Cunningham [4]-Class-Responsibillty Collaboration (CRC) cards Cunnlngham and Beck [9)-message diagrams Page-Jones et al. [22)-Uniform Object Notation (UON) Wasserman et al. [27|-00 Structured Design Notation (OOSD) Wilson [28]~Class Diagrams CATEGORY 3 Process and Representation Alablso [2)-Transformation from Analysis to Design (TAD) Bailin [3)-Object-Oriented Requirements Specification Method BoOch [5[-Object-Oriented Design Coad and Yourdon [7)=Object-Oriented Analysis (OOA) and Design (OOD) Gorman and Chooblneh [10]-Object-Orlented Entity Relationship Model (OOERM) Ilvarl [13]-A Framework for Object identification Kappel [15]-Object/Behavior Model Lleberherr et al. [181-The Law of Demeter Meyer [19)-Object-oriented Software Construction Rumbaugh et al. [24)-Object Modeling Technique (OMT) Shlaer and Mellor [261=ObJect-Oriented Systems Analysis (OOSA) wires-Brock et al. [29]~Designing Object-Oriented Software
Views is an open-architecture application environment that offers a consistent user interface across applications, interoperability between them, much less programming to produce an application, and the ability to add and modify applications on the fly. The system kernel contains a user interface layer and a persistent data-storage layer, so that applications only have to implement the true functionality. Objects contain no information on how they are to be displayed, so the presentation of documents can be changed easily, even on the fly. The main implementation technique is the use of invariants between objects which are automatically made two-way by the system. This document describes some aspects of programming for Views.
ACM SIGCSE Bulletin, 2003
Object-centered design (OCD) is a methodology developed to help novice C++ programmers learn to design software. By adapting OCD for use with Java, we can reduce the number of phases in OCD from five to three, and introduce object-oriented design (OOD) in CS-1 instead of CS-2.
Technology of Object-Oriented Languages and Systems, 1993
Let's summarize the rules of thumb for good object-oriented design. The programmer is concerned with writing class definitions, while at run time, it is appropriate to talk of objects and their interactions: 1. Each class should be self-contained, providing a complete service of some kind. 2. Each should have a simple and small interface couched in the language of the application domain. If this is so, users of the class are able to ignore the details of its internal structure and implementation and concentrate on the interface. We call this abstraction. See Fig. 3. 3. Classes should hide their data, we call this encapsulation, only providing a small number of controlled methods or functions in the interface for accessing that data. These factors taken together enable separation of interface from implementation. The actual designs of the algorithms employed inside the classes can be changed as better, more efficient algorithms are found. After a design is complete, changes in a class implementation must not affect its interface. The effect on current and future users is then only in terms of efficiency: their applications need not be recoded to take advantage of the new class implementation. The advantages of separation of interface from implementation include rapid prototyping and graceful refinement. See Fig. 3. 4. The majority of the work at run time should be within objects, not in between objects. 5. The complexity of the system should be evenly spread amongst the objects. 6. Classes should be written with reuse in mind. This requirement impacts the interfaces, and may cause us to spend more time on design that we otherwise would. 7. Systems of classes should be written to solve a wide range of problems from the domain of the actual task at hand. We do not set out to write a program to solve a single problem, but a system of classes that solves a wide range of problems of similar type. The code that tailors the system to solve the specific problem at hand should be localized to a small number of classes. 8. Our designs should be easy to extend. We should ask how easy it is to add new data types and functionality. For example, in a 3D graphics program that deals with a small set of graphical objects, how easy is it to add graphical objects? If the program doesn't implement shadows, how easy will it be to add them (assuming the math is not too complex)? 9. We should try to minimize the number of classes in a design. This requirement may be subordinate to those of keeping the class interfaces small and simple, and of minimizing the inter-object communication.
Proceedings of the conference on Tri-Ada '89 Ada technology in context: application, development, and deployment - TRI-Ada '89, 1989
The Object-Oriented Software Development Method (00!3D) includes object-oriented requirements analysis, as well as object-riented design. 00!3D is a practical method of developing a software system which focusses on the objects of a problem throughout development. OosD's focus on objects early in the development, with attention to generating a useful model, creates a picture of the system that is modifiable, reusable, reliable, and understandable-the last perhaps most important because the picture of a software system created by a development method must be an effective device for communication among developers, customers, management, and quality-assurance personnel.
Chemometrics and Intelligent Laboratory Systems, 1991
Journal of Visual Languages & Computing, 1999
The construction of interactive software is known to be a difficult task. As far as the non-interactive part of the application is concerned, designers can find support in the field of software engineering, using object-oriented design methods for example. With regard to the user interface per se, a number of interactive tools (interface builders) are available, that allows creating interactively the look and feel of the interface. However, relating an object-oriented design with a proper user-interface design is still a matter of craft and experience, and few techniques permit the seamless integration of the two.

Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
References (11)
- D. Norman and S. Draper, User Centered System Design, Lawrence Erlbaum, Hills- dale, N.J., 1986.
- IBM, Object Oriented Interface Design, IBM Common User Access Guidelines, Que, Carmel, Ind., 1992.
- S. Isensee and J. Rudd, The Art of Rapid Prototyping, Int'l Thompson Computer Press, Boston, 1996.
- Task Analysis for Human Computer Inter- action, D. Diaper, ed., Ellis Horwood, Chichester, 1989.
- J. Nielsen, Usability Engineering, AP Pro- fessional, Chestnut Hill, Mass., 1993.
- J. Nielsen and R. Mack, Usability Inspection Methods, John Wiley and Sons, New York, 1994.
- Grady Booch, Object-Oriented Analysis and Design with Applications, Benjamin- Cummins, 1993.
- Rational Rose/C++, Rational Software Corp., Santa Clara, Calif.
- J. Rumbaugh et al., Object-Oriented Modeling and Design, Prentice Hall, Englewood Cliffs, N.J., 1991.
- G. Booch and J. Rumbaugh, The Unified Method, Rational Software Corp., Santa Clara, Calif., 1995.
- S. Shlaer and S. Mellor, Object-Oriented Systems Analysis: Modeling the World in Data, Yourdon Press, New York, 1988.