arxiv:cs/ v1 [cs.se] 2 Mar 2007
|
|
|
- Alannah McCormick
- 9 years ago
- Views:
Transcription
1 Pre-Requirement Specification Traceability: Bridging the Complexity Gap through Capabilities arxiv:cs/ v1 [cs.se] 2 Mar 2007 ABSTRACT Ramya Ravichandar [email protected] Pre-Requirement Specification traceability is the activity of capturing relations between requirements and their sources, in particular user needs. Requirements are formal technical specifications in the solution space; needs are natural language expressions codifying user expectations in the problem space. Current traceability techniques are challenged by the complexity gap that results from the disparity between the spaces, and thereby, often neglect traceability to and from requirements. We identify the existence of an intermediary region the transition space which structures the progression from needs to requirements. More specifically, our approach to developing change-tolerant systems, termed Capabilities Engineering, identifies highly cohesive, minimally coupled, optimized functional abstractions called Capabilities in the transition space. These Capabilities link the problem and solution spaces through directives (entities derived from user needs). connect the problem and transition spaces; Capabilities link the transition and solution spaces. Furthermore, the process of Capabilities Engineering addresses specific traceability challenges. It supports the evolution of traces, provides semantic and structural information about dependencies, incorporates human factors, generates traceability relations with negligible overhead, and thereby, fosters pre-requirement Specification traceability. Categories and Subject Descriptors D.2.1 [Software Engineering]: Requirements/Specifications General Terms Theory Keywords Capabilities Engineering, Capabilities, Traceability, Requirements Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. TEFSE/GCT 07, March 22-23, 2007, Lexington, KY, USA Copyright 2007 ACM ISBN /03/07...$5.00. James D. Arthur [email protected] Department of Computer Science Virginia Polytechnic and State University Blacksburg, Virginia Manuel Pérez-Quiñones [email protected] 1. INTRODUCTION Current traceability techniques falter when subjected to the dynamics of requirements evolution, user needs volatility, market vagaries, technology advancements and other change-inducing factors that plague software systems during their development cycles. Undoubtedly, the inability to precisely capture and represent the effect(s) of each change has contributed to the long history of system failures [7]. Although, the importance of traceability, and in particular requirements traceability (RT), was recognized in the early nineties [10], the research community is still grappling with the challenges of traceability, especially between requirements and their source needs. In large part, this is because of the difficulty in formalizing user needs, which are often unstructured information. Although, needs are informal expectations of users, they serve as the primary source for requirements specification. If a software system is to exhibit the right functionality, then it is imperative that each system requirement satisfies one or more user needs. Because system validation is performed against requirements, it is critical that we have the ability to trace requirements back to their source needs. This type of traceability is known as pre-requirement Specification (pre-rs) tracing [10]. In fact, it is empirically established that inadequate pre-rs tracing is far more responsible than than post-rs tracing (tracing requirements to design/code artifacts) for defective RT [6] [18]. We conjecture that this is because post-rs tracing works within the convenience of the solution space, mapping requirements to design or code entities. However, pre-rs tracing is required to trace entities from the problem space (needs) to the solution space (requirements). The chasm between these spaces, i.e. the complexity gap [23], is too large of a leap for current traceability techniques. In addition, the effects of this gap manifested as loss of domain information, misinterpreted requirements, misconstrued needs are exacerbated during the development of large-scale systems. We term the intermediary region that includes the complexity gap as the transition space and use it to ease the giant leap from needs to requirements. Figure 1 illustrates the difference between the traditional requirements engineering approach and our solution approach in advancing from the problem to the solution space. Our solution approach for pre-rs traceability is derived from Capabilities Engineering (CE), a process for architecting change-tolerant systems by constructing functional abstractions termed Capabilities in the transition space [26]. These abstractions exhibit high cohesion and low coupling.
2 Problem Transition Space Space Solution Space Tr aditional Requir em ents Engineer ing Capabilities Engineer ing Figure 1: Transition from Needs to Requirements The characteristic of high cohesion localizes the impact of a change. Low coupling implies reduced dependencies, and thereby, minimizes the ripple effect of change. Ripple effect is the phenomenon of propagation of change from the affected source to its dependent constituents [12]. Capabilities influence the basic composition of systems, and in some sense, impose a high-level architecture. Capabilities are formulated from user needs and mapped to system requirements. In the process, they occupy a position that is neither in the problem space nor in the solution space. More specifically, although Capabilities are derived from user needs, they are imbued with design characteristics of cohesion and coupling. This introduces aspects of a solution formulation, and thus, discourages the membership of a Capability in the problem space. On the other hand, Capabilities are less detailed than entities that belong to the solution space. Consequently, Capabilities fit more naturally in the transition space. Furthermore, their formulation from the user needs and mapping to requirements imply that they have the potential to bridge the complexity gap; thus assisting the traceability between needs and requirements as depicted in Figure 1. Moreover, the inherent ability of Capabilities-based systems to accommodate change with minimum impact enhances the efficacy of traceability; random, unstructured ripple-effect impairs the strength of regular traceability techniques. The Capabilities-based development approach strives to accommodate change with minimum impact, and therefore, incorporates pre-rs tracing in its process; traceability is the cornerstone of change-management. The use of the transition space facilitates the capture of domain information, and preserves relationships among needs and their associated functionalities during the progression between spaces. On the other hand, the characteristics of high cohesion and low coupling of Capabilities, support traceability in evolving systems by localizing and minimizing the impact of change. The ability to trace is unhindered by the system magnitude when utilizing a Capabilities-based development approach because traceability techniques are embedded into the process. Moreover, by considering traceability as an integral part of the development effort, several issues relating to human factors can be resolved. For example, often the importance of traceability is undermined because it is regarded as a time-consuming activity when executed in isolation. The remainder of the paper is organized as follows: Section 2 discusses related work and outlines the overall process of engineering Capabilities. In Section 3, we define each space, discuss the role of CE in facilitating traceability within each space and examine the spaces connectivity in terms of common linkages. Then, in Section 4 we present how the use of a Capabilities-based development approach addresses specific challenges of traceability. Our conclusions are surmised in Section BACKGROUND We first clarify the usage of the terms requirement and requirement specification in the context of our research. A common definition of RT is the ability to describe and follow the life of a requirement, in both a forwards and backwards direction [10]. Forward traceability is tracing a requirement to its design or code entities, and backward traceability is tracing a requirement to its sources [32]. According to these definitions a requirement is not necessarily a part of a specification document. Pre-RS tracing, however, refers to the traceability aspects of a requirement before its inclusion in a specification document. Consequently, there is an overlap between the different modes of traceability; this is graphically illustrated in [20]. This overlap stems from the fact that a requirement is iteratively refined until it is suitable for a formal specification. As a result, any statement that describes what is expected from the system, irrespective of its level of refinement, is termed a requirement. However, we make a distinction with respect to the terminology used. We consider a requirement as a statement that is formally recorded in a software requirements specification document [19]. Therefore, we consider the terms requirement and requirement specification as one and the same, and so use them interchangeably. Several models have been constructed to assist pre-rs traceability. For example, Contribution Structures [11] consider the role of users, personnel, and others, in eliciting information to trace the origin of requirements. Similarly, Yu and Mylopoulos [34] factor in the influence of the relationships between stakeholders on the RT process. These methods emphasize the social aspect of requirements elicitation. On the other hand, Pohl [21] tailors the Requirements Engineering (RE) environment to capture traceability information between needs and requirements using PRO-ART. More general reference models for traceability have been developed by Ramesh and Jarke [25]. In the Capabilities-based development approach, traceability information is more of an implicit by-product. Empirical research evidence indicates the failure of traditional RE to cope with requirements evolution, especially when building large systems [3]. In contrast to traditional RE which attempts to minimize change, CE strives to accommodate change with minimum impact. The difference in the change-management strategies explains why the activity of traceability is an inherent part of the CE approach, whereas it is considered an extraneous activity in the RE approach. Although, CE utilizes stable Capabilities to develop the system, it is imperative that the process also has the ability to trace to and from the changed entities inorder to ensure the successful accommodation of change. Figure 2 illustrates the major steps of the CE process. Capabilities are identified after needs analysis but prior to requirements specification, and indicate the functionality desired of a system at various levels of abstraction. As
3 Needs Decomposition Finalized Capabilities Requirements Transformation Formulation Optimized Capabilities Initial Capabilities Optimization Figure 2: Capabilities Engineering Process shown in Figure 2, Capabilities are formulated from directives. are system characteristics obtained from user needs. They assist in the transfer of domain information, and help determine the initial sets of Capabilities, based on the values of cohesion, coupling, and abstraction level [27]. These sets are then subjected to the constraints of technology and schedule to produce an optimized set of Capabilities. Throughout the process, Capabilities are associated with a set of directives, which are finally transformed to requirements. The output of the CE process is a set of finalized Capabilities, and their associated requirements. Hence, needs transition to requirements through directives and Capabilities. In the following section we discuss how the relationship between needs, directives, Capabilities and requirements, as defined by the CE process, aids in pre-rs traceability and conceptually prove that Capabilities help bridge the complexity gap. 3. ROLE OF CE IN PRE-RS TRACING Traditional RE transitions directly from needs to requirements, as illustrated in Figure 1. Needs are the primary source of information for system development. They are stated in a natural language form, and thereby, can often be ambiguous, vague and misleading. Hence, needs are unsuitable as input to the design phase; instead, we utilize system requirements derived from user needs. Thus, there is a transition from needs to requirements. These requirements are more formal, and display quality characteristics such as accuracy, unambiguity, testability, and others [1]. Although, formalization of requirements does reduce the possibility of misinterpretations, it usually fails to convey pertinent problem domain information. In fact, it has been recognized that the informality of a natural language has the advantage of communicating certain knowledge that formalization neglects to capture [8]. This loss of information has been identified as a key issue in RE [35]. We claim that there exists an intermediary space, which symbolizes a middle-ground between the the extremes of formality and informality. This space provides an opportunity to metamorphose from the natural informality of the problem space to the rigid formality of the solution space in a more deliberate and systematic manner. In addition, the consequences of a direct leap from the problem domain to the solution domain misinterpreting needs, missing requirements, loss of domain information and so forth can be mitigated. We term the intermediary space that includes the complexity gap as the transition space. Again, Figure 1 graphically illustrates how CE uses the transition space to decrease the leap from problem to solution space. In other words, Capabilities assist in a smoother transition from needs to requirements. Sections 3.1, 3.2, and 3.3 discuss in detail the problem, transition and solution spaces, respectively. In particular, we first define and describe the elements of each space, then discuss what activity of the CE process is executed, and finally explain how traceability is achieved within that space. Lastly, in Section 3.4 we present a unified perspective on the connectivity between the three spaces, and illustrate how pre-rs traceability is automatically supported by the activities of the CE process. 3.1 The Problem Space The distinction between a space and a domain is often blurry and is used interchangeably. For example, the term problem space is used to indicate a conceptual region of relevance associated with the problem area [31] [30]. However, in some instances the term problem domain is also employed to imply the same [15] [28]. For the purposes of clarity, we utilize the notion of problem and solution domains as discussed by Hull et al. to describe spaces [13]. More specifically, we characterize a space in terms of three elements: the view, the domain and the resident entities. By this characterization, the problem space is composed of the entities: needs and directives. These entities are defined from a user s view and are described in the language of the problem domain. Formally, the problem space is a collective aggregation of user view, problem domain, needs, and directives. Activities such as problem identification, decomposition, domain analysis [22] and others that help impart a better understanding of the problem, are performed in this space. An application of the user view on the problem domain generates needs, which are, to a large extent, informal and unstructured. A pictorial representation of the problem space is shown in Figure 3. User View Needs Decomposition Problem Domain Problem Space Figure 3: Problem Space User View: This refers to the perspective of a stakeholder who is interested in the system to be developed. The user view includes both direct and indirect viewpoints [16]. Problem Domain: The problem domain denotes the knowledge area(s) relevant to the problem being solved. For example, if the problem is to build an ATM, then the problem domain is banking. Needs: A need specifies what is desired of the system from a user s perspective, and is stated in the language of the problem domain. It is obtained by the applying a user view on the problem domain. It is composed of objects and operations of the problem domain as
4 perceived by the user. Resulting needs cause the generation of other needs. User views can also activate other user views. Hence, every element feeds into the problem space as an input to produce more needs. : We define a directive as a detailed characteristic of the system formulated in the problem domain language. It can be regarded as a requirement with context information. In the problem space, the purpose of a directive is two-fold. First, it helps capture domain information. Second, it facilitates the progress from the problem space to the transition space. An example of a user need, a directive, a Capability and a requirement, for a hypothetical course management system is described in Table 1. Entity Need Capability Directive A Requirement Example Need a facility for students and faculty to share ideas, discuss questions Discussion Forum Provide a separate section for faculty to post important announcements For the announcement section, the write permission must be enabled only for users designated as faculty. representation of the system functionality, depicting the dependency links between different functions. The use of such a graph supports comprehensive pre-rt traceability as discussed in Section An FD graph, G = (V, E), is an acyclic directed graph, where V is the vertex set and E, the edge set. Figure 4 presents an example graph. The root node represents the overall mission of the system, internal nodes denote functional abstractions and the leaves symbolize directives. In fact, it has been observed that in a decomposition tree, detailed information is usually specified at the leaves [31]. Similarly, directives are low-level details pertaining to the system to be developed. An edge can represent decomposition, intersection or refinement of a functionality, as depicted in Figure 4. Decomposition implies that the functionality of a parent node is equivalent to the union of the functionalities of its children nodes. An intersection edge indicates a common functionality. Refinement is used to elaborate the functionality of the parent node. For a more formal exploration of the FD graph see [26]. Functional Abstractions decomposition m Mission Table 1: Examples in the context of a Course Management System n1 n2 n3 intersection n4 refinement We begin the process of CE by discovering, eliciting and understanding needs from the user. The needs component of the CE process, and the subsequent decomposition to directives illustrated in Figure 2 is confined to the problem space. In the following section, we explain the decomposition activity, expand on the role of directives and then discuss how the deliverable of the decomposition activity a Function Decomposition (FD) graph aids traceability CE Activity Decomposition: Decomposition is an intuitive process of recursively partitioning a problem until an atomic level is reached. This activity uses an FD graph to represent a decomposition of system functionality, as indicated by user needs at various levels of abstraction. We begin with user needs because they help determine what problem is to be solved; in the context of software engineering this means what functionality is expected of the system to be developed. Different techniques such as interviews, questionnaires, focus groups, introspection and others [9] are employed to gather information from users. A need can be expressed as a real want or a perceived solution. In either case, we are interested only in understanding the functionality expected of the system. Often, because of the informality of the problem domain language, needs are expressed at varying levels of abstraction; the variance in abstraction is depicted by the depth of a node in the FD graph, where depth is the distance of a node from the root. Thus, greater the distance, lower is the abstraction level. The links (edges) between the nodes indicate decomposition, intersection or refinement relationships. The FD graph provides a visual n5 n6 n7 n8 n9 d 1 d 2 d 3 d 4 d 5 d 6 d 7 d 8 d 9 d 10 d 11 d 12 d 13 d 14 Figure 4: Example FD Graph G = (V, E) Traceability in the Problem Space We now enumerate how the FD graph, resulting from the activity of decomposition, assists in pre-rs traceability: 1. By the virtue of construction, the FD graph represents, in some sense, dependency links between user needs. A change in a parent node affects one or more of its children. Therefore, the effect of a change in a need is more easily traced to its dependent constituents. Subsequently, the FD graph facilitates traceability among needs. In contrast, present traceability methods are more concerned with the traces between requirements and its sources, rather than links within the sources themselves. As a result, a changed need is traced only to its associated set of requirements; there is insufficient information to assess the impact of change on other needs, and subsequently, their requirements. Thus, we claim that this type of traceability is important to understand the ripple-effect of change within needs, so as to completely record the effect on requirements. When utilizing the FD graph, explicit efforts to maintain traces among the source needs are unnecessary. 2. The FD graph presents an intuitive decomposition of functionality expected of the system to be developed.
5 In the process of decomposition, as shown in Figure 4, nodes are described at different levels of abstraction. This kind of a visual representation encourages the user to focus on the functionality of the system, rather than on the low-level details. In addition, the hierarchical decomposition of the needs functionality permits a more systematic approach to stating what is expected of the system. This reduces the possibility of representing conflicting statements, redundant functions, and inconsistent expectations across different user classes. Furthermore, the FD graph, structures the informality of problem space, and thereby, provides an opportunity to automate the traceability process. 3. The leaves of the FD graph are directives, which are described in the language of the problem domain. The set of all directives represents the entire system functionality. Figure 2 indicates that directives are used to formulate Capabilities that occur in the transition space. More specifically, directives are the connecting links between the problem and transition spaces, and thereby, help preserve and transfer the problem domain information from the former to the latter. We claim that directives implicitly aid pre-rs traceability, by serving as inter-connections between the disparate spaces. Section 3.2 elaborates on this aspect. It is inevitable that a large part of the needs elicited from different sources is inconsistent or conflicting [14].However, the use of an FD graph helps capture needs and represent desired system functionalities in a systematic manner. Furthermore, the graph also represents functions at different levels of abstraction, which aids in understanding their relative importance. For example, fulfilling the overall mission of the system is more important than implementing a directive. The structure of the graph facilitates traceability among needs by introducing aspects of formality in the highly irregular problem space. Recall that the leaves of the graph are directives, which connect the problem and the transition spaces. In the following section, we describe how Capabilities, defined in the transition space, are formulated from these directives, and subsequently, discuss traceability within and between Capabilities. 3.2 The Transition Space In the transition space, we introduce specific design characteristics of cohesion and coupling. We know that entities with these properties localize and minimize the propagation of change, which is crucial for promoting change-tolerance and also for structuring pre-rs traceability. We move away from the informality of the problem space by adopting a system view introducing design aspects of cohesion and coupling on the expected functionality of the system. However, we still utilize the problem domain but generate new entities termed Capabilities. Thus formally, the transition space is defined as a collective aggregation of system view, problem domain, and Capabilities. A pictorial representation of the transition space is shown in Figure 5. Note that directives are also present in the transition space because they facilitate the change from the problem to the transition space. They originate, however, in the problem space, and so belong there. Transition Space Formulation Capabilities Optimized Capabilities System View Problem Domain Optimization Figure 5: Transition Space System View: We define system view as the software engineering perspective that guides the identification of Capabilities based on the design principles of high cohesion, low coupling, balanced abstraction levels, as constrained by schedule and technology. Figure 5 illustrates that initial Capabilities are formulated from directives. These initial Capabilities are iteratively optimized to produce an optimized set of Capabilities. In essence, formulation and optimization, the activities of the CE process as shown in Figure 2, incorporate the system view to produce Capabilities. Capabilities: We describe Capabilities as functional abstractions that exhibit high cohesion, low coupling and are defined at balanced levels of abstraction [27]. The optimized set of Capabilities, chosen to develop the system, reflect the constraints of technology feasibility and implementation schedules. The input to the transition space is an FD graph, which describes expected system functionalities at varying levels of abstraction, and directives that help realize these functions. The activity of formulation, uses these directives to identify initial sets of highly cohesive, minimally coupled Capabilities. Then, the optimization activity applies the constraints of schedule and technology to determine the final set of Capabilities. We briefly describe each of these activities and then discuss how they assist in pre-rs traceability CE Activity Formulation: The objective of the formulation activity, as shown in Figure 2, is to identify sets of Capabilities from all possible functional abstractions, depicted in the FD graph. For example, for the graph described in Figure 4, the set of nodes {n 1, n 7, n 3} is a potential set of Capabilities because it encompasses all directives. Furthermore, each node is associated with a unique set of directives; directives {d 1,..., d 5} are associated with n 1, {d 6,..., d 9} with n 7, and {d 10,..., d 14} with n 3. Many different sets can be computed from a single FD graph. By applying specific measures [26] we choose those sets which exhibit high cohesion and low coupling values. A discussion about the details of these metrics is outside the scope of this paper. Instead, for the purpose of understanding traceability aspects, we direct our attention to the cohesion and coupling characteristics of Capabilities.
6 Cohesion, depicts the togetherness of elements within an entity. Every element of a highly cohesive unit is directed toward achieving a single objective. Capabilities are designed to possess high functional cohesion, the highest level of cohesion [4] among all the other levels [33], and therefore the most desirable. In a Capability all of its associated directives are devoted to realizing the function represented by the Capability. Failure to implement a directive can affect the functionality of the associated Capability with varying degrees of impact. We hypothesize that the degree of impact is directly proportional to the relevance of the directive to the functionality. Consequently, the greater the impact, the more essential the directive. Hence, each directive is assigned a weight on a [0, 1] scale to indicate its relevance value; existing risk impact categories: Catastrophic, Critical, Marginal and Negligible [5] are used to guide this assignment [26]. The other characteristic of Capabilities is low coupling. Coupling is a measure of interdependence between entities [29]. Dependency links between entities behave as change propagation paths. The higher the number of links, the greater is the likelihood of ripple effect. The edges of the FD graph indicate the links between Capabilities and their directives. We measure coupling between Capabilities as a function of the coupling between their constituent directives [26]. Optimization: The inputs for the optimization activity are sets of highly cohesive, minimally coupled Capabilities. This activity aims to identify that set which best accommodates the constraints of schedule and technology, and is an ongoing component of our current research Traceability in the Transition Space We now discuss how the structure and characteristics of a Capability and its associated directives assist in pre-rs traceability in the transition space. 1. Capabilities are functional abstractions identified from the FD graph, and are associated with a set of directives. Capabilities provide stakeholders with a highlevel perspective of the system functionality. In contrast, directives within each Capability furnish the more rudimentary details. We claim that the structure of Capabilities and their directives serve the pre-rs traceability interests of two disparate groups of users high-end and low-end users as identified by Ramesh [24]. High-end users work with complex systems that have a large number of requirements, and can easily become entangled in the details. However, Capabilities can be utilized to understand, from a high-level perspective, the expected system functionalities, and thereby, ensure that user expectations are satisfied. In contrast, low-end users are known to neglect pre-rs traceability because they are more concerned with detailed requirements. In such a case, these users can focus on directives to trace the origin of requirements because they are similar to detailed requirements but are stated in the language of the problem domain. Thus, we claim that Capabilities and their directives help overcome certain shortcomings of pre-rs traceability among different groups of users. 2. Capabilities exhibit high functional cohesion. Each associated directive, with varying degrees of relevance, is essential for realizing a Capability. A change in a directive may affect the parent Capability, and also other associated directives. Thus, Capability-directive links established by the FD graph can be utilized for the purposes of traceability. In other words, the property of high cohesion facilitates traceability within a Capability. 3. Minimally coupled Capabilities reduce the overhead of maintaining traceability information between each and every directive. This is because low coupling implies decreased dependencies, and therefore, reduces the need for traceability paths between certain entities. 4. One can use information from the FD graph to record which directives are common to different Capabilities, and maintain traces for them. This is in agreement with the observation that a change in a detailed requirement is often less significant, and hence, it is more cost efficient to maintain traceability for critical entities [24]. The criticality of directives can be deduced from their relevance values, which are elicited for the computation of the cohesion measure. In the transition space, we use the system view to formulate and optimize Capabilities from the FD graph generated in the problem space. We observe that directives behave as linkages between the two spaces, and also, preserve and transfer problem domain knowledge. These directives are transformed to requirements, which belong to the solution space. We now discuss the solution space, the CE activity of transformation (shown in Figure 2) and traceability within the space. 3.3 The Solution Space The solution space is usually understood as the conceptual realm associated with the technical aspects of developing the system. Often, as with the problem space, the terms solution domain and space are used interchangeably. However, we envision the solution space as being defined by the system view, which generates entities called requirements from directives. These requirements are described in the language of the solution domain. We formally describe the solution space as the collective aggregation of the system view, the solution domain, and requirements. In the solution space, activities related to developing the system, such as establishing requirements, modeling architecture, developing design specifications, coding, unit testing, integration and testing, system maintenance and other downstream development processes are performed. We restrict our focus up to the specification of requirements, and therefore, the graphical representation of the solution space in Figure 6 presents only Capabilities and requirements as its entities. Capabilities that are present in the solution space, are the unchanged entities that originated in the transition space. Hence, Capabilities behave as connectors between the transition and solution spaces, just as directives do between the problem and transition spaces. The element, system view, has already been defined in Section 3.2. Therefore, we now describe the other elements solution domain and requirements of the solution space.
7 Solution Space Solution Domain Finalized Capabilities Requirements System View Tranformation Figure 6: Solution Space Solution Domain: Solution domain denotes the technical area(s) relevant to the system being developed. This assumes that a solution always implies the development of a system, which is true in software engineering. For example the solution domain provides technical concepts such as design patterns and architectural styles that are relevant to the design of an ATM. Requirements: A requirement is a statement specified in the language of the solution domain that states what is expected of the system and exhibits specific quality characteristics such as testability, verifiability, accuracy, unambiguity, and others [1]. The input to the solution space is an optimized set of Capabilities and their associated directives. Moving from the transition to the solution space entails a change in the domain language used to describe the entities. In particular, requirements are now stated in the solution domain language. These requirements are derived from directives. Recall, directives originate in the problem space, assist the change to the transition space and are now transformed to requirements in the solution space. Also, Capabilities identified in the transition space progress unchanged into the solution space, and in the process become associated with a set of requirements as opposed to a set of directives. We now examine the transformation activity and discuss traceability in the solution space CE Activity Transformation: Requirements are still the basis for developing systems. They fulfill several purposes that include providing the rationale for design, criteria for validation and others as enumerated in [19]. Thus, there is a need to transform directives to requirements. In systems that are incrementally developed, only the directives associated with the Capability chosen for development are to be transformed to requirements. This is in agreement with the principle of delaying the specification of requirements in Capability Based Acquisition [17], and thereby, avoiding the pitfalls of fixed requirements. We hypothesize that there is a one-many mapping between directives and requirements Traceability in the Solution Space Traceability aspects of the transition space are applicable to the solution space because of the similarity between directives and requirements. Both are low-level detailed entities that describe what is expected of the system. We enumerate the traceability advantages in the solution space obtained by the utilization of the CE process. 1. When transforming directives to requirements, one can use the relevance values to determine the criticality of requirements. Recall that relevance values indicate the importance of a directive in achieving the objective of its parent node. For example, a directive with a relevance value 1 is mission-critical, and therefore, requirements derived from this directive are most likely critical too. This information can be utilized to selectively capture certain traces. In fact, it has been recognized that not all requirements are equal and that it is cost-effective to maintain traces to and from critical requirements [24]. 2. Pinheiro [20] describes inter-requirements traceability as capturing the relationships between requirements. The CE process assists this type of traceability in three different ways: (a) A directive is transformed into one or more requirements. Because the requirements are derived from the same directive, they share a very strong relationship, and therefore, a change in one is most likely to affect the other requirements. Hence, there is an implicit inter-requirements traceability among requirements derived from the same directive source. (b) In the solution space, Capabilities are associated with a set of requirements that are transformed from directives. Note that Capabilities are unchanged when progressing from the transition to the solution space. By definition, Capabilities exhibit high functional cohesion; every element is essential to attaining its objective. Therefore, requirements associated with each Capability are strongly related to each other because each requirement is working towards fulfilling the same Capability. This facilitates inter-requirements traceability within a Capability and alleviates the overhead of analyzing exponential number of relationships among all possible requirements. (c) Minimally coupled Capabilities aid in selective traceability between the requirements associated with different Capabilities. that are shared among Capabilities in the transition space result in requirements which are common in the solution space. As a result, traceability efforts can focus on these requirements, which have the potential to affect more than one Capability when changed. 3. Tracing is performed only when a need is perceived. For example, requirements are tagged with keywords, cross-referenced, etc., to facilitate future tracing. However, the same importance has not been extended to the tracing from needs to requirements. We conjecture from the observations above that the process of CE may ease the difficulty of tracing from needs to requirements and thereby, further assist pre-rs traceability.
8 Thus, in the solution space, requirements are specified for Capabilities that are to be developed. These requirements are obtained from directives by the activity of transformation. The nature of a Capability, and its directives or requirements, facilitate traceability in the transition space and the solution space, respectively. Moreover, the properties of Capabilities assist in inter-requirements traceability. We now briefly discuss, from a more global perspective, how the different spaces are connected. 3.4 Connecting Spaces The preceding sections have described and discussed the traceability aspects in each space. In this section, we adopt a unified perspective and examine the relationship between the spaces. This is essential to understand the potential for traceability from needs to requirements using the CE process. When making a transition from one space to another, either the domain or the view varies. For example, the view changes in the progression from the problem space to the transition space; the domain changes in the shift from transition space to the solution space. This is presented in Table 2, where the italicized entries indicate the changed element. In addition, we observe that the spaces are con- Space Domain View Entities Problem Problem User Needs, Transition Problem System Capabilities Solution Solution System Requirements Table 2: Connecting the Spaces nected through common entities. Needs are decomposed to directives in the problem space; these directives are utilized to identify Capabilities in the transition space. As mentioned earlier, directives carry with them problem domain information which is preserved in the transition space. Furthermore, they are also used to identify Capabilities, which pass unchanged into the solution space. Thus, Capabilities and directives behave as connectors between the problem and solution spaces. Figure 7 graphically illustrates the transitions between and common elements resident in the spaces. The solution approach of the CE process illustrated Problem Space User View Needs Problem Domain Decomposition Solution Domain Requirements System View Solution Space Transition Space System View Problem Domain Formulation Optimized Capabilities Transformation Capabilities Optimization Figure 7: Capabilities Engineering in terms of Spaces in Figure 7 strives to resolve the problem of the complexity gap represented in Figure 1. This is achieved by introducing Capabilities to bridge the chasm between the spaces. In addition, the conventional overhead and difficulties associated with pre-rs traceability are alleviated with the utilization of the CE process. 4. TRACEABILITY CHALLENGES In this section we examine from a pre-rs traceability perspective how CE addresses specific challenges. In particular, we refer to the challenges enumerated in the Grand Challenges document [2] to structure our discussion. 4.1 Supporting Evolution Large-scale systems constantly evolve during their lengthy development cycles. Consequently, there is an enormous overhead in ensuring that the traceability links depict current dependencies. Changes can occur in needs, directives, Capabilities or requirements. However, we are specifically concerned with the impact of any such change on Capabilities or requirements because they are the formal inputs to the development phases. Therefore, we present how CE facilitates traceability to requirements in the event of different change scenarios. Needs Change: The FD graph illustrates a decomposition of functions, which essentially represents the user needs. The visual structure of the graph provides information about nodes that can be affected by a need change. For example, in Figure 4 if a need associated with node n 3 changes, then it is evident that nodes n 8 and n 9 are most likely to be affected because they are connected by decomposition edges to the parent node n 3. If any of the affected nodes are Capabilities, then the set of associated requirements are also impacted. Change: In the event of a directive change, its relevance value can provide an estimate of the possible impact on the associated Capability. Furthermore, this change also affects those requirement(s) obtained from the changed directive. Also, coupling between Capabilities is computed as a function of the coupling between their respective directives. Therefore, low coupling implies that a change in a directive has a decreased likelihood of affecting directives in another Capability, or their derived requirements. Capabilities Change: The high cohesion and low coupling of a Capability contains the impact of change to within a Capability. In all likelihood, only the set of requirements associated with it are affected. The dependencies between Capabilities can be examined using the FD graph to analyze the paths of change propagation. Requirements Change: As with directives, requirement changes are contained to within a Capability. Reduced coupling between Capabilities ensures that a change in a requirement has low impact on requirements associated with other Capabilities. Thus, no special effort is required to maintain the traceability information about all links in the pre-rs phase. Instead, the design of the FD graph and the subsequent derivations of requirements from directives, provide a natural means for traceability. In addition, a Capability s characteristics of
9 high cohesion and low coupling, contain and reduce the impact of change, respectively. This serves to alleviate the burden of capturing all possible traces, which is otherwise difficult in an evolving system. 4.2 Link Semantics The FD graph is constructed in the problem space in accordance to certain rules. In particular, different types of nodes and edges are interpreted in the context of the problem space. As a result, by the virtue of its definition, the FD graph provides both link semantics and indicates the granularity of nodes. This information is essential to understand the underlying traceability relationships. Link Type: The FD graph is currently concerned only with representing expected system functionality, and not with the depiction of non-functional needs. Therefore, we define the edges of the graph to represent decomposition, intersection or refinement relationships. These links are independent of any particular domain, and therefore, are fundamental in nature. Granularity: The root of the graph represents the overall system mission. In contrast, the leaves denote the directives, which are low-level detailed characteristics. The internal nodes occupy the middle ground depicting functionalities at different levels of abstraction. We observe that the abstraction level of a node increases with its decreasing distance from the root (distance is the number of edges in the shortest path). Thus, the natural hierarchical structure of the graph indicates the granularity of different entities. 4.3 Scalability Current traceability techniques are more suited for tracing from and among structured documents of the solution space, than within the informality of the problem space. In addition, these techniques also have to scale up to maintaining traceability in large systems. Our solution approach, the CE process, provides inherent traceability information, which can be used to adequately manage the enormous complexity of large-scale systems, or to serve the interests of small-scale system development. In either case, the CE approach facilitates traceability within and between the different spaces. In particular, as discussed in Section 3.1.2, CE facilitates traceability in the problem space, which has been largely neglected hitherto. 4.4 Human Factors Traceability is often viewed as an activity that is extraneous to the actual development process. Human beings regard traceability efforts as invasive and time-consuming because of the inability to generate automatic traces as a by-product of development. In addition, it is difficult to trace between artifacts created by different users. However, we claim that using a Capabilities-based approach reconciles these problems: Integrating Traceability: The FD graph is the basis for the decomposition and formulation activities of the CE approach. Additionally, its edges behave as links, and thereby serve as a means for tracing between needs, directives and Capabilities. Thus, unlike current techniques in the CE development approach there is little overhead in producing trace information. Bridging Semantic Differences: As discussed in Section 3.4, the difficulty of tracing artifacts across different spaces is alleviated by maintaining the linkages between spaces. 4.5 Cost Benefit Analysis Complete and comprehensive traceability between every entity produced during the development process is theoretically desirable but practically infeasible. The cost of maintaining all possible traces is not commensurate with the advantages one may obtain. In particular, as discussed in Section 3.3.2, to derive maximal benefits of traceability it is more prudent to maintain links between entities that are mission-critical or those that are described at a high-level of abstraction. We know that Capabilities enable one to abstract back from the lower details and focus on larger aspects of complex systems. By the same token, the requirements associated with Capabilities permit the analysis of details pertinent to that function. We certainly acknowledge that there is an overhead cost associated with CE. We conjecture that this cost is minimal when one considers that the inherent traceability provided by CE reduces the cost associated with upfront traceability effort. Additionally, the cost-savings achieved through the property of change-tolerance, the ease of downstream maintainability, and the facility to support critical traceability, argue that the the introduction of Capabilities provides benefits that exceed the costs of traceability. 5. CONCLUSION Empirical evidence suggests that pre-rs traceability is crucial for the success of RT. This type of traceability is concerned with capturing relationships between requirements and their sources, which are primarily user needs. However, this process is challenged by the vast disparity between the informality of a user need and the rigidity of a system requirement. We claim there exists an intermediary space called the transition space, which can structure the movement from one space to the other. More specifically, we identify highly cohesive, minimally coupled, optimized functional abstractions termed Capabilities in this space. Here the Capabilities are associated with a set of directives, which are obtained by the decomposition of user needs. Hence, directives preserve and carry domain information from the problem to the transition space. However, it is the Capabilities that progress unchanged into the solution space, where their directives are transformed to requirements. Therefore, although, the spaces are dissimilar they are connected through common entities. By establishing such relationships, we are no longer constrained by the traditional techniques of traceability. The use of directives and Capabilities generates an inherent traceability mechanism from needs to requirements. Furthermore, the structured nature of this approach supports the development of automated tools to capture and analyze different trace paths. Thus, by the virtue of using a Capabilities-based development approach, the effort to directly relate informal needs and formal system requirements is reduced, the complexity gap between the spaces is bridged, and the ability to trace requirements back to their needs and vice-versa, i.e. pre-rs traceability, is provided.
10 6. REFERENCES [1] IEEE recommended practice for software requirements specifications. IEEE Std , [2] Problem statements and grand challenges. Technical Report COET-GCT , Center of Excellence for Traceability, Kentucky, USA, Sept [3] T. E. Bell and T. A. Thayer. Software requirements: Are they really a problem? In ICSE 76: Proceedings of the 2nd international conference on Software engineering, pages 61 68, [4] J. M. Bieman and L. M. Ott. Measuring functional cohesion. IEEE Transactions in Software Engineering, 20: , [5] B. W. Boehm. Software Risk Management. IEEE Computer Society Press, New York, [6] A. C. W. Finkelstein. Tracing back from requirements. In IEE Colloquium on Tools and Techniques for Maintaining Traceability During Design, pages 7/1 7/2, London, UK, [7] R. L. Glass. Software Runaways: Monumental Software Disasters. Prentice Hall, Upper Saddle River, NJ, [8] J. Goguen. Formality and informality in requirements engineering. In ICRE 96: Proceedings of the 2nd International Conference on Requirements Engineering, pages , Washington, DC, USA, [9] J. A. Goguen and C. Linde. Techniques for requirements elicitation. In Proc. Int. Symp. Req. Engineering, pages , Los Alamitos, California, [10] O. C. Z. Gotel and A. C. W. Finkelstein. An analysis of the requirements traceability problem. In 1st International Conference on Requirements Engineering, pages , Colorado Springs, Co, United States, [11] O. C. Z. Gotel and A. C. W. Finkelstein. Contribution structures. In International Symposium on Requirements Engineering, pages , York, England, [12] F. M. Haney. Module connection analysis - a tool for scheduling software debugging activities. In Proceedings of Joint Computer Conf., pages , [13] E. Hull, K. Jackson, and J. Dick. Requirements Engineering. Springer, [14] A. Hunter and B. Nuseibeh. Analyzing inconsistent specifications. In IEEE International Symposium on Requirements Engineering, page 78, Washington DC, USA, [15] M. Jackson. Problems and requirements [software development]. In RE 95: Proceedings of the Second IEEE International Symposium on Requirements Engineering, page 2, Washington, DC, USA, IEEE Computer Society. [16] G. Kotonya and I. Sommerville. Requirements engineering with viewpoints. Software Engineering Journal, 11:5 18, Jan [17] M. Montroll and E. McDermott. Capability-based acquisition in the missile defense agency: Independent research project. Storming Media, [18] G. Orlena and F. Anthony. Making requirements elicitation traceable. In Workshop Introduction, Department of Computing, Imperial College of Science,Technology and Medicine. [19] D. L. Parnas and P. C. Clements. A rational design process: How and why to fake it. IEEE Trans. Softw. Eng., 12(2), [20] F. A. Pinheiro. Requirements traceability. In Perspectives On Software Requirements. Kluwer Academic Publishers, [21] K. Pohl. Pro-art: Enabling requirements pre-traceability. In Proceedings of the Second International Conference on Requirements Engineering, pages 76 85, Colorado Springs, [22] R. Prieto-Díaz. Domain analysis: an introduction. SIGSOFT Softw. Eng. Notes, 15(2):47 54, [23] L. B. S. Racoon. The complexity gap. ACM SIGSOFT Software Engineering Notes, 20:37 44, [24] B. Ramesh. Factors influencing requirements traceability practice. Commun. ACM, 41(12):37 44, [25] B. Ramesh and M. Jarke. Towards reference models for requirements traceability. IEEE Transactions on Software Engineering, 27(1):58 93, [26] R. Ravichandar, J. D. Arthur, and S. Bohner. Capabilities engineering: Constructing change-tolerant systems. In 40th Hawaii International Conference on System Sciences (HICSS 07), page 278b, Big Island, Hawaii, USA, [27] R. Ravichandar, J. D. Arthur, and R. P. Broadwater. Reconciling synthesis and decomposition: A composite approach to capability identification. In 14th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, Tucson, Arizona, USA, [28] I. Sommerville and P. Sawyer. Viewpoints: principles, problems and a practical approach to requirements engineering. Ann. Softw. Eng., 3: , [29] W. P. Stevens, G. J. Myers, and L. L. Constantine. Structured design. IBM Systems Journal, 13(2): , [30] W. Tracz. DSSA (domain-specific software architecture): pedagogical example. SIGSOFT Softw. Eng. Notes, 20(3):49 62, [31] M. Weber and J. Weisbrod. Requirements engineering in automotive development - experiences and challenges. In RE 02: Proceedings of the 10th Anniversary IEEE Joint International Conference on Requirements Engineering, [32] R. J. Wieringa. An introduction to requirements traceability. Technical report ir-389, Faculty of Mathematics and Computer Science, University of Vrije, Amsterdam, sept [33] E. Yourdon and L. Constantine. Structured Design. Prentice-Hall, Englewood Cliffs, N.J, [34] E. Yu and J. Mylopoulos. Understanding why in software process modeling. In International Conference on Software Engineering, pages , Sorrento, Italy, [35] P. Zave and M. Jackson. Four dark corners of requirements engineering. ACM Transactions on Software Engineering and Methodology, 6:1 30, 1996.
Requirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
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
PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3)
PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3) 1st February 2006 Version 1.0 1 P3M3 Version 1.0 The OGC logo is a Registered Trade Mark of the Office of Government Commerce This is a Value
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
Partnering for Project Success: Project Manager and Business Analyst Collaboration
Partnering for Project Success: Project Manager and Business Analyst Collaboration By Barbara Carkenord, CBAP, Chris Cartwright, PMP, Robin Grace, CBAP, Larry Goldsmith, PMP, Elizabeth Larson, PMP, CBAP,
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]
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
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA)
Software Project Quality Management Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA) ABSTRACT Quality Management is very important in Software Projects.
Computing & Communications Services
2010 Computing & Communications Services 2010 / 10 / 04 Final Kent Percival, M.Sc., P.Eng. Defining the Value of the Business Analyst In achieving its vision, key CCS partnerships involve working directly
An Integrated Quality Assurance Framework for Specifying Business Information Systems
An Integrated Quality Assurance Framework for Specifying Business Information Systems Frank Salger 1, Stefan Sauer 2, Gregor Engels 1,2 1 Capgemini sd&m AG, Carl-Wery-Str. 42, D-81739 München, Germany
Enterprise Architecture Assessment Guide
Enterprise Architecture Assessment Guide Editorial Writer: J. Schekkerman Version 2.2 2006 Preface An enterprise architecture (EA) establishes the organization-wide roadmap to achieve an organization s
A Variability Viewpoint for Enterprise Software Systems
2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,
SOA: The missing link between Enterprise Architecture and Solution Architecture
SOA: The missing link between Enterprise Architecture and Solution Architecture Jaidip Banerjee and Sohel Aziz Enterprise Architecture (EA) is increasingly being acknowledged as the way to maximize existing
Chapter 4 Software Lifecycle and Performance Analysis
Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and
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
2. MOTIVATING SCENARIOS 1. INTRODUCTION
Multiple Dimensions of Concern in Software Testing Stanley M. Sutton, Jr. EC Cubed, Inc. 15 River Road, Suite 310 Wilton, Connecticut 06897 [email protected] 1. INTRODUCTION Software testing is an area
Completeness, Versatility, and Practicality in Role Based Administration
Completeness, Versatility, and Practicality in Role Based Administration Slobodan Vukanović [email protected] Abstract Applying role based administration to role based access control systems has
Bidirectional Tracing of Requirements in Embedded Software Development
Bidirectional Tracing of Requirements in Embedded Software Development Barbara Draxler Fachbereich Informatik Universität Salzburg Abstract Nowadays, the increased complexity of embedded systems applications
A Framework for Software Product Line Engineering
Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product
The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a
Technical White Paper: WEb Load Testing To perform as intended, today s mission-critical applications rely on highly available, stable and trusted software services. Load testing ensures that those criteria
Manufacturing View. User View. Product View. User View Models. Product View Models
Why SQA Activities Pay Off? Software Quality & Metrics Sources: 1. Roger S. Pressman, Software Engineering A Practitioner s Approach, 5 th Edition, ISBN 0-07- 365578-3, McGraw-Hill, 2001 (Chapters 8 &
A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement. Systems Engineering. Ali M. Hodroj
A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement By Ali M. Hodroj Project Report submitted to the Faculty of the Maseeh School of Engineering and Computer Science
A Framework for Integrating Software Usability into Software Development Process
A Framework for Integrating Software Usability into Software Development Process Hayat Dino AFRICOM Technologies, Addis Ababa, Ethiopia [email protected] Rahel Bekele School of Information Science, Addis
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.
Configuration Management Models in Commercial Environments
Technical Report CMU/SEI-91-TR-7 ESD-9-TR-7 Configuration Management Models in Commercial Environments Peter H. Feiler March 1991 Technical Report CMU/SEI-91-TR-7 ESD-91-TR-7 March 1991 Configuration Management
Requirements Engineering Process
Software Engineering Requirements Engineering Process Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To describe the principal requirements engineering activities and d their
Development/Maintenance/Reuse: Software Evolution in Product Lines
Development/Maintenance/Reuse: Software Evolution in Product Lines Stephen R. Schach Vanderbilt University, Nashville, TN, USA Amir Tomer RAFAEL, Haifa, Israel Abstract The evolution tree model is a two-dimensional
NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0
NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5
Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur
Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of
Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue
Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue Milene Serrano 1 and Maurício Serrano 1 1 Universidade de Brasília (UnB/FGA), Curso de Engenharia de Software,
Five best practices for deploying a successful service-oriented architecture
IBM Global Services April 2008 Five best practices for deploying a successful service-oriented architecture Leveraging lessons learned from the IBM Academy of Technology Executive Summary Today s innovative
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
Model-Based Conceptual Design through to system implementation Lessons from a structured yet agile approach
Model-Based Conceptual Design through to system implementation Lessons from a structured yet agile approach Matthew Wylie Shoal Engineering Pty Ltd [email protected] Dr David Harvey Shoal Engineering
Methods Commission CLUB DE LA SECURITE DE L INFORMATION FRANÇAIS. 30, rue Pierre Semard, 75009 PARIS
MEHARI 2007 Overview Methods Commission Mehari is a trademark registered by the Clusif CLUB DE LA SECURITE DE L INFORMATION FRANÇAIS 30, rue Pierre Semard, 75009 PARIS Tél.: +33 153 25 08 80 - Fax: +33
Surveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
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)
Measurement Information Model
mcgarry02.qxd 9/7/01 1:27 PM Page 13 2 Information Model This chapter describes one of the fundamental measurement concepts of Practical Software, the Information Model. The Information Model provides
Software Development Life Cycle
4 Software Development Life Cycle M MAJOR A J O R T TOPICSO P I C S Objectives... 52 Pre-Test Questions... 52 Introduction... 53 Software Development Life Cycle Model... 53 Waterfall Life Cycle Model...
Business Analyst Boot Camp Course BA101; 5 Days, Instructor-led
Business Analyst Boot Camp Course BA101; 5 Days, Instructor-led Course Description Full-Spectrum Business Analyst Training and Skills Development. Course Objectives Bridge the expectations gap between
Software Engineering. What is a system?
What is a system? Software Engineering Software Processes A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical,
Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan
Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering Shvetha Soundararajan Thesis submitted to the faculty of the Virginia Polytechnic Institute and State University
Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis
Expert Reference Series of White Papers Intersecting Project Management and Business Analysis 1-800-COURSES www.globalknowledge.com Intersecting Project Management and Business Analysis Daniel Stober,
A Comparison between Five Models of Software Engineering
International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College
Ten Steps to Comprehensive Project Portfolio Management Part 3 Projects, Programs, Portfolios and Strategic Direction By R.
August 2007 Ten Steps to Comprehensive Project Portfolio Management Part 3 Projects, Programs, Portfolios and Strategic Direction By R. Max Wideman This series of papers has been developed from our work
Fourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
Requirements Engineering for Web Applications
Web Engineering Requirements Engineering for Web Applications Copyright 2013 Ioan Toma & Srdjan Komazec 1 What is the course structure? # Date Title 1 5 th March Web Engineering Introduction and Overview
Architecture Centric Development in Software Product Lines
Architecture Centric Development in Software Product Lines Aurangzeb Khan DCE, College of E & ME National University of Science and Technology (NUST), Pakistan Farooque Azam DCE, College of E & ME National
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS
ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS Hasni Neji and Ridha Bouallegue Innov COM Lab, Higher School of Communications of Tunis, Sup Com University of Carthage, Tunis, Tunisia. Email: [email protected];
Improving Traceability of Requirements Through Qualitative Data Analysis
Improving Traceability of Requirements Through Qualitative Data Analysis Andreas Kaufmann, Dirk Riehle Open Source Research Group, Computer Science Department Friedrich-Alexander University Erlangen Nürnberg
Baseline Code Analysis Using McCabe IQ
White Paper Table of Contents What is Baseline Code Analysis?.....2 Importance of Baseline Code Analysis...2 The Objectives of Baseline Code Analysis...4 Best Practices for Baseline Code Analysis...4 Challenges
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
A Business Process Driven Approach for Generating Software Modules
A Business Process Driven Approach for Generating Software Modules Xulin Zhao, Ying Zou Dept. of Electrical and Computer Engineering, Queen s University, Kingston, ON, Canada SUMMARY Business processes
META DATA QUALITY CONTROL ARCHITECTURE IN DATA WAREHOUSING
META DATA QUALITY CONTROL ARCHITECTURE IN DATA WAREHOUSING Ramesh Babu Palepu 1, Dr K V Sambasiva Rao 2 Dept of IT, Amrita Sai Institute of Science & Technology 1 MVR College of Engineering 2 [email protected]
The Role of Requirements Traceability in System Development
The Role of Requirements Traceability in System Development by Dean Leffingwell Software Entrepreneur and Former Rational Software Executive Don Widrig Independent Technical Writer and Consultant In the
Requirements-Based Testing: Encourage Collaboration Through Traceability
White Paper Requirements-Based Testing: Encourage Collaboration Through Traceability Executive Summary It is a well-documented fact that incomplete, poorly written or poorly communicated requirements are
GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS
13_BOLCHINI.qxd 3/26/2003 10:25 Pagina 187 SComS: New Media in Education (2003) 187-191 DAVIDE BOLCHINI* GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS
Fortune 500 Medical Devices Company Addresses Unique Device Identification
Fortune 500 Medical Devices Company Addresses Unique Device Identification New FDA regulation was driver for new data governance and technology strategies that could be leveraged for enterprise-wide benefit
SOA Success is Not a Matter of Luck
by Prasad Jayakumar, Technology Lead at Enterprise Solutions, Infosys Technologies Ltd SERVICE TECHNOLOGY MAGAZINE Issue L May 2011 Introduction There is nothing either good or bad, but thinking makes
Effective Business Requirements (Virtual Classroom Edition)
Developing & Confirming Effective Business Requirements (Virtual Classroom Edition) Eliminate Costly Changes and Save Time by Nailing Down the Project Requirements the First Time! Pre-Workshop Preparation
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,
Appendix B Data Quality Dimensions
Appendix B Data Quality Dimensions Purpose Dimensions of data quality are fundamental to understanding how to improve data. This appendix summarizes, in chronological order of publication, three foundational
Statement #4/Managerial Cost Accounting Concepts and Standards for the Federal Government
Statement #4/Managerial Cost Accounting Concepts and Standards for the Federal Government Executive Office of the President Office of Management and Budget "Managerial Cost Accounting Concepts and Standards
White Paper. Business Analysis meets Business Information Management
White Paper BABOK v2 & BiSL Business Analysis meets Business Information Management Business Analysis (BA) and Business Information Management (BIM) are two highly-interconnected fields that contribute
COMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: [email protected] Winter 2015 Course
White Paper Case Study: How Collaboration Platforms Support the ITIL Best Practices Standard
White Paper Case Study: How Collaboration Platforms Support the ITIL Best Practices Standard Abstract: This white paper outlines the ITIL industry best practices methodology and discusses the methods in
Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis
Requirements engineering processes Requirements Engineering Processes The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the.
SOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT
SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT Mar 31, 2014 Japan Aerospace Exploration Agency This is an English translation of JERG-2-610. Whenever there is anything ambiguous in this document, the original
Balancing the Hybrid Development Process. The role of the Business Analyst
The role of the Business Analyst This document is intended as a guide only. Readers are advised that before acting on any matter arising from this document, they should consult FINNZ. 2013 FINNZ Limited.
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED DISCOVERY AND ANALYSIS MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED DISCOVERY AND ANALYSIS MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
DSDM DSDM. CONSORTiUM. CONSORTiUM. AgileBA. The Handbook for Business Analysts. Extract The Requirements Lifecycle In An Agile Project. www.dsdm.
DSDM CONSORTiUM DSDM CONSORTiUM AgileBA The Handbook for Business Analysts Extract The Lifecycle In An Agile Project www.dsdm.org This Extract from AgileBA, The Lifecycle in an Agile Project, is based
A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering
A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering Elizabeth Bjarnason, Krzysztof Wnuk, Björn Regnell Department of Computer Science, Lund University,
PASTA Abstract. Process for Attack S imulation & Threat Assessment Abstract. VerSprite, LLC Copyright 2013
2013 PASTA Abstract Process for Attack S imulation & Threat Assessment Abstract VerSprite, LLC Copyright 2013 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
To introduce software process models To describe three generic process models and when they may be used
Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software
Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture
Business Business Services Services and Enterprise and Enterprise This Workshop Two parts Background: Business Value of Enterprise TOGAF s and the Business Services We will use the key steps, methods and
A Survey on Requirement Analysis in the Nigerian Context
A Survey on Requirement Analysis in the Nigerian Context Olaronke Ganiat Elias 1, Janet Olusola Olaleke 1, Micheal Segun Olajide 1, and Nureni John Ayinla 1 1 Computer Science Department, Adeyemi College
Software Engineering Compiled By: Roshani Ghimire Page 1
Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define
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
Chapter 7 Application Protocol Reference Architecture
Application Protocol Reference Architecture Chapter 7 Application Protocol Reference Architecture This chapter proposes an alternative reference architecture for application protocols. The proposed reference
Anatomy of a Decision
[email protected] @BlueHillBoston 617.624.3600 Anatomy of a Decision BI Platform vs. Tool: Choosing Birst Over Tableau for Enterprise Business Intelligence Needs What You Need To Know The demand
Agile EAI November 2002 Martin Fowler Gregor Hohpe
Agile EAI November 2002 Martin Fowler Gregor Hohpe Abstract Enterprise Application Integration (EAI) is a top priority in many enterprises. Requirements for improved customer service or self-service, rapidly
Business Analysis Capability Assessment
Overview The Business Analysis Capabilities Assessment is a framework for evaluating the current state of an organization s ability to execute a business automation effort from and end-to-end perspective..
The Role of Information Technology Studies in Software Product Quality Improvement
The Role of Information Technology Studies in Software Product Quality Improvement RUDITE CEVERE, Dr.sc.comp., Professor Faculty of Information Technologies SANDRA SPROGE, Dr.sc.ing., Head of Department
On Non-Functional Requirements
On Non-Functional Requirements Martin Glinz Department of Informatics, University of Zurich, Switzerland [email protected] Abstract Although the term non-functional has been in use for more than 20 years,
Realizing business flexibility through integrated SOA policy management.
SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished
SysML Modelling Language explained
Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling
What is ISO/IEC 15288? (A Concise Introduction)
Dr. Harold "Bud" Lawson 2004-10-13 1 (10) What is ISO/IEC 15288? (A Concise Introduction) What if all or the majority of the people of an organization (independent of their personal background and role)
Advanced Analytics. The Way Forward for Businesses. Dr. Sujatha R Upadhyaya
Advanced Analytics The Way Forward for Businesses Dr. Sujatha R Upadhyaya Nov 2009 Advanced Analytics Adding Value to Every Business In this tough and competitive market, businesses are fighting to gain
