IP Billing and the Batelco Product Assessment Process
|
|
- Alvin Clarke
- 3 years ago
- Views:
Transcription
1 SOFTWARE PRODUCT MEASUREMENT FOR SUPPLIER EVALUATION Alain A. April, IS Process Improvement Bahrain Telecommunications Company P.O. Box 14 Manama, Bahrain Dhiya Al-Shurougi, IS Planning Bahrain Telecommunications Company P.O. Box 14 Manama Bahrain Abstract The quality of the services Batelco offers to its customers is more and more related to the quality of the software products and systems acquired. Real time services like IP and ecommerce will now be totally software dependant, real-time with a 7days 24hours-availability objective. We realize that software acquisitions in this area have to be of the highest quality. IP or ecommerce services that fail in operations and in the hands of customers will mean dissatisfaction, revenue loss and potentially lost market share. To minimize the acquisition risks, the IP billing project is considering the introduction of a software product assessment process and associated tools to obtain maximum insights on the software quality characteristics during the selection process. This new direction requires the usage of sophisticated source code analysis tools where key software measures are extracted from the candidate software and are readily available for interpretation. As a first step the product assessment will aim principally in assessing the as much as possible of the software product quality characteristics as defined by the ISO-9126 standard. This paper first presents the Software Acquisition Life Cycle where intended software product assessment activities are to take place. Second we describe the software assessment process then provide a mapping to ISO9126 of the pilot measures and describe how they can be used to assess a supplier software. 1. INTRODUCTION Batelco s telecommunication network operations depends yearly more and more on software products. The planned additions of a new layer of IP products and systems with the introduction of ecommerce realtime software s will require careful planning and product selection to ensure stability and continuity of service for our customers. In this quickly evolving environment the IP and ecommerce software control critical components must be reliable where the availability criteria is typically set to be a few minutes downtime over a period of years. Batelco is investigating the inclusion of an additional step in the supplier selection process to assess the software product quality before it is acquired. This is a challenging task as we do not want to extend the selection cycle time more than two additional weeks. As a trial, a rapid and in depth quality assessment of an IP billing software product built in C, C++ and Java is planned. To address this issue Batelco has reviewed approaches and tools for the software product evaluation and assessment [1,6]. Four commercial tools to evaluate C++ and Java source code quality have been selected to be candidates for the pilot: Logiscope, CodeCheck, Insure++ and Datrix. The objective of the software product assessment is to get the maximum information, for contract adaptation recommendations, within two weeks. This schedule pressure imposes mechanization of some key steps of the software product assessment. As presented by Boloix [6] «the metrics [interpretation] is difficult because there are no mechanisms for synthesizing the information.» 2. SOFTWARE ACQUISITION LIFE-CYCLE The Batelco Software Acquisition Life Cycle (SALC) includes all the activities from the definition of the product requirements up to its implementation and support. The following paragraphs details the sequence of activities involved during the Feasibility stage of a software acquisition project where most of the software product assessment activities are conducted. The acquisition process contains six steps and is in line with recognized practices as described in the ISO/IEC standard. [9].
2 2.1 Product & Services Plans The first activity is the expression by the Product manager of a need for new product or services and the associated requirements from a functionality, pricing structure and time to market. 2.2 Product Requirement Specifications (PRS) The second activity is the definition of the Product Requirements Specifications for the product. For the software components of the product specific requirements are further categorized in 7 areas: 1) Functional Requirements 2) Performance Requirements 3) Interface Requirements 4) Operational Requirements 5) Resource Requirements 6) Documentation Requirements 7) Security Requirements 2.3 Invitation to Tender (ITT) In addition to the requirements defined by the Product manager, general IS requirements are added and an ITT is issued to the supplier community. The IS based requirements are further categorized in an additional 7 areas: 1) Quality Requirements 2) Reliability Requirements 3) Maintainability Requirements 4) Safety Requirements 5) Portability Requirements 6) Verification Requirements 7) Acceptance Testing Requirements 2.4 Supplier Evaluation Using the ITT answers and the information sessions presentations from the suppliers, the procurement agent and the supplier evaluation working group makes a pre-selection based on cost and functionality. This pre-selection usually narrows down the list to a few candidates. 2.5 Supplier Selection The selection of a supplier is a business decision that requires gathering of all pertinent information. All criteria are reviewed and a comparison table is drawn where stakeholders rate the resulting candidates in detail. At this time a final supplier is identified and a letter of intent is generally issued to initiate the mobilization of the supplier resources for initial stages of studies. 2.6 Contractual Agreement The agreement with the Integrator details the general Terms and Conditions and the Controlling Specifications, where system performance and quality goals are expressed. A typical contract outline is presented here : A- General Terms and Conditions B- controlling specification 1) Business process definition 2) User Requirement Specification 3) Specifications for H/W, S/W 4) Documentation including media 5) Functional requirements matrix 6) Software parametrization 7) Functional Customization 8) System performance criteria 9) Sites schedule 10) Network bandwidth assumptions 11) Interface specifications 12) Disaster Recovery 13) Quality Plan C- Master Project Plan 1) Project plan 2) Work breakdown structure D- Cost schedule E- Software license agreement 1) Escrow agreement F- Maintenance Support Contract G- Training Contract H- Non-disclosure Agreement 2.7 Independent Quality Assurance The Independent Quality Assurance activities are mainly audits based on the Quality Plan of the project. It includes conformance audits [3] on the process quality and covers the project roles and responsibilities, deliverables presence and quality, change control on deliverables and contract, identification of new functionality, system performance, availability and support issues. The scope and efforts required by each of these activities greatly depend on the criticality of the project. For each project Batelco customizes the activities derived from its Software Acquisition Life Cycle. 3. SOFTWARE ASSESSMENT PROCESS The Current Batelco software supplier selection process does not assess the Product or Process Quality [1] associated with the final candidate. The intention of this pilot activity is to test the benefit of a software product quality assessment and ease of use of tools. The pilot product assessment exercise aims principally in assessing as much as possible of the software product as defined by the ISO-9126 standard [10]. The software is thus assessed from an architectural, design, and an implementation point of view. The motivation for assessing the software beforehand is to get a clear
3 understanding of its quality and have the opportunity to include some additional safeguards in our contractual agreements when weaknesses are found. Few Companies conduct such product analysis that involves in-depth information sharing with a potential supplier. We believe that because of the growing importance of software acquisitions a proactive approach to quality is an important and necessary activity. 3.1 Overview of the process As presented earlier, the goal of the software product assessment is to obtain an objective evaluation of the internal characteristics of software before it is purchased. The time requirement for producing such assessments has been set to a period not to exceed 2 weeks. This constraint is imposed to ensure the Contract Finalization Working Group cycle time not be affected by this parallel technical activity. The process used by the pilot project, described in detail by Mayrand [13], will follow 5 steps: Step 1 - Supplier agreement: Where a letter of intent is signed with the supplier it becomes possible to ask to inspect further their software product documentation and source code. If agreed, a specific non-disclosure agreement may be required. Step 2 - Programming and design guidelines: At this step the team will review the software design and coding guidelines of the supplier, if any, to ensure that the review activities take into considerations specific software implementation details and the rationale for their presence. Step 3 - Product source code sample analysis and tool adjustment: Every tool will react differently with a specific software implementation. At this step the team will adjust the evaluation tools to work with sample given (average 1/10 of the actual system) and the specific C and C++ implementation. As a second adjustment each measurement output of the sample is reviewed to see if the default upper and lower bounds are set at an appropriate level. If the resulting output graphs distribution is inadequate, thresholds (also called upper and lower bounds) are adjusted. Also based on the previous phase activity thresholds can also be adjusted to align with supplier design and coding guidelines. Step 4 - Complete source code analysis: A full software run is done with the calibrated tools. Step 5 - Visual inspection: Using the measures, focussed inspections that examines a potential problem area are done to confirm the tool observation. The software product assessment appraises to a certain extent the effectiveness of the software development process used by the supplier. A good development process [2] should be reflected in the software product attributes. This exercise can also attend to mechanize the assessment of supplier software against published programming guidelines [15] or measure the risk against known traps and pitfalls of a specific compiler or language [11]. Finally it can also measure the conformance of the software against ANSI standards recommendations for coding [4]. 3.2 Assessment techniques and tools Batelco s IS pilot assessment of software product covers only the assessments of the source code. Source code assessment can be partially mechanized, which makes it practical given the time and resource constraints imposed on the Contract Evaluation Working Group schedule. After a survey of the C++ and Java source code quality tools available on the market, we are investigating four finalists that would be used for specific aspects of the ISO9126 characteristics. Four industrial tools to evaluate C++ and Java source code are Logiscope [16], CodeCheck, Insure++, and Datrix. Logiscope, CodeCheck, and Datrix are to be used for the static analysis and rules checking. The Insure++, visualizes the execution of the program and operates in place of the compiler [14]. It is not classified as a static analyzer instead aims at profiling memory corruption, leaks and allocation errors. C, C++ and Java based systems are being developed using object-oriented paradigms. This paradigm of building software has reintroduced the use of recursive programming. Where in procedural languages it was considered not to be a good practice, it is now considered a good practice since objects are viewed as service providers regardless of how the service is being provided. Also compilers and equipments have progressively more resources available and are better protected against lockup. The Datrix object oriented measures assessment is focused on the control of cohesion and coupling between classes [12]. Datrix object oriented class metrics is related to size and dependency of classes. [8] [12]. 4. MAPPING PILOT MEASURES TO ISO9126 ISO/IEC-9126 defines 6 software product quality ISO 9126 Functionality Reliability Usability Efficiency Maintainability Portability
4 Figure 1: ISO9126 Quality Characteristics characteristics, e.g. fig. 1, and is the target for software product evaluation. These characteristics are then decomposed into sub-characteristics and metrics. The Work Group 6 of the ISO Joint Technical Committee is currently reviewing this level of detail and should be available this year. The set of measures that are available from the tools selected for the pilot does not cover the full characteristics of the ISO9126 Quality Model. We have not found any measurement for the Usability characteristics [5]. Figure 2 demonstrates where we intend to use each tool which is mainly the maintainability and portability aspects software. The efficiency mapping was done with Insure ++ where measures oriented on memory usage and allocation have been chosen. Insure ++ Codecheck Efficiency Portability Doc. and Rules Checking Figure 2: Pilot measures mapping to ISO9126 It is clear that response-time and resource utilization currently addressed by another set of supplier performance related tools as opposed to source code quality tools. The principal elements of good programming style are the requirements of æsthetics, maintenability and portability. 4.1 Maintainability & Portability Logiscope Datrix Maintainability The maintainability of a system is highly dependent on the source code characteristics. In systems made up of independent components with well designed boundaries, linked through normalized interfaces. A maintainer knows easily how to correct a problem since determining which component is responsible for a desired functionality is built in. The tools we have chosen for measurement of maintainability cover many aspects that are necessary for uncovering those potential problem areas. The first aspect of maintainability to be evaluated is the internal documentation of source code. We assess if documentation is done and how sufficient. Internal code documentation helps the maintenance personnel, at a detailed level, particularly to validate assumptions about what the code is actually doing. The tools report on various aspects of internal documentation into. The second aspect to be assessed is if structured programming was enforced. Structured programming is based on the premise that a problem is broken down into a finite number of components and that each component of source code has one point of entry and one point of exit. The source code analysis tools already have a good number of measures that can be used readily for both documentation and structure. These are not covered by this paper as they have been available for some years and now more commonly used [7][12][16]. The next important aspect of maintainability to be assessed are the coupling measures which determine to what extent a given routine, object and class is coupled to the rest of the system, regarding the number of global identifiers it uses (global variables references, and calls to other routines). High level of coupling, particularly between routines and global variables, indicate that the components are not independent. The OO paradigm measures provides similar information about the nature of the methods found in each class. Measures are available to assess Inheritance coupling. These measures show whether or not the object oriented concept of inheritance is used, and how well. Coupling measures from Datrix and Logiscope have been selected, e.g. fig. 3. Datrix and Logiscope provides coupling measures for routines, classes and files. The next assessment aspect of maintainability is size and complexity. Measures of the size and complexity also contribute information to form an opinion on the system maintainability and testability. Various measurements are available in the basic offering of tools on the size of the programs, as well as the complexity of the statements and of the control flow. Measures that influence the number of test cases required for unit testing, as well as the effort required to build each test case are classified as testability within the maintainability characteristic. Similarly, the use of programming guidelines or standards, by reducing the variability in the code, can help a designer to understand the different parts of the code in the system. Hence, the programming measures can be used to assess its maintainability. The conclusions that can be drawn from the measures about the maintainability of the source code are limited but can be automated easily by tools. The first assessment concerns the attributes, and includes characteristics of a class, like simple counts on the number of private, protected and public attributes. Maintainability of software is also interested in the effort required to change the code and the extent to which a given functionality is localized in a given component in the overall system.
5 TOOL MEASURE ISO 9126 CHARACTERISTICS RELIABILITY EFFICIENCY MAINTAINABILITY PORTABILITY Codecheck Array, Structure and Union Initializers Logiscope Average Coupling between object Logiscope Coupling Between Classes Logiscope Coupling between objects Codecheck Bitfields Standards Datrix Class Attributes Datrix Class Methods Datrix Class Inheritance Coupling Datrix Class Documentation Codecheck Comments in Macro definitions Logiscope Direct Recursive Datrix File Coupling Logiscope Indirect Recursive Insure++ I/O Errors Codecheck Leading Whitespace within included File Names Codecheck Lex_nonstandard Codecheck Lex_trigraph Insure++ Memory Corruption Insure++ Memory Leak Insure++ Memory Allocation Insure++ Program Optimisation Codecheck Nested Name Tags Datrix Routines Coupling Datrix Routines Dimension and Complexity Datrix Routines Programming Rule Datrix Routines Testability Codecheck System Variables Codecheck Whitespace within Preprocessor directives Figure 3 Chosen pilot measures mapped to ISO 9126 Characteristics
6 Most of the time, the changes should be localized in a few, tightly related functions and classes. Thus, again, Datrix and Logiscope coupling metrics provide useful insight in this assessment. When doing a change to existing code there is always a risk of introducing undesirable impacts else where in the system. This side effect has been found to be dependent on the coupling between source code components. The number of public attributes and methods of classes is a measurement of the potential communication channels between classes. Measures are used to assess the actual usage of these channels. Another aspect that should be considered when changing the code, is whether or not other parts of the system would require the same change. Again, the automatic identification of clones is a usefull measure and can be obtained both from Logiscope and Datrix. Finally the direct and indirect recursive identification from Logiscope is also an interesting measure since it is a potential resource problem area and is not easily maintainable. Fortunately there are significant overlaps between the topics presented so far. C, C++ and Java programmers should strive to achieve a style that is portable, easily maintainable, and elegant. Code that is technically "portable" but not easily maintained is not considered to be truly portable. A nontrivial C program that is universally portable is very rare. There are so many flexibilities in the syntax and semantics of C, C++ and Java that universal portability is practically unachievable. Therefore, designers must make their code simple and straighforward as this is the essence of portability and maintainability. Simplicity lies at the heart of maintainability and programming standards. For reasons difficult to understand, many C, C++ and Java programmers intentionally do not conform to guidelines and standards as part of their culture. This culture, which is originates back from the early 60 s, seems to value complexity, hidden logic and the use of less known operators over all other considerations. The real programmer creates code that others find impossible to understand. Whatever the reason, these values militate against simple and standard coding practices. The reasons for this fact of life are many, as presented by Abraxas Software [ 7 ], but there are three principal forces at work which underlie almost all portability issues. Force #1: Language Parochialism : which is the use of the non-standard features at the lowest levels of operations: the preprocessor and the lexical analyzer of the compiler, the file management routines of the operating system, and the bit-manipulation instructions of the machine; Force #2: Programmer Machismo: Getting all the power on one single completely undocumented line to show they have achieved something special. What they have actually created is a maintenance nightmare for someone else; Force #3: Compiler Drift: extension (nonstandard, naturally) that will ease the life of programmers and sell lots more compilers. The temptation to include these features is certainly not all bad, as it does generate an endless stream of new ideas for compilers, but it feeds directly into the other two forces. Ten measures from Codecheck [7] have been selected to evaluate the portability of the software. Although much more than portability can be achieved by Codecheck, we have limited our scope, at this time, to the portability measures. The first measure addresses the compiler automatic initialization of arrays, structure and Union. Since not all compilers permit this usage, it is not considered portable and is interesting to detect in existing software. The second measure reports on the usage of Bitfields. A first issue with bitfields is that compilers differ with respect to the maximum size of the bitfields that they allow. A second issue arise when they are not explicitly declared unsigned. The third measure concerns the inclusion of comment in a macro definition: The practice of placing a comment in a macro definition: ex: #define PASTE(c,d) c/**/d could cause the preprocessor to "paste" the actual arguments for c and d together, so that the compiler would see only the single token cd. From this practice there sprang up a whole industry of token pasting by programmers eager to exploit the loophole. Since not all compilers will be so accommodating as to ignore the embedded comment ANSI has come to the rescue with the following provisions: (a) comments within macro definitions must be treated as whitespace, and (b) programmers who feel the need to paste tokens may use the new "paste" operator (##) for the preprocessor. The fourth measure is concerned with the end of file. The last character before the end-of-file marker in a non empty source file must be a newline character. Some older compilers allow a file to terminate with any character. Consequently, the ends of files must be checked for portability to ANSI compliant compilers. The fifth portability measure is with the leading whitespace within an included File Name. Some C preprocessors do not automatically delete any whitespace characters (spaces or tabs) that precede the
7 filename within #include directives. For example: #include < ipbills.h> and #include " ipinvoice.h". Codecheck provides variables to detect this practice. The sixth measure is measuring the conformity to the standard C character set. Many C compilers allow the use of characters that are not in the standard C character set. Nonstandard characters are, by definition, not portable. Seventh measure identifies the ANSI definition of Trigraph. Trigraphs are special 3- character sequences introduced in ANSI C. Trigraphs portability issue only to the extent that older programs where trigraph will no longer compile correctly. The eight measure addresses older C code where Some older compilers permit macro expansion within string literals. This practice is permitted neither in ANSI C nor in the majority of non-ansi compilers. The ninth measure identifies the use of the leading underscore. This convention has evolved within the C community in which identifiers that are defined and used by the system (i.e. variables used by the compiler, the linker, or standard system header files) are spelled with a leading underscore character. If programmers conform to this convention by never spelling an identifier in this way, then name conflicts are prevented. Unfortunately, some programmers are unaware of this convention, and may inadvertently spell an identifier with a leading underscore. Even if the program compiles without error, it will break as soon as it is compiled on another system that happens to use one of these names. The last portability measure we have chosen from Codecheck is where some C preprocessors allow whitespace to precede the # symbol. Such use of whitespace is not portable to older compilers, although the trend is toward permitting it. Together those 10 measures give us an indication of portability of the software. 5. CONCLUSIONS AND FUTURE WORK Source code quality analysis tools can provide insight about the code being assessed, which could give Batelco a better understanding of the quality of a system before it is acquired. Portability measures have been found to be easily implementable and available. Tools could also help with measures for assessing the maintainability, efficiency characteristics of the ISO 9126 standard. In our opinion, such information can quickly be obtained by automation for an objective view of the design and standards used in a software system. We have not been able to fully assess the all the ISO9126 characteristics, especially in the usability and functionality areas. Documentation, size and complexity measures are readily available for use in commercial tools. Coupling metrics are usefull to provide insight in the assessment of design. The pilot measures we have chosen are promising to assess good object oriented design and coding of information systems. Measures can also be usefull when used to assess to what extent a system is made of components, each of them being as self-contained and independent as possible. The industrial trial of the tools and measures will be developed as a second step of our pilot. As well assessment modules [10] will be developed for documenting the evaluations and visual inspections to specific areas of the software. Finally identifying testability measures could reveal interesting for probing the completeness of the coverage of the supplier unit and system tests scenarios before acceptance. 6. REFERENCES [1] April A., Coallier F., «A model for the Assessment of Telecom Software System Development Capability», Proceedings International SPICE conference, Australia, [2] April A., Coallier F., «Trillium: A Customer-Oriented Assessment Method for Software System Development Capability», Proceedings Quebec-German workshop on software measurement, Bonn, October [3] April A., Abran A., Merlo E. «Process Assurance Audits», Proceedings 20 th International Conference on Software Engineering, ICSE 98, Kyoto, JAPAN, April 19-25, [4] ANSI, «Working Draft Proposed International Standard for Information Systems Programming Language C++», 1995, ANSI. [5] Bevans, «Measuring usability as quality of use», Jounal of Software Quality, 4, p , [6] Boloix G., Robillard P., «A Software System Evaluation Framework», Computer, Magazine of the IEEE Computer Society, December 1995, pp [7] Codecheck, «C and C++ analysis using Codecheck», [8] Datrix, «Software evolvability analysis», Bell Canada, [9] ISO 12207, «Information technology Software life-cycle processes», [10] ISO 9126, «Information technology Software product evaluation Quality characteristics and guidelines for their use», [11] Koenig,A., «C Traps and Pitfalls», Addison-Wesley, [12] Laguë B., April A., «Mapping of the ISO 9126 Maintainability Internal Metrics to an industrial research tool», SESS conference proceedings, Montréal, October 21-25, [13] Mayrand J., Coallier F., «System Acquisition based on Software Product Assessment», Proceedings of the 18th International Conference on Software Engineering, Berlin, march, [14] Parasoft, Insure++, [15] Plum T., «C Programming Guidelines», 2 nd Edition, Prentice Hall, [16] Telelogic, «Logiscope», Codecheck is a product of Abraxas Software Inc. Datrix is a Trademark of Bell Canada. Logiscope Tau is a product of Telelogic.
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 mcserep@caesar.elte.hu
More informationChapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management
Chapter 24 - Quality Management Lecture 1 1 Topics covered Software quality Software standards Reviews and inspections Software measurement and metrics 2 Software quality management Concerned with ensuring
More informationAn integrated life cycle quality model for general public market software products
An integrated life cycle quality model for general public market software products Witold Suryn 1, Alain Abran 2, Claude Laporte 3 1 Département de génie électrique, École de technologie supérieure 1100,
More informationThe 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
More informationQuality Management. Objectives
Quality Management Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1 Objectives To introduce the quality management process and key quality management activities To explain the
More informationQuality Management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1
Quality Management Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1 Objectives To introduce the quality management process and key quality management activities To explain the
More informationQuality Management. Objectives. Topics covered. Process and product quality Quality assurance and standards Quality planning Quality control
Quality Management Sommerville Chapter 27 Objectives To introduce the quality management process and key quality management activities To explain the role of standards in quality management To explain
More informationContents. viii. 4 Service Design processes 57. List of figures. List of tables. OGC s foreword. Chief Architect s foreword. Preface.
iii Contents List of figures List of tables OGC s foreword Chief Architect s foreword Preface Acknowledgements v vii viii 1 Introduction 1 1.1 Overview 4 1.2 Context 4 1.3 Purpose 8 1.4 Usage 8 2 Management
More informationRequirements engineering
Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and
More informationThe «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code
The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code Jean-Louis Letouzey DNV IT Global Services Arcueil, France jean-louis.letouzey@dnv.com
More informationR214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM
The American Association for Laboratory Accreditation Document Revised: R214: Specific Requirements: Information Technology Testing Laboratory Accreditation July 13, 2010 Program Page 1 of 26 R214 SPECIFIC
More information8. Master Test Plan (MTP)
8. Master Test Plan (MTP) The purpose of the Master Test Plan (MTP) is to provide an overall test planning and test management document for multiple levels of test (either within one project or across
More information3SL. 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
More informationBachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
More informationQuality Management. Managing the quality of the software process and products
Quality Management Managing the quality of the software process and products Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 24 Slide 1 Objectives To introduce the quality management process
More informationHow 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 informationYour Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.
INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing
More informationQuality 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 informationSoftware Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
More informationChap 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 informationChapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages
Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming
More informationUsing TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development
Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development The FDA requires medical software development teams to comply with its standards for software
More informationSoftware Maintenance Capability Maturity Model (SM-CMM): Process Performance Measurement
Software Maintenance Capability Maturity Model 311 Software Maintenance Capability Maturity Model (SM-CMM): Process Performance Measurement Alain April 1, Alain Abran 2, Reiner R. Dumke 3 1 Bahrain telecommunications
More informationProgramming Languages CIS 443
Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception
More informationCSC 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 informationClone Detection in a Product Line Context
Clone Detection in a Product Line Context Thilo Mende, Felix Beckwermert University of Bremen, Germany {tmende,beckwermert}@informatik.uni-bremen.de Abstract: Software Product Lines (SPL) can be used to
More informationA Visual Language Based System for the Efficient Management of the Software Development Process.
A Visual Language Based System for the Efficient Management of the Software Development Process. G. COSTAGLIOLA, G. POLESE, G. TORTORA and P. D AMBROSIO * Dipartimento di Informatica ed Applicazioni, Università
More informationImplementing a Metrics Program MOUSE will help you
Implementing a Metrics Program MOUSE will help you Ton Dekkers, Galorath tdekkers@galorath.com Just like an information system, a method, a technique, a tool or an approach is supporting the achievement
More informationEffective Software Security Management
Effective Software Security Management choosing the right drivers for applying application security Author: Dharmesh M Mehta dharmeshmm@mastek.com / dharmeshmm@owasp.org Table of Contents Abstract... 1
More informationModernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC
Modernized and Maintainable Code Frank Weil, Ph.D. UniqueSoft, LLC UniqueSoft is a provider of next-generation software development tools and services specializing in modernizing legacy software using
More informationSOFTWARE 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 informationProcedure for Assessment of System and Software
Doc. No: STQC IT/ Assessment/ 01, Version 1.0 Procedure for Assessment of System and Software May, 2014 STQC - IT Services STQC Directorate, Department of Electronics and Information Technology, Ministry
More informationLanguage Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages
ICOM 4036 Programming Languages Preliminaries Dr. Amirhossein Chinaei Dept. of Electrical & Computer Engineering UPRM Spring 2010 Language Evaluation Criteria Readability: the ease with which programs
More informationAbstraction in Computer Science & Software Engineering: A Pedagogical Perspective
Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT
More informationWHITE PAPER OCTOBER 2014. Unified Monitoring. A Business Perspective
WHITE PAPER OCTOBER 2014 Unified Monitoring A Business Perspective 2 WHITE PAPER: UNIFIED MONITORING ca.com Table of Contents Introduction 3 Section 1: Today s Emerging Computing Environments 4 Section
More informationWhat is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
More informationExtend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
More informationInformation technology Programming languages Fortran Enhanced data type facilities
ISO/IEC JTC1/SC22/WG5 N1379 Working draft of ISO/IEC TR 15581, second edition Information technology Programming languages Fortran Enhanced data type facilities This page to be supplied by ISO. No changes
More informationDarshan 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 informationThe C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
More informationAgile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
More informationDo you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.
Do you know? "7 Practices" for a Reliable Requirements Management by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. In this white paper, we focus on the "Requirements Management,"
More informationSoftware Product Quality Practices Quality Measurement and Evaluation using TL9000 and ISO/IEC 9126
Software Practices Measurement and Evaluation using TL9000 and ISO/IEC 9126 Witold Suryn 1, Alain Abran 2, Pierre Bourque 3, Claude Laporte 4 Department of Electrical Engineering, École de Technologie
More informationSoftware 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 informationThe Elective Part of the NSS ICT Curriculum D. Software Development
of the NSS ICT Curriculum D. Software Development Mr. CHEUNG Wah-sang / Mr. WONG Wing-hong, Robert Member of CDC HKEAA Committee on ICT (Senior Secondary) 1 D. Software Development The concepts / skills
More informationFeasibility Study Inputs based on Requirements Engineering
Feasibility Study Inputs based on Requirements Engineering Robert Pergl Department of Information Engineering, Faculty of Economics and Management, Czech University of Life Sciences, Prague, Czech Republic
More informationAn Introduction to. Metrics. used during. Software Development
An Introduction to Metrics used during Software Development Life Cycle www.softwaretestinggenius.com Page 1 of 10 Define the Metric Objectives You can t control what you can t measure. This is a quote
More informationA study on Security Level Management Model Description
A study on Security Level Management Model Description Tai-Hoon Kim Dept. of Multimedia, Hannam University, Daejeon, Korea taihoonn@hnu.ac.kr Kouichi Sakurai Dept. of Computer Science & Communication Engineering,
More informationDevelop Project Charter. Develop Project Management Plan
Develop Charter Develop Charter is the process of developing documentation that formally authorizes a project or a phase. The documentation includes initial requirements that satisfy stakeholder needs
More informationMotorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI)
Motorola 8- and 16-bit Embedded Application Binary Interface (M8/16EABI) SYSTEM V APPLICATION BINARY INTERFACE Motorola M68HC05, M68HC08, M68HC11, M68HC12, and M68HC16 Processors Supplement Version 2.0
More informationMeeting DO-178B Software Verification Guidelines with Coverity Integrity Center
Meeting DO-178B Software Verification Guidelines with Coverity Integrity Center May, 2009 Thomas Schultz Director of Product Strategy, Coverity, Inc. Executive Summary Development organizations that create
More informationInformation Management Advice 39 Developing an Information Asset Register
Information Management Advice 39 Developing an Information Asset Register Introduction The amount of information agencies create is continually increasing, and whether your agency is large or small, if
More informationDecomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces
Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The
More informationMyths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.
WSJ: SOA Myths About Service-Oriented Architecture Demystifying SOA Service-oriented architecture (SOA) refers to an architectural solution that creates an environment in which services, service consumers,
More informationQuality Management. What is quality? Managing the quality of the software process and products ISO 9000
Quality Management What is quality? Managing the quality of the software process and products Quality, simplistically, means that a product should meet its specification This is problematical for software
More informationHow To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
More informationSoftware 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 informationMoving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
More informationGlossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
More informationOracle Real Time Decisions
A Product Review James Taylor CEO CONTENTS Introducing Decision Management Systems Oracle Real Time Decisions Product Architecture Key Features Availability Conclusion Oracle Real Time Decisions (RTD)
More informationKITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
More informationCourse Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)
Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Duration of Course: 6 Months Fees: Rs. 25,000/- (including Service Tax) Eligibility: B.E./B.Tech., M.Sc.(IT/ computer
More informationAIPM PROFESSIONAL COMPETENCY STANDARDS FOR PROJECT MANAGEMENT PART B CERTIFIED PRACTISING PROJECT PRACTITIONER (CPPP)
AIPM PROFESSIONAL COMPETENCY STANDARDS FOR PROJECT MANAGEMENT PART B CERTIFIED PRACTISING PROJECT PRACTITIONER (CPPP) Copyright: Australian Institute of Project Management Document Information Document
More informationInternational Software & Systems Engineering. Standards. Jim Moore The MITRE Corporation Chair, US TAG to ISO/IEC JTC1/SC7 James.W.Moore@ieee.
This presentation represents the opinion of the author and does not present positions of The MITRE Corporation or of the U.S. Department of Defense. Prepared for the 4th Annual PSM Users Group Conference
More information2015. All rights reserved.
DOCUMENT: Future AAMI/IEC 62304:2006/AMD1, 18-August-2015 Final Draft International Standard for Vote, Amendment 1 to IEC 62304: Medical device software Software life cycle processes. Public Review Draft
More informationModule 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between
More informationCloud Cube Model: Selecting Cloud Formations for Secure Collaboration
Cloud Cube Model: Selecting Cloud Formations for Secure Collaboration Problem Cloud computing offers massive scalability - in virtual computing power, storage, and applications resources - all at almost
More informationIT Project Management Methodology. Project Scope Management Support Guide
NATIONAL INFORMATION TECHNOLOGY AUTHORITY - UGANDA IT Project Management Methodology Project Scope Management Support Guide Version 0.3 Version Date Author Change Description 0.1 23 rd Mar, 2013 Gerald
More informationEvaluation and Integration of Risk Management in CMMI and ISO/IEC 15504
Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504 Dipak Surie, Email : ens03dse@cs.umu.se Computing Science Department Umea University, Umea, Sweden Abstract. During software development,
More informationConfiguration & Build Management
Object-Oriented Software Engineering Using UML, Patterns, and Java Configuration & Build Management Outline of the Lecture Purpose of Software Configuration Management (SCM) Some Terminology Software Configuration
More informationVolume I, Section 4 Table of Contents
Volume I, Section 4 Table of Contents 4 Software Standards...4-1 4.1 Scope...4-1 4.1.1 Software Sources...4-2 4.1.2 Location and Control of Software and Hardware on Which it Operates...4-2 4.1.3 Exclusions...4-3
More informationSources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
More informationKarunya 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 informationEnterprise 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 information1-04-10 Configuration Management: An Object-Based Method Barbara Dumas
1-04-10 Configuration Management: An Object-Based Method Barbara Dumas Payoff Configuration management (CM) helps an organization maintain an inventory of its software assets. In traditional CM systems,
More informationComparison 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 informationMEASURING USABILITY OF ICONIC BASED GUIs OF MOBILE EMERGENCY SERVICE SOFTWARE BY USING HCI. Y.Batu Salman, Adem Karahoca
MEASURING USABILITY OF ICONIC BASED GUIs OF MOBILE EMERGENCY SERVICE SOFTWARE BY USING HCI Y.Batu Salman, Adem Karahoca Bahcesehir University, Engineering Faculty, Computer Engineering Department Bahcesehir,
More informationSoftware Requirements Specification
1 of 7 17.04.98 13:32 Software Requirements Specification The sub-sections : 1. What is a Software Requirements Specification 2. Why is a Software Requirement Specification Required 3. What is Contained
More informationProf. Paolo Nesi. Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet
1 Sistemi Distribuiti Corso di Laurea in Ingegneria Prof. Paolo Nesi PARTI: 3 Ciclo di Vita, management, assessment Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze,
More informationMicrosoft s Compliance Framework for Online Services
Microsoft s Compliance Framework for Online Services Online Services Security and Compliance Executive summary Contents Executive summary 1 The changing landscape for online services compliance 4 How Microsoft
More informationFactors 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 informationSoftware Maintenance Productivity measurement: how to assess the readiness of your organization
Software Maintenance Productivity Measurement Software Maintenance Productivity measurement: how to assess the readiness of your organization Alain April 1, Alain Abran 2, Reiner R. Dumke 3 1 École de
More informationReliable Systolic Computing through Redundancy
Reliable Systolic Computing through Redundancy Kunio Okuda 1, Siang Wun Song 1, and Marcos Tatsuo Yamamoto 1 Universidade de São Paulo, Brazil, {kunio,song,mty}@ime.usp.br, http://www.ime.usp.br/ song/
More informationirods and Metadata survey Version 0.1 Date March Abhijeet Kodgire akodgire@indiana.edu 25th
irods and Metadata survey Version 0.1 Date 25th March Purpose Survey of Status Complete Author Abhijeet Kodgire akodgire@indiana.edu Table of Contents 1 Abstract... 3 2 Categories and Subject Descriptors...
More informationSoftware Project Management Plan (SPMP)
Software Project Management Plan (SPMP) The basic template to be used is derived from IEEE Std 1058-1998, IEEE Standard for Software Project Management Plans. The following is a template for the SPMP.
More informationService Quality Management The next logical step by James Lochran
www.pipelinepub.com Volume 4, Issue 2 Service Quality Management The next logical step by James Lochran Service Quality Management (SQM) is the latest in the long list of buzz words floating around the
More informationImplementing SharePoint 2010 as a Compliant Information Management Platform
Implementing SharePoint 2010 as a Compliant Information Management Platform Changing the Paradigm with a Business Oriented Approach to Records Management Introduction This document sets out the results
More informationSOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:
More informationWHITE PAPER IT SERVICE MANAGEMENT IT SERVICE DESIGN 101
WHITE PAPER IT SERVICE MANAGEMENT IT SERVICE DESIGN 101 Prepared by: Phillip Bailey, Service Management Consultant Steve Ingall, Head of Service Management Consultancy 60 Lombard Street London EC3V 9EA
More informationGuideline for Implementing the Universal Data Element Framework (UDEF)
Guideline for Implementing the Universal Data Element Framework (UDEF) Version 1.0 November 14, 2007 Developed By: Electronic Enterprise Integration Committee Aerospace Industries Association, Inc. Important
More informationFundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
More informationSyllabus. REQB Certified Professional for Requirements Engineering. Foundation Level
Syllabus REQB Certified Professional for Requirements Engineering Version 2.1 2014 The copyright to this edition of the syllabus in all languages is held by the Global Association for Software Quality,
More informationA 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 informationBS 11000 Collaborative Business Relationships It s your choice. Your implementation guide
BS 11000 Collaborative Business Relationships It s your choice Your implementation guide BS 11000 - Collaborative Business Relationships Background BS 11000 is a recognized standard for ensuring mutually
More informationThe Role and Task of the System Architect
- Blah Blah V4aa Idea IO think, analyze listen, talk, walk around design, assist project leader brainstorm, with work breakdown, explain schedule, risks present, meet, teach, discuss travel to write, customer,
More informationAnnual Assessment Report, 2012-2013 College of Business Administration Sharyn Gardner, Assessment Director
Annual Assessment Report, 2012-2013 College of Business Administration Sharyn Gardner, Assessment Director The Sacramento State College of Business Administration (CBA) is accredited by the AACSB and thus
More informationPROJECT AUDIT METHODOLOGY
PROJECT AUDIT METHODOLOGY 1 "Your career as a project manager begins here!" Content Introduction... 3 1. Definition of the project audit... 3 2. Objectives of the project audit... 3 3. Benefit of the audit
More informationThe Complete Alphabet of Quality Software Systems: Conflicts and Compromises
Siakas Kerstin V., Berki Eleni, Georgiadou Elli, Sadler Chris (1997). The Complete Alphabet of Quality Software Systems: Conflicts & Compromises. Lt. Gen. J. S. Ahluwalia (Eds.) Total Quality Management
More informationIntroduction to Java Applications. 2005 Pearson Education, Inc. All rights reserved.
1 2 Introduction to Java Applications 2.2 First Program in Java: Printing a Line of Text 2 Application Executes when you use the java command to launch the Java Virtual Machine (JVM) Sample program Displays
More informationPORTFOLIO, 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
More information