Copyright © 2010 Nara Institute of Science and Technology / Osaka University Standardizing the Software Tag in Japan for Transparency of Development Profes.

Slides:



Advertisements
Similar presentations
Metrics and Databases for Agile Software Development Projects David I. Heimann IEEE Boston Reliability Society April 14, 2010.
Advertisements

Configuration management
Configuration Management
Metrics for Process and Projects
MIS 325 PSCJ. 2  Business processes can be quite complex  Process model: any abstract representation of a process  Process-modeling tools provide a.
T-FLEX DOCs PLM, Document and Workflow Management.
The Experience Factory May 2004 Leonardo Vaccaro.
Stepan Potiyenko ISS Sr.SW Developer.
Software Quality Metrics
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
Software Engineering II - Topic: Software Process Metrics and Project Metrics Instructor: Dr. Jerry Gao San Jose State University
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 16-1 Accounting Information Systems 9 th Edition Marshall.
Chapter 1 Database Systems. Good decisions require good information derived from raw facts Data is managed most efficiently when stored in a database.
CS 4310: Software Engineering
IWFST20051 A Research Framework for Empirical Software Engineering Collaboration and Its Application in a Software Development Project Yoshiki Mitani*,
Software Configuration Management (SCM)
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Foundations of Information Systems in Business
CHAPTER 5 Infrastructure Components PART I. 2 ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser 2 Learning Objectives: To discuss: The need for SQA procedures.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University ICSE 2003 Java.
Chapter 2 The process Process, Methods, and Tools
Page 1 MODEL TEST in the small GENERALIZE PROGRAM PROCESS allocated maintenance changes management documents initial requirement project infrastructure.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
David Grizzanti Evaluating Software Reuse Alternatives: An Industrial Case Study.
Software Configuration Management (SCM)
An Overview of MPEG-21 Cory McKay. Introduction Built on top of MPEG-4 and MPEG-7 standards Much more than just an audiovisual standard Meant to be a.
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Current Status of Software Industry in Japan.
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Part 3 Managing for Quality and Competitiveness © 2015 McGraw-Hill Education.
A Novel Approach to Architectural Recovery in Evolving Object- Oriented Systems PhD thesis Koen De Hondt December 11, 1998.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Copyright © 2008 Nara Institute of Science and Technology / Osaka University Using Software Tag for Traceability and Transparency in Global Software Engineering.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Panel Session Accountability and Traceability in Global Software Engineering Coordinator Katsuro Inoue Osaka University.
Workshop on Software Product Archiving and Retrieving System Takeo KASUBUCHI Hiroshi IGAKI Hajimu IIDA Ken’ichi MATUMOTO Nara Institute of Science and.
Rational Unified Process Fundamentals Module 5: Implementing RUP.
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
Pre-Project Components
ANKITHA CHOWDARY GARAPATI
Implementing Parametric CAD in STEP ???? Kenneth E. Wolsey May 16, 2007
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc., All Rights Reserved. 6-1 Chapter 6 CHAPTER 6 INTERNAL CONTROL IN A FINANCIAL STATEMENT AUDIT.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
The Software Process Chapter – II. Topics S/w Engg – A layered Technology A Process Framework Process Patterns Process Assessment Product and Process.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Software Tag:
Foundations of Information Systems in Business. System ® System  A system is an interrelated set of business procedures used within one business unit.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Extracting Sequence.
Software Quality Assurance and Testing Fazal Rehman Shamil.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
Copyright © 2007, Oracle. All rights reserved. Using Document Management and Collaboration Appendix B.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Building PetaScale Applications and Tools on the TeraGrid Workshop December 11-12, 2007 Scott Lathrop and Sergiu Sanielevici.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
CPSC 873 John D. McGregor GQM.
Datamining : Refers to extracting or mining knowledge from large amounts of data Applications : Market Analysis Fraud Detection Customer Retention Production.
An Overview of MPEG-21 Cory McKay.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Copyright © 2010 Nara Institute of Science and Technology / Osaka University Standardizing the Software Tag in Japan for Transparency of Development Profes 2010 Masateru Tsunoda †, Tomoko Matsumura †, Hajimu Iida †, Kozo Kubo †, Shinji Kusumoto ‡, Katsuro Inoue ‡, and Ken-ichi Matsumoto † †Nara Institute of Science and Technology, Japan ‡Osaka University, Japan

1 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Background Software failure may cause great economic loss for developers and purchasers. Complex systems are widely used in society. They become important infrastructure for society. Ex. Banking, communication systems, … There may be life threatening system failures. Ex. Air-traffic control system, automobile safety system, … There are high risks of software failure. Software systems are still extending but development periods are decreasing. Demand of reducing cost and increasing reliability.

2 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Issues on Non-transparency Purchasers cannot check the quality of software products during software development. The developer collects project data and analysis it. The purchaser does not know project data and the analysis results. Purchaser Order Deliver Developer Project data Software product Data collection Analysis feedback

3 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Goal and Approach Goal Increasing traceability and transparency of software products and development for purchasers. Approach Propose the software tag to share various data between purchasers and developers. It contains various data collected during development. Key technologies Software tag standard 1.0 Data collection and analysis tools Tag application pattern

Copyright © 2010 Nara Institute of Science and Technology / Osaka University Software Tag Usage Model

5 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Software Tag Usage Model Depend on development style, purchasers,... Typical cases In contract-based development, the purchaser uses the software tag for evaluation of development. Software tag data cannot be public (Only purchasers can see it). Legal dispute is occurred between the purchaser and the developer, the software tag is used for evaluation of their liability. When choosing software components, the developer uses the software tag for the component evaluation.

6 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Contract-based Development Project data is selected/abstracted as the software tag, and the tag is associated with software. The purchaser confirms validity of process and product with the software tag. Purchaser Order Deliver Developer Project data Data collection Analysis feedback Software products Associated Software tag Selected/ abstracted

7 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Legal Dispute between the Purchaser and the Developer Software liability arbiter inspects the software tag to resolve the legal issue. Purchaser Order Deliver Developer Project data Data collection Analysis feedback Software products Associated Software tag Selected/abstracted Software liability arbiter Inspect

8 Copyright © 2010 Nara Institute of Science and Technology / Osaka University When developers search for reusable components, they can select reliable components by evaluating the software tag. Evaluation of Software Components Developer Search for reusable components Evaluation Software system integration Select reliable components Reusable component library Software component Software component Software component

Copyright © 2010 Nara Institute of Science and Technology / Osaka University Key technology: Software tag standard 1.0

10 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Software Tag Standard 1.0 We defined Software Tag Standard 1.0 based on discussions with industry and academic collaborators. Project information (12 elements) Basic information for project and system basic info., system info., development info., project organization, other Progress information (29 elements) Development information of the system requirement, design, coding, test, quality, work load, plan and management, other products ClassificationCategoryNo.Tag ElementExplanation Project Information Development Information 7Development ApproachDevelopment process type or techniques 8Organizational StructureStructure of development organization 9Project DurationInformation of development length Progress Information Programming 19Scale Amount of programming products 20Revisions Amount of changed programs 21Complexity Complexity of programs

11 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Establishing Policy of Software Tag Standard We considered Including information that are important to the purchasers. Simple structure for the purchaser to understand. The balance of the tag elements. On the tag standard, Tag elements are selective. Calculation methods of the elements were not described. Thorough the discussion, we saw that appropriate tag elements set and calculation methods are different for organizations.

12 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Arbitrary Matters Tag elements used in the tag. It is not necessary to use all elements. Metrics used for the tag element. Tag Standard 1.0 shows examples of metrics. Ex. Function point or lines of code can be used for tag element “scale” Timing of sending tag data from the vendor to the purchaser. Ex. at the end of the project, at every phase of development (ex. the end of design phase), at every week,...

13 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Empirical Data Supporting data for the software tag. Ex. source code, design documents, bug reports, progress reports,... Encrypted and stored. Decrypted when serious system failure or legal dispute is occurred to inspect the project. Scale Complexity Lines of code Cyclomatic complexity Source code repository Tag elements Mertics Empirical data Software tag

14 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Standardizing Tag Data Format To store, exchange and reuse the software tag, we settled the draft of the standard software tag format. Based on XML format. Software tag support tools treats software tag format data. We are making the tool which converts existing tools’ data into standard software tag format data. Standard software tag format data Visualization tools Convert tool Software configuration management

Copyright © 2010 Nara Institute of Science and Technology / Osaka University Key technology: Data collection and analysis tools

16 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Software Tag Data Collection Tool CollectTag (1/2) Supports collection of empirical data and creation of a software tag. Automatic data collection mechanisms for 11 tag elements using software configuration management or bug tracking system. Ex. LOC (Scale) and CK metrics (Complexity) are automatically collected from SCM tools (CVS/Subversion). Wizard type user interface.

17 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Software Tag Data Collection Tool CollectTag (2/2) 1. A user selects a tag element, and settles a metric for the element. 2. The user selects data input method. 3. CollectTag generates the software tag elements in standard software tag format. [Programming]-[Scale] (#19) is selected The user can select [Lines of code] or [Function point] Input Manually (LOC) Obtain from repositories

18 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Software Tag Visualization Tool TagReplayer (1/2) Provide fundamental features for integrated visualization of the software tag. Employ the metaphor of video player manipulation for its user interface. Users can replay the progress of the project just like watching video on TV. Align progress information from the software tag as a series of events.

19 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Software Tag Visualization Tool TagReplayer (2/2) Transition of LOC during the project Completion rate of each file, computed from cumulative changed LOC at the end of the project Assigned and completed task history of each member Topics list, mail subject list, and a mail body By moving slider, replay goes to a certain point of time

Copyright © 2010 Nara Institute of Science and Technology / Osaka University Key technology: Tag Application Pattern

21 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Tag Application Pattern (1/2) Catalog to explain which metrics should be used and how to analysis them. Software tag standard 1.0 does not include concrete metrics. It is not easy to settle metrics for many tag elements from scratch. Goal achieved by the software tag Metric indicating whether the goal is achieved or not Metrics indicating whether progress is smooth or not. (Tag elements)

22 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Tag Application Pattern (2/2) Explain usages of each KGI/KPI. KGI/KPI Base measure Measurement method Measurement function Decision criteriaCorrective action Defect density at unit testing Number of defects Collect defects at unit testing Number of defects at unit testing / program size Compare the value between modules. Case1: When the value of a module is too low, number of test cases is suspected of insufficiency. Case2: When the value of a module is too high, quality of module is suspected of low. Case1: Confirm number of test cases of the module, and test the module again. Case2: Code review of the module is conducted again. Program size Measure program size by a program size measurement tool How to measure base values How to compute the value How to analysis the metric How to react based on the analysis

23 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Discussions (1/2) There are projects which involve some companies to establishment of software quality [1][2]. The software tag provides a unique approach to involve software purchasers in the quality improvement framework. Tag elements are not very unique. Some developers disclose progress information at the meeting with the purchaser. Still, the software tag is effective to propagate such a good practice involved the purchaser. [1] The Consortium for IT Software Quality: CISQ – The Global Standard for IT Software Quality. [2] The Quamoco Consortium: Quamoco – The Benchmark for Software Quality.

24 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Discussions (2/2) The tag standard is set as a lightweight set. As a standard used for various projects, the set should be minimal and low cost. The risk of tampering software tag data is low. Difficult to tamper several tag elements recorded by time series with keeping consistency. Not difficult to rebuild the software tag from empirical data.

25 Copyright © 2010 Nara Institute of Science and Technology / Osaka University Conclusions and Future Works Conclusions The software tag contains software development data, and it brings purchasers transparency of software development. We identified 41 items for seeing software process and products, and defined them as the standard tag element set. To support software tag scheme, we made tools for collecting, and analyzing tag data. Tag application pattern explains how to use software tag. Future Works Focus on making international/domestic standards of the software tag. Delivery software tag support tools and tag application pattern.

26 Copyright © 2010 Nara Institute of Science and Technology / Osaka University