Results 1 - 10
of
202
Towards Requirements-Driven Information Systems Engineering: The Tropos Project
- INFORMATION SYSTEMS
, 2002
"... Information systems of the future will have to perform well within ever-changing organizational environments. Unfortunately, existing software development methodologies (object-oriented, structured or otherwise) have traditionally been inspired by programming concepts, not organizational ones, leadi ..."
Abstract
-
Cited by 163 (33 self)
- Add to MetaCart
Information systems of the future will have to perform well within ever-changing organizational environments. Unfortunately, existing software development methodologies (object-oriented, structured or otherwise) have traditionally been inspired by programming concepts, not organizational ones, leading to a semantic gap between the software system and its operational environment. To reduce this gap, we propose a software development methodology named Tropos which is founded on concepts used to model early requirements. Our proposal adopts the i* organizational modeling framework, which o#ers the notions of actor, goal and (actor) dependency, and uses these as a foundation to model early and late requirements, architectural and detailed design. The paper outlines Tropos phases through an e-business example, and sketches a formal language which underlies the methodology and is intended to support formal analysis. The methodology seems to complement well proposals for agent-oriented programming platforms.
Correct Architecture Refinement
- IEEE Transactions on Software Engineering
, 1995
"... A method is presented for the stepwise refinement of an abstract architecture into a relatively correct lower-level architecture that is intended to implement it. A refinement step involves the application of a predefined refinement pattern that provides a routine solution to a standard architectura ..."
Abstract
-
Cited by 159 (8 self)
- Add to MetaCart
A method is presented for the stepwise refinement of an abstract architecture into a relatively correct lower-level architecture that is intended to implement it. A refinement step involves the application of a predefined refinement pattern that provides a routine solution to a standard architectural design problem. A pattern contains an abstract architecture schema and a more detailed schema intended to implement it. The two schemas usually contain very different architectural concepts (from different architectural styles). Once a refinement pattern is proven correct, instances of it can be used without proof in developing specific architectures. Individual refinements are compositional, permitting incremental development and local reasoning. A special correctness criterion is defined for the domain of software architecture, as well as an accompanying proof technique. A useful syntactic form of correct composition is defined. The main points are illustrated by means of familiar archit...
Requirements Engineering in the Year 00: A Research Perspective
, 2000
"... Requirements engineering (RE) is concerned with the identification of the goals to be achieved by the envisioned system, the operationalization of such goals into services and constraints, and the assignment of responsibilities for the resulting requirements to agents such as humans, devices, a ..."
Abstract
-
Cited by 107 (11 self)
- Add to MetaCart
Requirements engineering (RE) is concerned with the identification of the goals to be achieved by the envisioned system, the operationalization of such goals into services and constraints, and the assignment of responsibilities for the resulting requirements to agents such as humans, devices, and software. The processes involved in RE include domain analysis, elicitation, specification, assessment, negotiation, documentation, and evolution. Getting highquality requirements is difficult and critical. Recent surveys have confirmed the growing recognition of RE as an area of utmost importance in software engineering research and practice. The paper presents a brief history of the main concepts and techniques developed to date to support the RE task, with a special focus on modeling as a common denominator to all RE processes. The initial description of a complex safetycritical system is used to illustrate a number of current research trends in RE-specific areas such as go...
A laboratory for teaching object-oriented thinking
, 1989
"... It is difficult to introduce both novice and experienced procedural programmers to the anthropomorphic perspective necessary for object-oriented design. We introduce CRC cards, which characterize objects by class name, responsibilities, and collaborators, as a way of giving learners a direct experie ..."
Abstract
-
Cited by 106 (0 self)
- Add to MetaCart
It is difficult to introduce both novice and experienced procedural programmers to the anthropomorphic perspective necessary for object-oriented design. We introduce CRC cards, which characterize objects by class name, responsibilities, and collaborators, as a way of giving learners a direct experience of objects. We have found this approach successful in teaching novice programmers the concepts of objects, and in introducing experienced programmers to complicated existing designs. 1. Problem The most difficult problem in teaching object-oriented programming is getting the learner to give up the global knowledge of control that is possible with procedural programs, and rely on the local knowledge of objects to accomplish their tasks. Novice designs are littered with regressions to global thinking: gratuitous global variables, unnecessary pointers, and inappropriate reliance on the implementation of other objects. Because learning about objects requires such a shift in overall approach, teaching objects Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.
A requirements-driven development methodology
- In Proc. of the 13th Int. Conf. On Advanced Information Systems Engineering (CAiSE’01
, 2001
"... Information systems of the future will have to better match their operational organizational environment. Unfortunately, development methodologies have traditionally been inspired by programming concepts, not organizational ones, leading to a semantic gap between the system and its environment. To r ..."
Abstract
-
Cited by 75 (22 self)
- Add to MetaCart
Information systems of the future will have to better match their operational organizational environment. Unfortunately, development methodologies have traditionally been inspired by programming concepts, not organizational ones, leading to a semantic gap between the system and its environment. To reduce as much as possible this gap, this paper proposes a development methodology named Tropos which is founded on concepts used to model early requirements. Our proposal adopts the i* organizational modeling framework [21], which offers the notions of actor, goal and (actor) dependency, and uses these as a foundation to model early and late requirements, architectural and detailed design. The paper outlines Tropos phases through an e-business example, and sketches a formal language which underlies the methodology and is intended to support formal analysis. The methodology seems to complement well proposals for agent-oriented programming platforms.
Monitoring, Testing, and Debugging of Distributed Real-Time Systems
, 2000
"... Testing is an important part of any software development project, and can typically surpass more than half of the development cost. For safety-critical computer based systems, testing is even more important due to stringent reliability and safety requirements. However, most safety-critical comput ..."
Abstract
-
Cited by 44 (1 self)
- Add to MetaCart
Testing is an important part of any software development project, and can typically surpass more than half of the development cost. For safety-critical computer based systems, testing is even more important due to stringent reliability and safety requirements. However, most safety-critical computer based systems are real-time systems, and the majority of current testing and debugging techniques have been developed for sequential (non real-time) programs. These techniques are not directly applicable to real-time systems, since they disregard issues of timing and concurrency. This means that existing techniques for reproducible testing and debugging cannot be used. Reproducibility is essential for regression testing and cyclic debugging, where the same test cases are run repeatedly with the intention of verifying modified program code or to track down errors. The current trend of consumer and industrial applications goes from single microcontrollers to sets of distributed micro-controllers, which are even more challenging than handling real-time per-see, since multiple loci of observation and control additionally must be considered. In this thesis we try to remedy these problems by presenting an integrated approach to monitoring, testing, and debugging of distributed real-time systems. For monitoring
Tropos: A Framework for Requirements-Driven Software Development
- INFORMATION SYSTEMS ENGINEERING: STATE OF THE ART AND RESEARCH THEMES
, 2000
"... Traditionally, software development techniques have been implementation-driven in the sense that the programming paradigm of the day dictated the design and requirements analysis techniques used. For example, structured programming led to structured analysis and design techniques in the `70s. Mo ..."
Abstract
-
Cited by 38 (10 self)
- Add to MetaCart
Traditionally, software development techniques have been implementation-driven in the sense that the programming paradigm of the day dictated the design and requirements analysis techniques used. For example, structured programming led to structured analysis and design techniques in the `70s. More recently, object-oriented programming gave rise to object-oriented analysis and design. In this chapter we explore a software development methodology which is requirements-driven in the sense that the concepts used to define requirements for a software system are also used later on during design and implementation. Our proposal adopts Eric Yu's i* framework [1], a modeling framework for early requirements, based on the notions of actor and goal. We use these notions as a foundation to model late requirements, as well as architectural and detailed design. The proposed framework, named Tropos, seems to complement nicely current proposals for agent-oriented programming platforms.
Mediators: Easing the Design and Evolution of Integrated Systems
, 1994
"... People benefit from tightly integrated systems that can be designed, realized and evolved affordably. Unfortunately, common software design methods do not easily accommodate requirements for tightly integrated systems. Indeed, when used to meet such requirements, common methods tend to yield unnec ..."
Abstract
-
Cited by 37 (14 self)
- Add to MetaCart
People benefit from tightly integrated systems that can be designed, realized and evolved affordably. Unfortunately, common software design methods do not easily accommodate requirements for tightly integrated systems. Indeed, when used to meet such requirements, common methods tend to yield unnecessarily complex structures that complicate design and realization and that inhibit subsequent evolution. After substantiating this claim, I present the mediator method as a solution. This method combines behavioral entity-relationship (ER) modeling for design with a mediator approach to implementation. The mediator method is better than common methods for designing, realizing, and evolving many integrated systems. I support this claim both by rational argument from simplifying models and by careful...

