This article traces the unstable semantics of use cases from Jacobson to UML 1.3. The UML 1.1 metamodel formally defined the 'uses' and 'extends' use case relationships as stereotypes of generalization...
详细信息
This article traces the unstable semantics of use cases from Jacobson to UML 1.3. The UML 1.1 metamodel formally defined the 'uses' and 'extends' use case relationships as stereotypes of generalization, yet both received interpretations that varied between inheritance and composition, reflecting a large degree of confusion among developers. The recently revised UML 1.3 has quietly dropped these in favour of new 'include' and 'extend' relationships, which are styled instead as kinds of dependency. Despite this change, the deployment of use case diagrams encourages analysts to conceptualize and develop models which conceal arbitrary jumps in the flow of control, corresponding to goto and comefrom statements, and in which unpleasant non-local dependencies exist across modules. A discussion of examples reveals how a conscientious designer must disassemble use case models completely to produce properly-structured code. A radical solution is proposed.
In the development of distributed programs two different concepts have to be considered, each being quite complex even on its own: concurrency and distribution. For both similar problems like synchronization and commu...
详细信息
In the development of distributed programs two different concepts have to be considered, each being quite complex even on its own: concurrency and distribution. For both similar problems like synchronization and communication need to be addressed, yet are treated with completely different mechanisms. This paper presents Dejay, a programming language based on Java that unifies concurrency and distribution into the single mechanism of virtual processors. This allows a considerable simplification for the development of distributed or concurrent programs and makes the transition from a local to a distributed environment seamless.
DSDM is about people, not tools. It is about truly understanding the needs of a business, delivering software solutions that work and delivering them as quickly as possible. The Dynamic Systems Development Method prov...
详细信息
DSDM is about people, not tools. It is about truly understanding the needs of a business, delivering software solutions that work and delivering them as quickly as possible. The Dynamic Systems Development Method provides a framework of controls and best practice for rapid application development. It was created by a consortium of organizations and since its publication in January 1995, it has proved to be extremely effective in delivering maintainable systems which match the needs of the business better than those produced using traditional life cycles. This tutorial is an introduction to DSDM, given by the Chairman of the Technical Committee which developed the method.
作者:
Davies, BevBaud, TimLtd
2 Greenways Business Park Chippenham Wilts SN15 1BN United Kingdom
The Envisat satellite real-time simulator (Envisim) is currently being developed for the European Space Agency (ESA) by Science Systems. Envisim will be used to prepare operators for the satellite launch in 2000 and t...
详细信息
The Envisat satellite real-time simulator (Envisim) is currently being developed for the European Space Agency (ESA) by Science Systems. Envisim will be used to prepare operators for the satellite launch in 2000 and thereafter to support the mission. Envisim contains realistic models of the Envisat spacecraft and ground hardware, flight software, spacecraft environment and attitude and orbit dynamics. Phased deliveries have progressively added breadth and complexity to these models. The Envisim development has employed a number of advanced technologies such as the Teamwork CASE tool supporting the Shlaer-Mellor objectoriented method, Ada, automatic code generation, emulation of onboard processor hardware and execution of the real flight software.
Use case analysis is a requirements capture technique that is most often used in the early stages of OO and component development projects. A requirements/service/interface (RSI) approach to use case analysis is descr...
详细信息
Use case analysis is a requirements capture technique that is most often used in the early stages of OO and component development projects. A requirements/service/interface (RSI) approach to use case analysis is described. This approach provides a framework for analyzing and understanding potential use case delivering and their interrelationships. The RSI approach also aims to assist in maximizing software re-use, by partitioning functionality into those aspects which are concerned with `managing the interface' to an actor, and those areas which make up the re-usable core of the system.
Understanding and using components, patterns and frameworks in the design and development of an application system architecture is critical to the successful development of enterprise solutions. You will learn how com...
详细信息
Understanding and using components, patterns and frameworks in the design and development of an application system architecture is critical to the successful development of enterprise solutions. You will learn how components, patterns and frameworks can and should be utilized to establish an industrial strength architecture that supports the total needs of the business. Reuse comes in many forms at numerous levels of abstraction. This tutorial will consider the aspects necessary to a successful corporate reuse program. We will examine how to plan and attain effective reuse by combining class libraries, patterns, frameworks, domain specific pattern languages and the corporate infrastructure necessary for enabling large scale reuse. Reuse is often touted as one of the primary benefits of the object-oriented approach to software development. Yet reuse is not an automatic by-product of employing object technology. There are as many cultural and organizational barriers to reuse as there are technical ones.
Business rules are closely associated with events. This paper describes how events in use cases can be the basis for identifying classes and business rules. A process known as Event Scripting is used to document event...
详细信息
Business rules are closely associated with events. This paper describes how events in use cases can be the basis for identifying classes and business rules. A process known as Event Scripting is used to document event and from it objects and their relationships are identified. Business rules identified with the events are attached to objects as part of their definitions in class specifications. The Event Scripting process is described in detail in this paper.
object-orientation introduces new deliverables, notations, techniques, activities, and tools. Application development consists not only of these items but also of work segmentation, scheduling, and managing the sharin...
详细信息
object-orientation introduces new deliverables, notations, techniques, activities, and tools. Application development consists not only of these items but also of work segmentation, scheduling, and managing the sharing and evolution of deliverables. This paper breaks application development into three major components: construction, coordination, and evolution, with the topic of reuse receiving extra attention. It highlights four aspects of object-orientation having impact: encapsulation, anthropomorphic design, reuse with extensibility, and incremental and iterative development.
Interactive design of object-oriented schema requires a tool that permits fine-grained, incremental capture of semantic intent in the form of atomic assertions and provides user feedback reflecting the consequences of...
详细信息
Interactive design of object-oriented schema requires a tool that permits fine-grained, incremental capture of semantic intent in the form of atomic assertions and provides user feedback reflecting the consequences of the design. This paper describes a design tool that includes a graphical interface for schema entry and feedback, a conceptual reasoner to perform the deductions, and a schema generator that outputs the data definition language of choice. The graphical interface is concerned with issues of object placement, line crossing, and object focus. The conceptual reasoner constructs a representation of the schema as a constraint network graph, based on the concept of congruence closure. The schema generator produces data definitions based on the deductions of the conceptual reasoner and the assertions given to the graphical interface.
This tutorial describes tools and techniques for extracting information from large software code bases. Applications described include: Reverse engineering, abstracting design information from the code;Metrics for por...
详细信息
This tutorial describes tools and techniques for extracting information from large software code bases. Applications described include: Reverse engineering, abstracting design information from the code;Metrics for portability, maintainability, etc.;Checking how effectively tests exercise the code;Change impact analysis;Automated translations, between languages and libraries;Checking compliance to industry or project guidelines;and Refactorings, that translate high-level design changes into existing code. Tools and techniques used cover a range from Perl to the use of reflexive language features. The emphasis will be put on how does OO technology contribute to these techniques, and even more importantly, how do these techniques apply to OO code.
暂无评论