A Framework for Requirements Traceability in UML-based Projects
|
|
|
- Jeffrey Logan
- 9 years ago
- Views:
Transcription
1 A Framework for Requirements Traceability in UML-based Projects Patricio Letelier Department of Information Systems and Computing Technical University of Valencia (Spain) Abstract Requirements traceability allows us to assure the continuous concordance between the stakeholders requirements and the artifacts produced along the software development process. Although the important role of requirements traceability is widely recognized, the application level and consensus about associated practices are quite variable from one software development team to another. UML appears as an opportunity to establish a common framework for requirements traceability. In this work we present a reference metamodel for requirements traceability, that is based on UML and integrates as much textual specifications as UML model elements, obtaining a homogeneous representation for all the software development artifacts and traceability links among them. Thanks to the UML extension mechanisms, we have obtained in a natural way that our approach be adaptable according to the project needs. We have included an example illustrating how to use our framework in a small project, taking Rational Unified Process (RUP) as a software development process. 1 Introduction Software requirements are susceptible of changing, not only after releasing the product but also along the iterative software development process. Requirements management is the process in charge of supervising these software requirements changes, it should be integrated as a subprocess in the software development process, being the core of the software process [1]. The success of this subprocess depends on how well defined the relationships among requirements and other kinds of specifications generated by the software process are. Requirements traceability is defined as the ability to describe and follow the life of a requirement in both directions, towards its origin or towards its implementation, passing through all the related specifications. Requirements management and especially requirements traceability can be expensive activities. The detail level in these activities and the collected information must be configured according to the particular project needs, in order to obtain a positive cost-benefit ratio. Nowadays the effectivity in traceability practices differs considerably among development teams. Some problems that can explain this situation are [9, 10]: there are not detailed guidelines regarding the kinds of information that must be gathered for traceability, the context in which such an information must be used, and the lack of consensus about the semantic for the links between specifications. In reference to the way of expressing them, requirements have been traditionally specified using textual forms of specification above all, mainly using natural language. Consequently, tools supporting requirements management have been focused on the manipulation of text pieces. These textual-expressed requirements are linked forming a traceability graph This work is funded by the DOLMEN-SIGLO project of the "Comisión Interministerial de Ciencia y Tecnología" (CICYT), TIC C06-01.
2 which is used to manage the requirements and their traceability. In this approach, the specifications generated in other activities of the development process can also be added to the traceability graph, representing them as text (normally using the name of the specification, for instance: the name of the class, attribute or operation). Test specifications are also mainly textual, thus they can be handled in a similar way. Even though several CASE tool vendors claim that their products offer a good integration among modules for requirements management, modeling and test, the implemented solution is usually based on import/export mechanisms among such modules. This strategy is not the best one as far as its promulgation as a part of the software process is concerned. Another suggested alternative is to specify explicitly in additional diagrams the traceability links between model elements, but apart from not covering all kinds of specifications, due to the complexity of the traceability graph, this is not viable, even for small systems. On the other hand, regarding the software modeling, UML [11] has quickly become the most popular notation for object-oriented modeling. Thanks to the definition of its metamodel and the included extension mechanism, UML offers an excellent opportunity to establish a common framework for representing specification of requirements, development and test. The aim of this work is to present a framework for configuring requirements traceability by integrating textual specifications and UML model elements. Our approach can be applied to any software process based on UML and it can be customized according to the specific traceability needs of the project. This paper is organized in seven sections. Following this introduction, the next section describes a metamodel for requirements traceability. The third section explains how textual specifications and traceability links can be defined in the UML context, obtaining a common framework for expressing all the traceability information. In section four we present the tasks for configuring the traceability in a project. The fifth section illustrates the application of our approach using a small project based on RUP as an example. The sixth section describes some related works and specific tools for requirements management, from the perspective of frameworks for requirements traceability. Eventually, the seventh section presents our conclusions. 2 A metamodel for requirements traceability Before presenting our metamodel for requirements traceability we will summarize the information needs for requirements management. Next we indicate the kinds of information associated to requirements traceability and their possible uses (adapted from [2]): 1. Traceability links between different types of specifications allow validating that the system functionality covers the stakeholders expectations, that there is not superfluous functionality implemented, and performing impact analysis when requirements change. 2. Contribution structures [3], that is, the links between stakeholders and specifications allow improving the communication and cooperation among stakeholders, and guaranteeing that the contribution of every individual is considered and registered. 3. Rationale associated to specifications, including alternatives, decisions, assumptions, etc. contribute to improve the understanding and acceptance of the system from the stakeholders, and to improve change management avoiding studying again considerations already excluded. This is possible thanks to making accessible the solutions, their fundaments, and the excluded alternatives. In Figure 1, by means of a class diagram, we present a metamodel for requirements traceability. Classes represent entity types and associations represent types of traceability links. We use role names attached to some association extremes to make more legible the types of traceability links.
3 partof traceto modifies rationaleof TraceableSpecification responsibleof 1 Stak eholde r {overlapping, incomplete} RationaleSpecification RequirementSpecification validatedby TestSpecification verifiedby OtherUML_Specification {disjoint, incomplete} assignedto TextualRequirement UML_UseCase {disjoint, complete} UML_Specification Figure 1: Metamodel for requirements traceability Globally speaking, we are concerned with two types of entities: TraceableSpecification and Stakeholders. Stakeholders are responsible of creating and modifying specifications. A TraceableSpecification is a software specification with a certain granularity level, that is, it can be a document, a model, a diagram, a section in a document, a text specifying a non-functional requirement, a use case, a class, an attribute, etc. The granularity for a TraceableSpecification is defined by means of the aggregation with therolenamepartof. The type of entity TraceableSpecification is a generalization of RationaleSpecification, RequirementSpecification, TestSpecification, and OtherUML_Specification. A TraceableSpecification can belong to more than one of such subtypes, for instance, when a document includes several types of specifications (using partof ). A RequirementSpecification is a requirement or group of requirements. Requirements, according to how they are expressed, can be classified as TextualRequirements (requirements expressed using a text piece) or UML_UseCase (the corresponding UML model element for representing a functional requirement). A RationaleSpecification establishes, for instance: fundaments, alternatives or assumptions associated to a TraceableSpecification. Eventually, a TestSpecification defines a test for validating a requirement or verifying a UML model element (for instance: verifying a source code file that is the implementation of a class or component). Generalizations whose parent classes are TraceableSpecification and RequirementSpecification are defined as incomplete allowing the definition of other types of specifications that can be interesting for traceability. For instance, some specifications that are neither textual nor standard UML are: videos, images, voice, etc. These specifications usually correspond to fundaments, and are useful during the revision and assessment of analysis and design models [4]. However, they could also be a particular media for expressing a RequirementSpecification, for instance, registering it in a video. The most generic type of traceability link is represented by the association with the role name traceto which allows establishing traceability links between any TraceableSpecification. The rest of types of traceability links (modifies, responsibleof, rationaleof, validatedby, verifiedby and assignedto) are more specific. The type of link named modifies allows establishing a relationship between Stakeholders and TraceableSpecifications that they modify. In a similar way, responsibleof determines the Stakeholder who is responsible of the definition and maintenance of a TraceableSpecification. The type of link named vali-
4 Relationship +supplier +supplierdependency ModelElement 1..n n Dependency Generalization Association Include Extend Flow 1.. n +clie nt n +clientdependency Namespace GeneralizableElement Binding Abstraction Usage Permission 2..* AssociationEnd Classifier Actor Artifact «tabl e» «file» - «document» - «executable» - «library» - «source» «derive» «realize» «refine» «trace» 1 +participant Classifier Figure 2: UML context for our traceability metamodel datedby relates RequimementsSpecifications with the corresponding TestSpecifications that validate them. ThetypeoflinkverifiedBy determines the TestSpecifications that verify a UML specification. Finally, the type of link assignedto determines the UML model elements that realize certain requirements, for instance, theclassesthatrealizeausecase. The metamodel showed in Figure 1 covers the four perspectives of traceability information included in the works by Ramesh and Jarke [10]: requirements, rationale, allocation of requirements to model and implementation elements, and eventually, test. Moreover, our metamodel incorporates pre-traceability and post-traceability aspects [6, 13]. Pre-traceability allows going from the origins of the requirements until their explicit specification in the Software Requirements Specification (SRS) document or vice versa. Post-traceability allows going from the SRS to the subsequent software and test specifications or vice versa. In both kinds of traceability our metamodel provides the types of links responsibleof and modifies to determine the Stakeholders involved. For pretraceability the type of link traceto is available between requirements expressed in different abstraction levels and rationaleof for rationale associated to such requirements specifications. The post-traceability is supported by the types of links traceto, validatedby, verifiedby, assignedto and rationaleof. 3 UML context for the traceability metamodel To make simple and practical the application of our metamodel it is convenient to integrate all types of entities and links in a common context. Considering that: (a) UML specifications are more precisely defined and they are more accepted than other specifications, (b) UML provides extension mechanism (stereotypes, tagged values and constraints) to incorporate new types of specifications, and (c) UML specifications have support in most CASE tools, it is evident that it would be appropriate to integrate all types of specifications of our metamodel in the context of UML. Thus, for each type of entity and type of link a correspondence with a UML model element will be established. To do this, UML metaclasses will be chosen as base classes to establish new stereotypes. Whenthetypeofentityortypeoflinkmatchesupsemantically with a UML metaclass, this metaclass will be used directly without defining a new stereotype. The result of this analysis is a UML profile for our traceability metamodel. Next we give details about how such an integration is performed.
5 <<metaclass>> Actor document <<stereotype>> <<metaclass>> Artifact <<stereotype>> stakeholder traceablespecification {ov erlapping, incomplete} rationalespecification requirementspecification testspecification textualrequirement Figure 3: Stereotypes for stakeholder and core textual specifications Traceability entities in the UML context. For the entity Stakeholder thechoiceissimple;themodel element Actor is the metaclass used as a base class to define the corresponding stereotype. Other types of entities should have the possibility of allowing associations in order to establish aggregation relationships between them. According to this, the selected metaclass should be among the UML elements that are child classes of Classifier. For entities corresponding to non-uml standard specifications, the Classifier named Artifact (addedinumlversion1.4)has been chosen. Artifact has some predefined stereotypes, among them «document», which is the one we will use to represent documents and document sections. For types of entities that match up directly with UML model elements (UML_UseCase and OtherUML_Specification)wewillusetheUML model element itself. On the other hand, to group and organize UML artifacts and Stakeholders we will use the UML model element to this end, that is, Package and optionally we will add the predefined stereotypes «model» or «subsystem», depending on whether we are defining a model of a system/subsystem or dividing the system in subsystems, respectively. Traceability links in the UML context. Types of links will be represented as UML model elements of Abstraction type, except the relationship partof, which is represented by aggregation or composition between specifications using the metaclass Association as the base class. Although different types of links are modeled by different associations in our traceability metamodel, they are not independent, in fact, the type of link traceto is a generalization of all other types of links. The type of link traceto will be coincident with the stereotype «trace», predefined in UML. In UML a «trace» dependency indicates a historical or process relationship between two elements that represent the same concept without specifying derivation rules between them [11]. Excepting the type of link partof, other types of links will be child stereotypes of the predefined stereotype «trace». In Figure 2 we show the UML context for the concepts we are dealing with. According to the previous explanations, Figure 3 and Figure 4 show the UML representation for types of entities and types of links included in our traceability metamodel. This representation constitutes an essential UML profile for requirements traceability. 4 Configuring traceability In requirements traceability we can identify two activities: (a) configuration of traceability according to the project needs, and (b) specify and exploit traceability information during the software development and maintenance. We will focus on the configuration activity applying our UML profile for traceability.
6 <<metaclass>> Association <<metaclass>> Abstraction traceto partof {disjoint, incomplete} << ste reo ty pe >> rationaleof v alidatedby v erif iedby assignedto modif ies responsibleof Figure 4: Stereotypes for the traceability links The profile will act as a framework for establishing the types of artifacts 1 interesting for traceability and the types of links between them. Consequently, traceability links established during the software development or maintenance are verified against the traceability configuration (for instance, for a particular project, certain types of links are valid only between certain types of artifacts). Configuring traceability in a project includes the following tasks: 1. Select types of artifacts which are interesting from the traceability perspective. They constitute a subset of the entire types of artifacts used by the project. Each selected artifact will have a corresponding stereotype as a child class of one stereotype defined in the traceability profile (except for those types of artifacts that are standard UML model element). When doing this, we will be extending the profile with new stereotypes for entities (this includes the possibility of defining new stereotypes as specializations of stakeholder). 2. Define aggregation relationships between artifacts. This task may not be necessary for all types of artifacts if such relationships are predefined and included in the description of types of artifacts. 3. Establish types of traceability links that are interesting to the project. The types of links are established between pairs of types of artifacts selected in task 1. In this case it may also be necessary to extend the traceability profile including new types of links as stereotypes specializations. 4. Define criteria to implicitly derive traceability links and what types of links (established in task 3) will use these criteria. 5 Configuring traceability in a RUP project The presented metamodel and the corresponding profile are independent from the software development process, the only assumption is that the process is based on UML. However, to illustrate the application of our approach we have chosen RUP as a process, mainly because it offers enough details and variety regarding the available artifacts. RUP is a Rational Software product based on the Unified Software Development Process [5]. RUP provides templates Word and HTML for artifacts that are documents, and it uses UML for software modeling. Next we will illustrate the tasks for configuring the requirements traceability in a small RUP project. 1 From now on we will use the term artifact in a wider sense, beyond the definition provided in UML, and in the same way as most software processes do (for instance RUP). Thus, we will consider as artifacts all documents, files and other physical elements generated or used during the software development process, in addition, we will call artifacts any UML model element.
7 Task 1 Select the types of artifacts that will be traceable specifications. In this example we will use the RUP artifacts showed in the next table: RUP Type of Artifact Vision Software Feature Supplementary Spec. Non-Functional Req. Assumption Use Case Specification Use Case Precondition Use Case Model Use Case Analysis & Design Model Class Implementation Model Component Data Model Test Case Parent Class Stereotype «traceablespecification» «textualrequirement» «traceablespecification» «textualrequirement» «rationalespecification» «traceablespecification» «traceablespecification» «model» «model» «model» «model» «testspecification» When, in the table above, there is not a parent class stereotype this is because it uses directly the corresponding UML model element. As we mentioned before, the stereotype «model» is the UML package model element with such a stereotype. Task 2 Define aggregation relationships between types of artifacts. For our selected artifacts the aggregation relationships are: Vision SoftwareFeature Vision Assumption Software Feature Software Feature Supplementary Specification Non-Functional Requirement Use Case Specification Use Case Precondition Use Case Model Use Case Analysis & Design Model Class Implementation Model Component Data Model Table Task 3 Establish the types of traceability links that are interesting for the project. In our example they are: Stakeholder «responsibleof» RUP Artifact Stakeholder «modifies» RUP Artifact «traceto» Software Feature Use Case Assumption «supports» Software Feature Use Case «traceto» Use Case Specification Use Case «validatedby» Test Case Use Case Precondition «traceto» Class Class «traceto» Component Class «traceto» Class «verifiedby» Table Test Case Component «verifiedby» Test Case We have used RUP Artifact to refer to any RUP artifact selected in task 1. The stereotype «supports» has been introduced as a new stereotype specialization of the stereotype «rationaleof». Task 4 To establish implicit traceability we will use transitivity, aggregation relationships and exact name matching between types of artifacts. In this last case the criterion of name equality will only be applied to the following types of links: Use Case «traceto» Use Case Specification Use Case «validatedby» Test Case Class «traceto» Table Class «verifiedby» Component «verifiedby» Test Case Test Case Eventually, according to the established traceability configuration, we could have at a certain instant the traceability graph showed in Figure 5. FEA- TURE is the type of artifact Software Feature, UC is the type Use Case, UCS is a UseCaseSpecification type, and PRECOND corresponds to the type Use Case Precondition. The link Sales management : FEATURE tracet o Make an order : UC is derived by the aggregation relationship between the software features Sales management and Books sales. The link Make an order : UC tracet o Make an order : UCS is derived by the name matching criteria. Other implicit transitivity or aggregation links are ignored because they are not interesting types of links (defined in task 3).
8 Sales management: FEATURE traceto partof traceto traceto Make an order: UCS Books sales: FEATURE Make an order: UC partof The customer must be registered: PRECOND partof relationship Explicit traceability link Implicit traceability link Figure 5: An example traceability graph 6 Related works Ramesh and Jarke in [10] offer a wide vision about the information needed in requirements traceability. Their study is based on the analysis of industrial software development projects. They identify two segments of traceability users and suggest two corresponding traceability metamodels (one is a simplification of the other). The most complete metamodel has 31 types of entities (metaclasses in the metamodel) and about 50 types of links. In addition to the complexity associated to the diversity of types of entities and links, a precise definition for those elements is not provided, which makes the application of the metamodel a difficult task. Curiously, all analysis and design specifications are only represented by one type of entity named system_subsystem_component, that is, there is no more granularity or connection with any specific modeling notation. In this work the only suggested mechanism to configure the metamodel according to the project needs is to cut or to add parts of the metamodel. Toranzo and Castro in [15] present a traceability metamodel defined by multiple views, each of them associated to a certain kind of user for the traceability information (Project Manager, Requirement Engineer or Software Engineer). In this work there is no configuration mechanism to adapt the traceability to the project needs. Furthermore, the granularity level of the artifacts is too thick, working with documents and diagrams. Spence and Probasco in [14] present several strategies for traceability when a use case driven process is used (as the case of RUP). Each strategy is described with a simple traceability metamodel, establishing the types of artifacts and links. All the strategies suggested only consider links between artifacts near to requirements (user needs, software features, use cases, etc.). The connection with artifacts for modeling and test is left implicit according to what a use case driven process establishes (use case analysis or design realization, functional test for each use case, etc.). Furthermore, the only one type of link they use is our equivalent traceto. Similarly, Leite et al. in [7, 8] provide a framework for elicitation and organization of requirements expressed in natural language. They establish traceability links between requirements but they do not include traceability to other subsequent artifacts. On the other hand, requirements management tools 2 offer a satisfactory treatment for textual specifications but they have inconveniences when integrating those specifications with others not expressed textually. This integration is based on import mechanisms connecting with a CASE tool. Usually, in this approach the names of the modeling elements are handled in the context of the requirements manage- 2 To obtain a more detailed analysis we recommend to visit the INCOSE (Internacional Council On System Engineering) web site.
9 ment tool. A very cited tool is TOOR (Traceability of Object-Oriented Requirements), presented by Pinheiro and Goguen in [12], it is based on FOOPS, a formal object-oriented language. Curiously, there are not any works about TOOR after the mentioned paper. However, the formal approach and the functionality described remain interesting. In Rational RequisitePro ( textual specifications can be linked with UML model elements in the Rational Rose repository. But this is possible only for use cases, other model elements are not directly accessible from Rational RequisitePro. The only type of link in RequisitePro is our equivalent traceto. Another well known requirements management tool is Telelogic DOORS ( This tool can be connected with most popular CASE tools, using similar import mechanisms of Rational RequisitePro, but providing more functionality and facilities to change from the DOOR context to the CASE tool context. Anyway, the user must work with two separated environments, and depending on whether he/she wants to do requirement management or software modeling, he/she must switch the environment. All the mentioned tools have inconveniences as far as the configuration of traceability to the project needs is concerned. They are not oriented to a specific software process and although some of them allow defining types of requirements, they do not offer a framework for configuring requirement traceability. Eventually, all the definitions and interpretation about the traceability information is left to the user of the tool. 7 Conclusions Requirements traceability is the key to achieve a successful requirements management process. However, there is no consensus about the more suitable strategies to perform an effective requirements traceability. Thus in practice, requirements traceability presents different levels of satisfaction and acceptance in software development projects. Consequently, tool support for this activity is not appropriate. Historically, research on requirements management has been carried out in parallel to research on approaches to software modeling and development, they constitute two different communities: one community focused on improving the treatment of requirements specifications without going further as far as software modeling notations or methodology are concerned, the other one focused on improving analysis and design techniques but not paying much attention to requirements specifications. Nowadays, UML, the most popular objectoriented notation, represents an excellent opportunity to take advantage of the results from both communities. UML can be used to define a common framework to support requirements and modeling specifications. In this work we have presented a traceability metamodel integrating textual specifications (for requirements, rationale and tests) with standard UML specifications, using the UML context itself. Thus, from the point of view of requirements traceability, our metamodel offers a core framework for types of entities and types of traceability links that can be adapted to a particular project using the extension mechanisms provided by UML. The traceability metamodel has been translated to a UML profile to allow an easier application in a CASE tool supporting UML. Additionally, we have sketched a configuration process for requirements traceability based on our UML profile for requirements traceability. Our approach including the metamodel, the corresponding UML profile and the configuration process only have the assumption of using a UML-based process, but it is independent of any particular process. However, to illustrate our approach we have presented an example using RUP as a development process. Currently we are working on the design and construction of a module that implements our approach, and according to the RUP process. This module will be integrated in Rational Rose. An important aspect when configuring the traceability for a project is to establish traceability attributes (and their possible values) for each selected type of artifact. Deliberately we have not dealt with this topic in this paper because we consider that this is not especially difficult. It can be assumed that the requirements management tool will offer a set of predefined attributes for each type of artifact and the user will able to select them or define new ones. For instance, in RUP some attributes for software features are: state (proposed, approved or incorporated), benefit (critical, important or useful), estimated effort, risk and stability (these attributes usually have values such as high, medium or low).
10 References [1] J.-P. Corriveau. "Traceability Process for Large OO Projects". IEEE Computer, pp , September [2] R. Dömges and K. Pohl. "Adapting Traceability Environments to Project-Specific Needs".Communications of ACM, Vol. 41, No 21, December [3] O. Gotel and A. Finkelstein. "Extended Requirements Traceability: Results of an Industrial Case Study". I n Proceedings of 3rd International Symposium on Requirements Engineering (RE97), IEEE Computer Society Press, pp , [4] P. Haumer, M. Jarke, K. Pohl and K. Weidenhaupt. "Improving reviews of conceptual models by extended traceability to captured system usage". Interacting with Computers, Elsevier Science, 13 (1) pp , ftp://sunsite.informatik.rwth-aachen.de /pub/crews/crews ps.gz [5] I. Jacobson, G. Booch and J. Rumbaugh. The Unified Software Development Process. Addison- Wesley, [6] M. Jarke. "Requirements Tracing". Communications of the ACM, Vol. 41, No. 12, pp , December [7] J.C. Leite and A.Oliveira. "A Client Oriented Requirements Baseline". In Proceedings of the Second IEEE International Symposium on Requirements Engineering (RE 95), pp , IEEE Computer Society Press, 1995 [8] J.C. Leite, G. Rossi, F. Balaguer, V. Maiorana, G. Kaplan, G. Hadad, A. Oliveros. "Enhancing a Requirements Baseline with Scenarios". Requirements Engineering Vol. 2, No. 4, pp , [9] B. Ramesh. "Factors influencing requirements traceability practice". Communication of the ACM, Vol. 41, No. 12, pp , December [10] B. Ramesh and M. Jarke. "Toward Reference Models for Requirements Traceability". IEEE Transactions on Software Engineering, Vol. 27, No. 1, pp.58-93, January [11] OMG Unified Modeling Language Specification. UML 1.4 with Action Semantics, Final Adopted Specification, January [12] F. Pinheiro and J. Goguen. "An Object-Oriented Tool for Tracing Requirements". IEEE Software, pp , March [13] K. Pohl. "PRO-ART: Enabling Requirements Pre-Traceability". In Proceedings of the 2th International Conference on Requirements Engineering (ICRE 96), pp , [14] I. Spence and L. Probasco. "Traceability Studies for Managing Requirements with Use Cases". Rational Software White Paper, /whitepapers/ jsp [15] M. Toranzo and J. Castro. "A Comprehensive Traceability Model to Support the Design of Interactive Systems". ECOOP Workshops 1999, pp , Lecture Notes in Computer Science 1743, Springer-Verlag, 1999.
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
Requirements Traceability
UNIVERSITY OF WATERLOO Faculty of Mathematics School of Computer Science CS 645 - Software Requirements Specification and Analysis Requirements Traceability prepared by Michael Morckos ID : 20363329 Electrical
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
Using Requirements Traceability Links At Runtime A Position Paper
Using Requirements Traceability Links At Runtime A Position Paper Alexander Delater, Barbara Paech University of Heidelberg, Institute of omputer Science Im Neuenheimer Feld 326, 69120 Heidelberg, Germany
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: [email protected] Supervised by:
Requirements Traceability. Mirka Palo
Requirements Traceability Mirka Palo Seminar Report Department of Computer Science University of Helsinki 30 th October 2003 Table of Contents 1 INTRODUCTION... 1 2 DEFINITION... 1 3 REASONS FOR REQUIREMENTS
Plan-Driven Methodologies
Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a
Usability metrics for software components
Usability metrics for software components Manuel F. Bertoa and Antonio Vallecillo Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga. {bertoa,av}@lcc.uma.es Abstract. The need to select
Business Modeling with UML
Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their
Incorporating Aspects into the UML
Incorporating Aspects into the UML Mark Basch University of North Florida Department of Computer and Information Sciences Jacksonville, FL 32224-2645 (904) 620-2985 [email protected] Arturo Sanchez University
Chap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
Modeling Web Applications Using Java And XML Related Technologies
Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA [email protected] Yun-Sik
Automating Requirements Management 1
Automating Requirements Management 1 Karl E. Wiegers Process Impact www.processimpact.com It s no secret that poorly understood user requirements and uncontrolled scope creep lead to many software project
Requirements Definition and Management Processes
Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute
Menouer Boubekeur, Gregory Provan
Software Requirements Menouer Boubekeur, Gregory Provan Lectures Introduction to UML Introduction to Requirements Analysis Advanced techniques for Requirement Analysis M. Boubekeur, CSL, University College
The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
How To Design Software
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies
3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti
Software Engineering Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical
Requirements traceability, Requirements management, Requirements change, Functional traces, Non-functional traces.
Chapter 5 REQUIREMENTS TRACEABILITY Francisco A. C. Pinheiro Universidade de Brasília Abstract: Key words: Requirements tracing is inevitable. We do tracing when we search information and it is difficult
A CONCEPTUAL MODEL FOR REQUIREMENTS ENGINEERING AND MANAGEMENT FOR CHANGE-INTENSIVE SOFTWARE
A CONCEPTUAL MODEL FOR REQUIREMENTS ENGINEERING AND MANAGEMENT FOR CHANGE-INTENSIVE SOFTWARE Jewgenij Botaschanjan, Andreas Fleischmann, Markus Pister Technische Universität München, Institut für Informatik
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT
A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box
A UML 2 Profile for Business Process Modelling *
A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
Rational Unified Process for Systems Engineering RUP SE1.1. A Rational Software White Paper TP 165A, 5/02
Rational Unified Process for Systems Engineering RUP SE1.1 A Rational Software White Paper TP 165A, 5/02 Table of Contents INTRODUCTION...1 BUSINESS MODELING...3 SYSTEM ARCHITECTURE...4 SYSTEM ARCHITECTURE
Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions
Announcements SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 Send your group
TOGAF usage in outsourcing of software development
Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky
Software Requirements Specification of A University Class Scheduler
Software Requirements Specification of A University Class Scheduler Deanna M. Needell Jeff A. Stuart Tamara C. Thiel Sergiu M. Dascalu Frederick C. Harris, Jr. Department of Computer Science University
Applying 4+1 View Architecture with UML 2. White Paper
Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was
Analysis of the Specifics for a Business Rules Engine Based Projects
Analysis of the Specifics for a Business Rules Engine Based Projects By Dmitri Ilkaev and Dan Meenan Introduction In recent years business rules engines (BRE) have become a key component in almost every
Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting
Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting [email protected] All rights reserved. You have permission to copy and distribute the document as long as you make no changes
11 Tips to make the requirements definition process more effective and results more usable
1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to
CDC UNIFIED PROCESS PRACTICES GUIDE
Purpose The purpose of this document is to provide guidance on the practice of Modeling and to describe the practice overview, requirements, best practices, activities, and key terms related to these requirements.
Developing Complex Systems using DOORS and UML
Developing Complex Systems using DOORS and UML Telelogic 2004 User Group Conference Americas and Asia/Pacific Michael Sutherland [email protected] Abstract In order to successfully
Towards an Integration of Business Process Modeling and Object-Oriented Software Development
Towards an Integration of Business Process Modeling and Object-Oriented Software Development Peter Loos, Peter Fettke Chemnitz Univeristy of Technology, Chemnitz, Germany {loos peter.fettke}@isym.tu-chemnitz.de
A pragmatic approach to modeling large systems
Theodore Kahn Ian Sturken NASA Ames Research Center Moffett Field, CA NASA/Army Systems and Software Engineering Forum May 11 & 12, 2010 University of Alabama, Huntsville [email protected] [email protected]
Deriving Use Cases from Organizational Modeling
Deriving Use Cases from Organizational Modeling Victor F.A. Santander * Jaelson F. B. Castro Universidade Federal de Pernambuco Centro de Informática Cx. Postal 7851, CEP 50732-970, Recife-PE, BRAZIL Phone:
Manual Models and Change Management in Software Development
Enhancing Requirements and Change Management through Process Modelling and Measurement 1 Luigi Lavazza and Giuseppe Valetto CEFRIEL and Politecnico di Milano 2 Abstract Effective management of requirements
An Introduction to the UML and the Unified Process
3 An Introduction to the UML and the Unified Process 3.1 Introduction This chapter introduces the Unified Modeling Language (UML) notation, its motivation and history. It then presents the Unified Process
The Use of UML Activity Diagrams and the i* Language in the Modeling of the Balanced Scorecard Implantation Process
The Use of UML Activity Diagrams and the i* Language in the Modeling of the Balanced Scorecard Implantation Process Mariela Haya, Xavier Franch and Enric Mayol Universitat Politècnica de Catalunya (UPC)
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture
Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican
Reaching CMM Levels 2 and 3 with the Rational Unified Process
Reaching CMM Levels 2 and 3 with the Rational Unified Process Rational Software White Paper TP174 Table of Contents INTRODUCTION... 1 LEVEL-2, REPEATABLE... 3 Requirements Management... 3 Software Project
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach
Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach Sabnam Sengupta 1,Swapan Bhattacharya 2 Department of Computer Science & Engineering, Jadavpur
Quantitative and qualitative methods in process improvement and product quality assessment.
Quantitative and qualitative methods in process improvement and product quality assessment. Anna Bobkowska Abstract Successful improvement of the development process and product quality assurance should
A UML Introduction Tutorial
A UML Introduction Tutorial 1/27/08 9:55 PM A UML Introduction Tutorial In this tutorial you will learn about the fundamentals of object oriented modelling, the Unified Modelling Language and the software
Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003
Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 18-19 The Unified Process Static dimension Glossary UP (Unified
Increasing Development Knowledge with EPFC
The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,
Modeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
Specification of the UFT Web-Based Fitness Tracking Software
Specification of the UFT Web-Based Fitness Tracking Software STEVEN ARNOLD, CATHY OSTERHOUT, CHUL YIM, SERGIU DASCALU Department of Computer Science University of Nevada, Reno 1664 N. Virginia St., Reno,
Using Use Cases on Agile Projects
Using Use Cases on Agile Projects Ivar Jacobson with Ian Spence Agenda What are agile teams looking for? Cards, conversations, and confirmations Knowing what to do and when it s done Being agile with use
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]
Abstract. 1 Introduction
Amir Tomer Amir Tomer is the Director of Systems and Software Engineering Processes at RAFAEL Ltd., Israel,with whom he has been since 1982,holding a variety of systems and software engineering positions,both
Requirements Management
REQUIREMENTS By Harold Halbleib Requirements Management Identify, Specify, Track and Control Requirements Using a Standard Process About the author... Harold Halbleib has a degree in Electrical Engineering
Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 [email protected] Spring 2014 (elicitation)
Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development
Fundamentals of Information Systems, Fifth Edition Chapter 8 Systems Development Principles and Learning Objectives Effective systems development requires a team effort of stakeholders, users, managers,
Aspect-Oriented Software Development based Solution for Intervention Concerns Problems:Case Study
Aspect-Oriented Software Development based Solution for Intervention Concerns Problems:Case Study Farhad Soleimanian Gharehchopogh Department of Computer Engineering, Science and Research Branch, Islamic
Towards Collaborative Requirements Engineering Tool for ERP product customization
Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
Metadata Management for Data Warehouse Projects
Metadata Management for Data Warehouse Projects Stefano Cazzella Datamat S.p.A. [email protected] Abstract Metadata management has been identified as one of the major critical success factor
A Rational Software Whitepaper
The UML and Data Modeling A Rational Software Whitepaper Table of Contents Introduction...1 The UML Data Modeling Profile...1 Database...1 Schema...2 Table...2 Key...3 Index...4 Relationship...5 Column...6
An MDA Approach for the Development of Web applications
An MDA Approach for the Development of Web applications Santiago Meliá Beigbeder and Cristina Cachero Castro {santi,ccachero}@dlsi.ua.es Univesidad de Alicante, España Abstract. The continuous advances
From Object Oriented Conceptual Modeling to Automated Programming in Java
From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University
Lecture 9: Requirements Modelling
A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview
Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
How To Develop A Multi Agent System (Mma)
S-Tropos: An Iterative SPEM-Centric Software Project Management Process Yves Wautelet, Manuel Kolp, Youssef Achbany IAG Institut d Administration et de Gestion, ISYS Unité de Systèmes d Information, Université
Classical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
Using UML Part One Structural Modeling Diagrams
UML Tutorials Using UML Part One Structural Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,
A Comparison of SOA Methodologies Analysis & Design Phases
202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering
3SL. Requirements Definition and Management Using Cradle
3SL Requirements Definition and Management Using Cradle November 2014 1 1 Introduction This white paper describes Requirements Definition and Management activities for system/product development and modification
User experience storyboards: Building better UIs with RUP, UML, and use cases
Copyright Rational Software 2003 http://www.therationaledge.com/content/nov_03/f_usability_jh.jsp User experience storyboards: Building better UIs with RUP, UML, and use cases by Jim Heumann Requirements
Object Oriented Design
Object Oriented Design Kenneth M. Anderson Lecture 20 CSCI 5828: Foundations of Software Engineering OO Design 1 Object-Oriented Design Traditional procedural systems separate data and procedures, and
The Rap on RUP : An Introduction to the Rational Unified Process
The Rap on RUP : An Introduction to the Rational Unified Process Jeff Jacobs Jeffrey Jacobs & Associates phone: 650.571.7092 email: [email protected] http://www.jeffreyjacobs.com Survey Does your
Rose/Architect: a tool to visualize architecture
Published in the Proceedings of the 32 nd Annual Hawaii International Conference on Systems Sciences (HICSS 99) Rose/Architect: a tool to visualize architecture Alexander Egyed University of Southern California
6 Contracts and Scenarios in the Software Development Process
6 Contracts and Scenarios in the Software Development Process Summary: Software development processes play an important role in the successful and timely delivery of software. There are different approaches
Managing Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie
Estimating Impact of Change
Traceability in Software Engineering Estimating Impact of Change Gøran K. Olsen SINTEF ICT Oslo, Norway [email protected] Overview Model Driven Engineering Traceability Traceability Usage Certification
Automated Modeling of Legacy Systems Using the UML
Automated Modeling of Legacy Systems Using the UML by Pan-Wei Ng Software Engineering Specialist Rational Software Singapore Poor documentation is one of the major challenges of supporting legacy systems;
Clarifying a vision on certification of MDA tools
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,
Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.
Do you know? "7 Practices" for a Reliable Requirements Management by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. In this white paper, we focus on the "Requirements Management,"
A methodology for secure software design
A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 [email protected] 1. Introduction A good percentage of the
UML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior
UML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior by Ben Lieberman Senior Software Architect Blueprint Technologies The core purpose of software development is to provide solutions
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
SOMA, RUP and RMC: the right combination for Service Oriented Architecture
SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational [email protected] March
Improving the Quality of Requirements with Scenarios
Improving the Quality of Requirements with Scenarios Martin Glinz Summary The classical notion of requirements quality is problematic in practice. Hence the importance of some qualities, in particular
Using MDA in Web Software Architectures
Using MDA in Web Software Architectures SANTIAGO MELIA, CRISTINA CACHERO AND JAIME GOMEZ 1 Universidad de Alicante, Spain The new challenges posed by the Internet market have increased the need for Web
Requirements Management Practice Description
Requirements Management Practice Description 1. REQUIREMENTS MANAGEMENT (RM) 1.1 Description of the practice TRASYS provide solutions to effectively manage critical issues and reduce risks in project related
Software Development in the Large!
Software Development in the Large! Peter Eeles Executive IT Architect, IBM [email protected] IBM Rational Software Development Conference 2007 2007 IBM Corporation Agenda IBM Rational Software Development
Evaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2
Designing the SRT control software: Notes to the UML schemes Andrea Orlati 1 Simona Righini 2 1 - I.N.A.F. Istituto di Radioastronomia. 2 Dip. Astronomia - Università degli Studi di Bologna. Dicembre 2008
