Transactions on Information and Communications Technologies vol 11, 1995 WIT Press, ISSN

Size: px
Start display at page:

Download "Transactions on Information and Communications Technologies vol 11, 1995 WIT Press, ISSN"

Transcription

1 Software quality: attributes and modalities M.L. Hines, A.A. Goerner Computer Science Telecommunications Program, University of Missouri - Kansas City, 5100 Rockhill Road, Kansas City, Missouri 64110, USA Abstract Taxonomies of software qualities have attempted to differentiate the roles of the various software qualities (Boehm[lj). As such they have not achieved a delineation useful for software quality assessment, either quantifiably or relatively. Typically software quality roles have been either as-built utility or evolvability. As-built utility centers around issues of reliability, measurability, and human/social factors. Evolvability centers around issues of understandability, testability, and modifiability. None of the issues associated with either as-built utility or evolvability are easy to differentiate in a manner that allows discussion of software quality in even a relative manner. We propose a software quality taxonomy which delineates software quality roles as attributes or modalities. Attributes are descriptive of code and relate to how code is written. They predicate on functionality and do NOT correspond to a support subsystem but are integrally part of the system. Modalities are descriptive of software architecture and relate to what code is written. They are a relation over functionality and often correspond to a support subsystem. The interaction and interdependencies between the quality issues associated with both the attribute and modality roles are explored with respect to the necessary tradeoffs which influence software quality and its management within a system. A brief example relating in particular to some of the modalities is included. 1 Introduction A fundamental goal of software engineering is the development of high quality software at low cost (Jalote[2]). Attention to software quality is important in software development not only because of its influence on long-term corporate profitability, but primarily because of the increasing pervasiveness of software

2 138 Software Quality Management in everyday life. Software quality has remained, however, a somewhat elusive goal, primarily because of the lack of measurability of "quality". Increasing complexity and evolvability of software requires continuous attention to, and assessment of the quality of the software under development. In particular, evolution of software poses a special threat for software quality that requires an examination of the interrelationships among different facets of software quality. To be able to examine these interrelationships, the roles of software quality need to be differentiated such that either a quantifiable or a relative assessment of software quality can be achieved. Taxonomies of software quality have attempted to differentiate the roles of the various software qualities but have not achieved a delineation useful for software quality assessment, either quantifiably or relatively (Boehm[l], McCall[3]. Cavano[4] Kaposi[5]). Quantifiable measurement of software quality is difficult to achieve as most of the facets of software quality cannot be measured directly; rather they must be measured indirectly, and generally, subjectively (van Vliet[6]). Another problem with quantifiable measurement of software quality, albeit an overlooked problem, is that measurements do not tell you how to do a better job of achieving software quality. A relative assessment of software quality allows tradeoff considerations to be made (Kitchenham[7]). To achieve a relative assessment of software quality, the roles of the different software qualities need to be clearly delineated. This allows each quality to remain in context of other qualities and in the context of the application domain. The software quality taxonomies to date have attempted to categorize software qualities in a manner that will allow objective, quantifiable measurement (Boehm[l], McCall[3], Cavano[4] Keller[8]). In some cases, researchers have attempted to decompose software qualities into consumeroriented qualities and technically oriented qualities (Keller[8J). The research presented in this paper proposes a software quality taxonomy which delineates the roles of software qualities such that relative assessment is possible especially with respect to assessment of tradeoffs between software qualities. More importantly, the role delineation highlights the separation between which software can be built and reused, and which software must be included in the system itself. Software qualities are differentiated as either attributes or modalities. Attributes are descriptive of code and relate to how code is written. They do NOT correspond to a support subsystem but are integrally part of the system. Modalities are descriptive of software architecture and relate to what code is written. They generally correspond to a support subsystem, or code which potentially can be reused. The interactions and interdependencies between the attributes and modalities allow a relative assessment of software quality especially with respect to the tradeoffs necessary during system development and evolution. Section 2 reviews the historical foundations of software quality, in particular highlighting the taxonomy work of Boehm and McCall. Section 3 introduces the general notions and concepts behind the attribute/modality approach to software quality and sets it within the historical framework of Boehm and McCall. Section 4 provides the details of the attribute/modality approach and highlights the interactions between attributes and modalities with respect to system development and analysis. Section 5 presents a brief example relating to some of the modalities. Section 6 concludes the paper.

3 Software Quality Management Background information Software quality assessment has two basic approaches: definition and taxonomy. Agreement as to the definitions of the different facets of software quality has not been reached, leaving the definition of software quality itself open to multiple perspectives. ISO 9001 states general requirements for a quality system but has to be augmented by more specific procedures and definitions (ISO[9]). IEEE provides definitions for some of the different facets of software quality but is not complete (IEEE[10J). The initial starting point for this work was to re-examine those definitions and provide a set of software qualities with definitions that would serve as the foundation for the software taxonomy. There are several different software quality taxonomies which have been proposed; included are Boehm's and McCall's taxonomies. Each taxonomy attempts to group software qualities in some fashion that will allow quantitative assessment of quality (Boehm[l], McCall[3]). Boehm initially categorizes software qualities (called quality attributes) as maintainability (or evolvability), portability, and as-is utility (Boehm[l]). Each of these is then decomposed into second-level quality attributes and finally into source-code characteristics. Boehm's software quality characteristic tree, with updates and extensions to correspond to the set of software quality definitions provided in this work, is shown in figure 1. Boehm's quality characteristics are placed strictly within the source code of the system. Reliability Human Factors Software Qualities Testability Measurability Understandability Modifiability Figure 1. Software qualities

4 140 Software Quality Management McCall distinguishes between two levels of quality attributes. The higher-level quality attributes are termed quality factors, and cannot be measured directly. The second level of quality attributes are termed quality criteria, and are measured generally subjectively. By combining ratings for the individual quality criteria affecting a given quality factor, a measure for the extent to which that quality factor is being satisfied can be indirectly obtained (McCall[3]). Fenton uses McCall's taxonomy to distinguish between internal and external quality attributes, with internal attributes corresponding to quality criteria and external attributes corresponding to quality factors (Fenton[10J). Fenton's work begins a foundation for differentiating the roles of software qualities but does not carry it out to provide a reuse and relative assessment foundation. The current software quality taxonomies do not provide a delineation of software roles such that a foundation is provided for discussion of reuse or of relative assessment. 3 Introduction to attributes and modalities To provide a foundation for the delineation of software quality roles, it was initially necessary to define a set of software qualities (Table 1). Table 1. Software qualities accuracy - freedom from error cohesiveness - degree to which tasks performed by a single program module are functionally related completeness - degree to which full implementation of required function has been achieved complexity - degree to which a program can be understood w/out difficulty conciseness - compactness of program code consistency - absence of conflicts or contradictions correctness - degree to which a program satisfies its specification, fulfills the customer's mission objectives, and is free from defects device performance - degree to which software performs its intended function with a minimum of consumption of computing resources device independence - degree to which software is decoupled from the hardware on which it operates genericity - ease with which software allows differing system constraints and user needs to be satisfied legibility - effort required to learn, operate, prepare input and interpret output of a program orthogonality - functional independence of program components portability - ease of transferring a software system to a different computer and/or operating system representativeness - degree to which the program models real-world functionality reusability - degree to which program can be reused in other applications self-containedness - degree to which software is composed of discrete components such that a change in one component has minimal impact on other components stability - ability of a system to provide continuity of operation under various abnormal conditions

5 Software Quality Management 141 Table 1. Software qualities (continued) time-dependent - ability of a computer system to perform its functions with respect to time and performance constraints, e.g., response time, etc. verifiability - ability to trace a design representation or actual program component back to requirements well-documented - degree to which the software assists in enabling new users to apply the system augmentability - degree to which design can be extended distributability - degree to which the software is amenable to distribution geographically and temporally instrumentability - degree to which the program monitors its own operation and identifies errors that occur integrated - related specifically to interfaces to other systems, users, or self integrity - prevention of unauthorized alteration, use, destruction, or release of data during authorized use interoperability - ability of two or more systems to exchange information and to mutually use the exchanged information robustness - degree to which software can continue to operate correctly despite the introduction of invalid inputs safety - degree to which the software system ensures that no matter what errors occur, the system defaults to that state which does no harm security - availability of mechanisms that control or protect programs and data user-adaptability - degree to which the software can be adapted to a user or by self, to meet individual user needs These software qualities were then re-examined with respect to the software quality roles they affected or to which they made contributions. Two primary roles were identified which emphasized relative assessment and reuse potential: attributes and modalities (figure 2). Software Qualities Figure 2. Attributes and modalities A software attribute is descriptive of code in that it focuses on how code is written rather than what code is written (with respect to functionality). Software attributes do not correspond to a support subsystem and as such are not good candidates for software reuse since variance in the domain generally disallows genericity of the software quality code. Software attributes are generally easier to build than software modalities because we better understand software from a code integration viewpoint rather than an architectural integration viewpoint. Attributes are first order software qualities that relate directly to the functionality of the software system.

6 142 Software Quality Management A software modality is descriptive of the software architecture of a system rather than the code of the system. Often a software modality corresponds to a support subsystem and becomes a viable candidate for software reuse, either as an operating system extension or as a framework for code inclusion. Software modalities traditionally have been hard to build because they are often reflective of nonfunctional requirements. Modalities are second order software qualities that relate to the functionality of the software architecture. Once the two primary software roles were defined, the software qualities were then evaluated as to the roles they fit. Figure 3 shows the results of that evaluation with a cross-referencing to Boehm's taxonomy. 4 Attribute/modality tradeoffs Attributes and modalities do not exist in a vacuum: each attribute or modality affects and is affected by other attributes and/or modalities. The degree and extent to which an attribute or modality is affected by another, helps determine the tradeoffs which may be necessary when deciding which attributes/modalities are required by a system. Although an in-depth examination of all of the tradeoffs is beyond the scope of this paper, an overview of some of the interactions and interdependencies between attributes and modalities is included to highlight tradeoffs which may have to be made. The interactions and interdependencies occur as attribute-attribute, attributemodality, and modality-modality (figure 4). Many attributes clearly aid (+) or detract (-) from other attributes; some can either help or hinder depending on the domain and situation (+/-). In a large number of cases, there is little or no effect. In general, attributes affect modalities more than modalities affect attributes. The attribute-modality review focuses one-way from attribute to modality but not the reverse of modality to attribute. Most of the modalities decrease the conciseness of a system, and strongly enhance portability and reusability. As in the case of the attribute-attribute interactions and interdependencies, the modality-modality interactions and interdependencies have some very clear effects and some effects which are dependent on domain and situation. Again, in some cases, there is little or no effect. Since it is not possible to positively maximize all software qualities, it is necessary to make decisions regarding tradeoffs. An examination of the interactions and interdependencies aids in relative assessment of software qualities by providing a mechanism for tradeoff evaluation. 5 Brief example The attribute role of software qualities is relatively well-understood; it is in general how the inclusion of software qualities has been traditionally accomplished. The modality role of software qualities is not well-understood; the example presented here emphasizes one of the modalities - instrumentability - to illustrate the concept of modalities. Instrumenting complex production software systems is one of the most problematic aspects of software system architecture. The instrumentation problem, in particular for large-scale, multimodal production software systems and computing environments, is to provide a means for one software system to

7 Software Quality Management 143 Accuracy Cohesiveness Completeness j Complexity Conciseness Consistency Correctness Device-Independence] ] Legibility ] Orthogonality { Portability ] Representativeness Reusability Self-Containedness J =] Verifiability Well-Documented J - Augmentability Instrumentabillty n Integrity J Interoperability Robustness { Safety Security ] User-Adq)tability (-* Figure 3. Software quality roles

8 144 Software Quality Management Figure 4. Interactions and interdependencies

9 Software Quality Management 145 orthogonally monitor, and possibly modify another. Object-orientation addresses the problems of large-scale software not only by providing facilities for modularization, data encapsulation, and source code reuse, but also by providing fundamental support for general system modeling and orthogonal design via inheritance, message passing, and dynamic binding. Using an object-oriented foundation, a standard, transparent mechanism for message interception and event propagation, called a probe, is defined to address the instrumentation problem (Goernerfl 1]). A probe is a transparent filter which may be placed in the messaging stream. Each probe is created to recognize specific messages, and is a guarded command which, when enabled and triggered by the receipt of a message type it monitors, emits another, derivative message to a designated probe handler. Probes may handle a triggering message in one of two ways: the probe may operate in surveillance mode such that it passes the triggering message through to its intended destination immediately after noting its arguments and then sends its message to the probe handler or it may operate in an interception mode, where it holds the triggering message until it receives an acknowledgment from its probe handler. In general, unidirectional event synchronization and data flow between software systems is as easy as creating a probe on the triggering event and a probe handler which takes appropriate action. This use of probes could be valuable in designing sophisticated shared resource managers such as printer pool managers. Probes provide such managers the means to react to a request before it is actually submitted so that resource initialization or reservation may be done. Probes also allow monitoring of system usage patterns which otherwise might not be captured but which are important to load balancing strategies. Instrumentation via probes is an example of the role of software modalities. While instrumentation is not part of the functionality of the software (predicate on functionality) it is an integral part of the functionality of the software architecture within which the software resides (relation over functionality). 6 Conclusion This paper has presented a software quality taxonomy which differentiates the roles of software qualities. The differentiation of software qualities as attributes and modalities provides a means for relative assessment of software qualities particularly with respect to tradeoffs between software qualities, and to their place within a software system. It also provides a foundation for future work with respect to software modalities, software architectures, and the ability to reuse software. This future work centers around, in particular, whether software modalities, built for reuse, are extensions to an operating system or are a framework for specialization and adaptation. There is also more work to be done in the examination of the interactions and interdependencies of the attributes and modalities, and the extent of those issues.

10 146 Software Quality Management References 1. Boehm, B. W., Brown, J. R., Kaspar, H., Lipow, M., MacLeod, G., J. & Merit, M. J., Characteristics of Software Quality, TRW Series of Software Technology 1, North-Holland, Jalote, P., An Integrated Approach to Software Engineering, Springer- Verlag, McCall, J. A., Richards, P. K. & Walters, G. F., Factors in Software Quality, RADC-TR , US Department of Commerce, Cavano, J. P. & McCall, J. A., A framework for the measurement of software quality, pp , Proc., ACM Software Quality Assurance Workshop, Nov Kaposi, A. & Kitchenham, B., The architecture of system quality, Software Engineering Journal,1987, van Vliet, H., Software Engineering: Principles and Practice, Wiley, Kitchenham, B., Towards a constructive quality model, Part I: software quality modelling, measurement and prediction, Software Engineering Journal, 1987, Keller, S. E., Kahn, L. G. & Panara, R. B., Specifying Software Quality Requirements with Metrics, System and Software Requirements Engineering, ed. R. Thayer & M. Dorfman, pp , IEEE Computer Society Press, ISO 9001: Quality systems - Model for quality assurance in design/development, production, installation and servicing, ISO, IEEE Standard for Quality Assurance Plans, IEEE Std. 730, Goerner, A. A. & Hines, M. L., Instrumenting Intelligent Manufacturing Applications, Proceedings The Fourth International Conference on Industrial & Engineering Applications of Artificial Intelligence and Expert Systems, Kauai, Hawaii, June 2-5, 1991.

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY Mrs. Manisha L. Waghmode Assistant Professor Bharati Vidyapeeth Deemed University, Institute of Management and Rural Development Administration, Sangli Dr.

More information

Evaluating the Quality of Software in ERP Systems Using the ISO 9126 Model

Evaluating the Quality of Software in ERP Systems Using the ISO 9126 Model Evaluating the Quality of Software in ERP Systems Using the ISO 9126 Model Thamer A. Alrawashdeh, Mohammad Muhairat and Ahmad Althunibat Department of software Engineering, Alzaytoonah University of Jordan,

More information

Organizational Requirements Engineering

Organizational Requirements Engineering Chapter 9, Non-functional Requirements Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Armin B. Cremers, Sascha Alda Organizational Requirements Engineering 1 Overview of

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

Usability metrics for software components

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

More information

NFRs: Fact or Fiction

NFRs: Fact or Fiction Worcester Polytechnic Institute DigitalCommons@WPI Computer Science Faculty Publications Department of Computer Science 1-1-2002 NFRs: Fact or Fiction Janet Burge Worcester Polytechnic Institute, jburge@cs.wpi.edu

More information

Comparative Analysis of Different Software Quality Models

Comparative Analysis of Different Software Quality Models Comparative Analysis of Different Software Quality Models Ranbireshwar S. Jamwal, Deepshikha Jamwal & Devanand Padha Jamwal.grandee@gmail.com, Jamwal.shivani@gmail.com,dpadha@rediffmail.com Lecturer, Research

More information

Building Reusable Testing Assets for a Product Line

Building Reusable Testing Assets for a Product Line Building Reusable Testing Assets for a Product Line John D. McGregor Visiting Scientist - SEI Senior Partner - Korson-McGregor Associate Professor - Clemson University johnmc@cs.clemson.edu Qualifications

More information

A Model for Component Based E-governance Software Systems

A Model for Component Based E-governance Software Systems A Model for Component Based E-governance Software Systems A.SHRABAN KUMAR 1, G.JAYARAO 2,B.SHANKAR NAYAK 3, KBKS. DURGA 4 A.ESWARA RAO 5 1,2,3,4 Associate Professor CSE, St.MARTIN S ENGINEERING COLLEGE,

More information

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch RUP Design RUP Artifacts and Deliverables RUP Purpose of Analysis & Design To transform the requirements into a design of the system to-be. To evolve a robust architecture for the system. To adapt the

More information

Evaluation of the Iceland State Financial and Human Resource System REPORT OF THE INDIVIDUAL EVALUATOR. Annex 2 SYSTEM AND SOFTWARE QUALITY

Evaluation of the Iceland State Financial and Human Resource System REPORT OF THE INDIVIDUAL EVALUATOR. Annex 2 SYSTEM AND SOFTWARE QUALITY Evaluation of the Iceland State Financial and Human Resource System REPORT OF THE INDIVIDUAL EVALUATOR Annex 2 SYSTEM AND SOFTWARE QUALITY This paper lists the properties used in the two main models in

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

Key Factors for Developing a Successful E-commerce Website

Key Factors for Developing a Successful E-commerce Website IBIMA Publishing Communications of the IBIMA http://www.ibimapublishing.com/journals/cibima/cibima.html Vol. 2010 (2010), Article ID 763461, 9 pages Key Factors for Developing a Successful E-commerce Website

More information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

More information

CSC 408F/CSC2105F Lecture Notes

CSC 408F/CSC2105F Lecture Notes CSC 408F/CSC2105F Lecture Notes These lecture notes are provided for the personal use of students taking CSC 408H/CSC 2105H in the Fall term 2004/2005 at the University of Toronto. Copying for purposes

More information

Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA)

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.

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software

More information

Basic Testing Concepts and Terminology

Basic Testing Concepts and Terminology T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts

More information

Comparison of most adaptive meta model With newly created Quality Meta-Model using CART Algorithm

Comparison of most adaptive meta model With newly created Quality Meta-Model using CART Algorithm International Journal of Electronics and Computer Science Engineering 2492 Available Online at www.ijecse.org ISSN- 2277-1956 Comparison of most adaptive meta model With newly created Quality Meta-Model

More information

Ten steps to better requirements management.

Ten steps to better requirements management. White paper June 2009 Ten steps to better requirements management. Dominic Tavassoli, IBM Actionable enterprise architecture management Page 2 Contents 2 Introduction 2 Defining a good requirement 3 Ten

More information

The Phases of an Object-Oriented Application

The Phases of an Object-Oriented Application The Phases of an Object-Oriented Application Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 1, No. 5 By: Rebecca J. Wirfs-Brock There is never enough time to get it absolutely, perfectly

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.

More information

An Integrated Quality Assurance Framework for Specifying Business Information Systems

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

More information

OO Design Quality Metrics

OO Design Quality Metrics OO Design Quality Metrics An Analysis of Dependencies By Robert Martin October 28,1994 2080 Cranbrook Road Green Oaks, IL 60048 Phone: 708.918.1004 Fax: 708.918.1023 Email: rmartin@oma.com Abstract This

More information

Power of Oracle in the Cloud

Power of Oracle in the Cloud Power of Oracle in the Cloud www.reliason.com Whitepaper W Overview The Oracle technology is known for its power, productivity and robustness. Likewise, Oracle cloud service is also backed by these features

More information

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. 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

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Darshan Institute of Engineering & Technology Unit : 7

Darshan Institute of Engineering & Technology Unit : 7 1) Explain quality control and also explain cost of quality. Quality Control Quality control involves the series of inspections, reviews, and tests used throughout the software process to ensure each work

More information

The Role of the Software Architect

The Role of the Software Architect IBM Software Group The Role of the Software Architect Peter Eeles peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation

More information

Service Oriented Architectures in the Delivery of Capability

Service Oriented Architectures in the Delivery of Capability Service Oriented Architectures in the Delivery of Capability Abstract Duncan Russell, Jie Xu {duncanr jxu}@comp.leeds.ac.uk School of Computing, University of Leeds, UK Service oriented architecture (SOA)

More information

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

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,

More information

Instructional Design Framework CSE: Unit 1 Lesson 1

Instructional Design Framework CSE: Unit 1 Lesson 1 Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results

More information

White Paper Series. TransPromo Printing Made Easier With PDF/VT

White Paper Series. TransPromo Printing Made Easier With PDF/VT White Paper Series TransPromo Printing Made Easier With PDF/VT Advanced Function Presentation (AFP) has long been the dominant page description language in the transactional printing environment. The marketplace

More information

Design Patterns for Complex Event Processing

Design Patterns for Complex Event Processing Design Patterns for Complex Event Processing Adrian Paschke BioTec Center, Technical University Dresden, 01307 Dresden, Germany adrian.paschke AT biotec.tu-dresden.de ABSTRACT Currently engineering efficient

More information

Measurement Information Model

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

More information

The Software Quality Star: A conceptual model for the software quality curriculum

The Software Quality Star: A conceptual model for the software quality curriculum The Software Quality Star: A conceptual model for the software quality curriculum Ronan Fitzpatrick School of Computing, Dublin Institute of Technology, Kevin Street, Dublin 8, Ireland. Tel: +353 (1) 4024835,

More information

A Software Architecture to Facilitate the creation of DRM Systems

A Software Architecture to Facilitate the creation of DRM Systems A Software Architecture to Facilitate the creation of DRM Systems Koen Buyens, Sam Michiels, and Wouter Joosen IBBT-DistriNet research group, Department of Computer Science, K.U.Leuven, Celestijnenlaan

More information

The fact is that 90% of business strategies are not implemented through operations as intended. Overview

The fact is that 90% of business strategies are not implemented through operations as intended. Overview Overview It is important to recognize that a company s network determines its supply chain efficiency and customer satisfaction. Designing an optimal supply chain network means the network must be able

More information

Quotes from Object-Oriented Software Construction

Quotes from Object-Oriented Software Construction Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental

More information

Appendix B Data Quality Dimensions

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

More information

Implementation of hybrid software architecture for Artificial Intelligence System

Implementation of hybrid software architecture for Artificial Intelligence System IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.1, January 2007 35 Implementation of hybrid software architecture for Artificial Intelligence System B.Vinayagasundaram and

More information

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents Agent Languages Requirements Overview Java Tcl/Tk Telescript Evaluation Franz J. Kurfess, Cal Poly SLO 211 Requirements for agent Languages distributed programming large-scale (tens of thousands of computers)

More information

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process Definitions Software Metrics Software Engineering Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Number of errors Metric -

More information

Test Automation Architectures: Planning for Test Automation

Test Automation Architectures: Planning for Test Automation Test Automation Architectures: Planning for Test Automation Douglas Hoffman Software Quality Methods, LLC. 24646 Heather Heights Place Saratoga, California 95070-9710 Phone 408-741-4830 Fax 408-867-4550

More information

Chap 1. Software Quality Management

Chap 1. Software Quality Management Chap 1. Software Quality Management Part 1.1 Quality Assurance and Standards Part 1.2 Software Review and Inspection Part 1.3 Software Measurement and Metrics 1 Part 1.1 Quality Assurance and Standards

More information

QUALITY TOOLBOX. Understanding Processes with Hierarchical Process Mapping. Robert B. Pojasek. Why Process Mapping?

QUALITY TOOLBOX. Understanding Processes with Hierarchical Process Mapping. Robert B. Pojasek. Why Process Mapping? QUALITY TOOLBOX Understanding Processes with Hierarchical Process Mapping In my work, I spend a lot of time talking to people about hierarchical process mapping. It strikes me as funny that whenever I

More information

Overview of major concepts in the service oriented extended OeBTO

Overview of major concepts in the service oriented extended OeBTO Modelling business policies and behaviour based on extended Open edi Business Transaction Ontology (OeBTO) Introduction Model Driven Development (MDD) provides a basis for the alignment between business

More information

Quality Management. Lecture 12 Software quality management

Quality Management. Lecture 12 Software quality management Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals

More information

An Approach for Enhance the Software Quality Based on Quality Model

An Approach for Enhance the Software Quality Based on Quality Model An Approach for Enhance the Software Quality Based on Quality Model Abstract- The software development process enforces major effects on the quality of software at every development stage; therefore, a

More information

A Quality Model of e-government Services Based on the ISO/IEC 9126 Standard

A Quality Model of e-government Services Based on the ISO/IEC 9126 Standard A Quality Model of e-government Services Based on the ISO/IEC 9126 Standard Gerald Quirchmayr 1,2 /Suree Funilkul 3 /Wichian Chutimaskul 3 1 Department of Distributed and Multimedia Systems, Faculty of

More information

Software Test Plan (STP) Template

Software Test Plan (STP) Template (STP) Template Items that are intended to stay in as part of your document are in bold; explanatory comments are in italic text. Plain text is used where you might insert wording about your project. This

More information

One for All and All in One

One for All and All in One One for All and All in One A learner modelling server in a multi-agent platform Isabel Machado 1, Alexandre Martins 2 and Ana Paiva 2 1 INESC, Rua Alves Redol 9, 1000 Lisboa, Portugal 2 IST and INESC,

More information

The goal of software architecture analysis: confidence building or risk assessment

The goal of software architecture analysis: confidence building or risk assessment The goal of software architecture analysis: confidence building or risk assessment Nico Lassing, Daan Rijsenbrij and Hans van Vliet Faculty of Sciences Vrije Universiteit, Amsterdam {nlassing, daan, hans}@cs.vu.nl

More information

Scenario-based Requirements Engineering and User-Interface Design

Scenario-based Requirements Engineering and User-Interface Design Scenario-based Requirements Engineering and User-Interface Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria kaindl@ict.tuwien.ac.at

More information

What do you think? Definitions of Quality

What do you think? Definitions of Quality What do you think? What is your definition of Quality? Would you recognise good quality bad quality Does quality simple apply to a products or does it apply to services as well? Does any company epitomise

More information

Factors Influencing Design Quality and Assurance in Software Development: An Empirical Study

Factors Influencing Design Quality and Assurance in Software Development: An Empirical Study Factors Influencing Design Quality and Assurance in Software Development: An Empirical Study Cristina Valdaliso Rutgers/NJIT University, Newark, NJ Valdaliso@earthlink.net Osama Eljabiri New Jersey Institute

More information

A Comparative Study of Software Quality Models

A Comparative Study of Software Quality Models A Comparative Study of Software Quality Models Suman 1, Manoj Wadhwa 2 CSE Department, M.D.U. Rohtak 1 M.Tech, 2 Professor &HOD of CSE Department Echelon Institute of Technology, Faridabad 121004,India

More information

Software Engineering

Software Engineering Software Engineering Lecture 06: Design an Overview Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 35 The Design Phase Programming in

More information

Surveying and evaluating tools for managing processes for software intensive systems

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

More information

Health Care Solutions

Health Care Solutions Health Care Solutions Increase Service Levels, Meet Expectations A Unified Approach to Health Care Automation Processes Hospitals, clinics, extended care facilities, and physician s offices are facing

More information

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs. CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express

More information

Software Engineering Question Bank

Software Engineering Question Bank Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step

More information

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes

More information

Manage Software Development in LabVIEW with Professional Tools

Manage Software Development in LabVIEW with Professional Tools Manage Software Development in LabVIEW with Professional Tools Introduction For many years, National Instruments LabVIEW software has been known as an easy-to-use development tool for building data acquisition

More information

Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects

Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects Enterprise Resource Planning Analysis of Business Intelligence & Emergence of Mining Objects Abstract: Build a model to investigate system and discovering relations that connect variables in a database

More information

Montana Department of Transportation Information Services Division. System Development Life Cycle (SDLC) Guide

Montana Department of Transportation Information Services Division. System Development Life Cycle (SDLC) Guide Montana Department of Transportation Information Services Division System Development Life Cycle (SDLC) Guide Version 2 August 2, 2007 \mdt_sdlc_process\mdt_sdlc_v02.doc Table of Contents 1 Business Analysis...3

More information

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011, 2915-2919 Software Quality Assurance in CMM and XP- A Comparative Study CH.V. Phani Krishna and Dr. K.Rajasekhara Rao CSE Department, KL University, Guntur dt., India. Abstract Software Quality Assurance is a planned

More information

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas... Software Engineering Introduction... Columbus set sail for India. He ended up in the Bahamas... The economies of ALL developed nations are dependent on software More and more systems are software controlled

More information

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology. 4. Multiagent Systems Design Part 2: Multiagent Syste ems (SMA-UPC) https://kemlg.upc.edu The PROMETHEUS methodology. Javier Vázquez-Salceda SMA-UPC Methodological Extensions to Object-Oriented Approaches

More information

A Near Real-Time Personalization for ecommerce Platform Amit Rustagi arustagi@ebay.com

A Near Real-Time Personalization for ecommerce Platform Amit Rustagi arustagi@ebay.com A Near Real-Time Personalization for ecommerce Platform Amit Rustagi arustagi@ebay.com Abstract. In today's competitive environment, you only have a few seconds to help site visitors understand that you

More information

A WBS-Based Plan Changeability Measurement Model for Reducing Software Project Change Risk

A WBS-Based Plan Changeability Measurement Model for Reducing Software Project Change Risk A WBS-Based Plan Changeability Measurement Model for Reducing Software Project Change Risk Sen-Tarng Lai Abstract In software development process, it is necessary to face challenge for plan changes. In

More information

Software Quality Management

Software Quality Management Software Lecture 9 Software Engineering CUGS Spring 2011 Kristian Sandahl Department of Computer and Information Science Linköping University, Sweden A Software Life-cycle Model Which part will we talk

More information

A Framework of Context-Sensitive Visualization for User-Centered Interactive Systems

A Framework of Context-Sensitive Visualization for User-Centered Interactive Systems Proceedings of 10 th International Conference on User Modeling, pp423-427 Edinburgh, UK, July 24-29, 2005. Springer-Verlag Berlin Heidelberg 2005 A Framework of Context-Sensitive Visualization for User-Centered

More information

Software Engineering: Analysis and Design - CSE3308

Software Engineering: Analysis and Design - CSE3308 CSE3308/DMS/2004/25 Monash University - School of Computer Science and Software Engineering Software Engineering: Analysis and Design - CSE3308 Software Quality CSE3308 - Software Engineering: Analysis

More information

Software Quality Management

Software Quality Management Software Project Management Software Quality Management Software Engineering Software Quality Management Slide 1 What is Quality Management? Managing the quality of the software process and products Software

More information

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

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

More information

Software Development for Medical Devices

Software Development for Medical Devices Overcoming the Challenges of Compliance, Quality and Cost An MKS White Paper Introduction Software is fast becoming the differentiator for manufacturers of medical devices. The rewards available from software

More information

ENTERPRISE ARCHITECTUE OFFICE

ENTERPRISE ARCHITECTUE OFFICE ENTERPRISE ARCHITECTUE OFFICE Date: 12/8/2010 Enterprise Architecture Guiding Principles 1 Global Architecture Principles 1.1 GA1: Statewide Focus 1.1.1 Principle Architecture decisions will be made based

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

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

More information

Software Engineering UNIT -1 OVERVIEW

Software Engineering UNIT -1 OVERVIEW UNIT -1 OVERVIEW The economies of ALL developed nations are dependent on software. More and more systems are software controlled. Software engineering is concerned with theories, methods and tools for

More information

A Process for ATLAS Software Development

A Process for ATLAS Software Development Atlas Software Quality Control Group A Process for ATLAS Software Development Authors : Atlas Quality Control Group M. Asai, D. Barberis (chairman), M. Bosman, R. Jones, J.-F. Laporte, M. Stavrianakou

More information

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

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,

More information

User experience storyboards: Building better UIs with RUP, UML, and use cases

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

More information

Software systems have become larger and

Software systems have become larger and RESEARCH FEATURE System Engineering: A Tutorial Applying system engineering principles specifically to the development of large, complex software systems provides a powerful tool for process and product

More information

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors Software Quality Software Quality Assurance and Software Reuse Peter Lo Conformance to explicitly-stated functional and performance requirements, explicitly-documented development standards, and implicit

More information

Index. inherent and testability, 93 measure of, 96, 97 operational, 95 operational and testability, 91 Axiomatic Design Methodology, 15, 16, 36 38

Index. inherent and testability, 93 measure of, 96, 97 operational, 95 operational and testability, 91 Axiomatic Design Methodology, 15, 16, 36 38 Index A ABET, see Accreditation Board for Engineering and Technology Abilities, 7 Accident model, systems-based, 159 Accreditation Board for Engineering and Technology, 256 Accreditation, criterion, 255

More information

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created> Software Requirements Specification for Version 1.0 approved Prepared by Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute

More information

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 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,

More information

Manufacturing View. User View. Product View. User View Models. Product View Models

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 &

More information

USING SECURITY METRICS TO ASSESS RISK MANAGEMENT CAPABILITIES

USING SECURITY METRICS TO ASSESS RISK MANAGEMENT CAPABILITIES Christina Kormos National Agency Phone: (410)854-6094 Fax: (410)854-4661 ckormos@radium.ncsc.mil Lisa A. Gallagher (POC) Arca Systems, Inc. Phone: (410)309-1780 Fax: (410)309-1781 gallagher@arca.com USING

More information

Software Engineering Compiled By: Roshani Ghimire Page 1

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

More information

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper. The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide

More information

A UML Introduction Tutorial

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

More information

IEEE SESC Architecture Planning Group: Action Plan

IEEE SESC Architecture Planning Group: Action Plan IEEE SESC Architecture Planning Group: Action Plan Foreward The definition and application of architectural concepts is an important part of the development of software systems engineering products. The

More information

Rose/Architect: a tool to visualize architecture

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

More information

Towards Collaborative Requirements Engineering Tool for ERP product customization

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,

More information

An Approach of Web Service Quality Attributes Specification

An Approach of Web Service Quality Attributes Specification IBIMA Publishing Communications of the IBIMA http://www.ibimapublishing.com/journals/cibima/cibima.html Vol. 2010 (2010), Article ID 552843, 13 pages DOI: 10.5171/2010.552843 An Approach of Web Service

More information

Software Engineering Transfer Degree

Software Engineering Transfer Degree www.capspace.org (01/17/2015) Software Engineering Transfer Degree This program of study is designed for associate-degree students intending to transfer into baccalaureate programs awarding software engineering

More information

New criteria for assessing a technological design

New criteria for assessing a technological design New criteria for assessing a technological design Kees van Hee and Kees van Overveld April 2012 1. Introduction In 2010 we developed a set of criteria for the evaluation of technological design projects

More information