Poka-yoke in software A software products company sells application software to an international market. The pull-down menus and associated mnemonics provided.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Software change management
Configuration management
Configuration Management
Software Configuration Management
March 30, Exploratory Testing Testing Approaches Analytical Information-driven Intuitive Exploratory Design the tests and test concurrently Learn.
CSC 395 – Software Engineering Lecture 25: SCM –or– Expecting Change From Everything But Vending Machines.
Software Configuration Management (SCM)
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Configuration Management
Software Configuration Management
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Software Configuration Management
Software Configuration Management (SCM)
Software Engineering Institute Capability Maturity Model (CMM)
CSSE 375 Software Construction and Evolution: Configuration Management
Capability Maturity Model
Software Configuration Management (SCM)
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Software Configuration Management
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Software Configuration Management (SCM)
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Configuration Management (CM)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 29 Slide 1 Configuration management.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
Georgia Institute of Technology CS 4320 Fall 2003.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
HNDIT23082 Lecture 06:Software Maintenance. Reasons for changes Errors in the existing system Changes in requirements Technological advances Legislation.
Software Configuration Management (SCM) Source: Pressman, R., Software Engineering: A Practitioner ’ s Approach. Boston: McGraw Hill, Inc., 2005; Ghezzi,
Software Configuration Management n Art of coordinating SW development to minimize confusion n Software quality assurance (umbrella) activity n Set of.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Configuration Management
1 Chapter 9 Software Configuration Management. 2 The “First Law” No matter where you are in the system life cycle, the system will change, and the desire.
Quality Assurance at CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Software Engineering Lecture 9: Configuration Management.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
Software Engineering Process - II 7.1 Unit 7: Quality Management Software Engineering Process - II.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
Software Configuration Management (SCM)
Configuration Management
Software Configuration Management
Software Configuration Management
Software Project Configuration Management
Chapter 11: Software Configuration Management
Software Engineering (CSI 321)
Chapter 9 Software Configuration Management
Configuration Management
Software Configuration Management
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Chapter 27 Change Management
Lecture 3 Change Management
Software Configuration Management
Chapter 27 Change Management
Chapter 27 Change Management
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Baseline – IEEE definition
KEY PROCESS AREAS (KPAs)
Chapter 11: Software Configuration Management
Quality Measurable characteristic Cyclomatic complexity Cohesion
Chapter 27 Change Management
Lecture 06:Software Maintenance
Chapter 27 Change Management
Configuration management
Software Configuration Management
Presentation transcript:

Poka-yoke in software A software products company sells application software to an international market. The pull-down menus and associated mnemonics provided with each application must reflect the local language. For example, the English language menu item for “Close” has the mnemonic “C” associated with it. When the application is sold to Urdu speaking users, the same menu item is “Band Karen” with mnemonic ”ب”. To implement the appropriate menu entry for each locale, a “localizer” translates the menus accordingly. The problem is to ensure that each menu entry conforms to appropriate standards and there are no conflicts, regardless of the language used.

Software Engineering II Lecture 32 Fakhar Lodhi

Recap

Mistake-proofing menu mnemonics Prevention device –Write a program to generate mnemonics automatically, given a list of labels in each menu. –Would prevent mistakes, but the problem of choosing a good mnemonic is difficult and the effort required would not be justified by the benefit gained.

Mistake-proofing menu mnemonics Prevention device –Write a program to prevent the localizer from choosing mnemonics that did not meet the criteria –Would prevent mistakes –Benefit is minimal; incorrect mnemonics are easy enough to detect and correct after they occur

Mistake-proofing menu mnemonics Detection device –Write a program to verify that the chosen menu labels and mnemonics meet the criteria. –We run this program to detect errors –Send it back to localizer –Back and forth

Mistake-proofing menu mnemonics Detection device –Write a program to verify that the chosen menu labels and mnemonics meet the criteria. –The localizer would run this program to detect errors –Would give quick feedback

KEY PROCESS AREAS (KPAs) As Defined by SOFTWARE ENGINEERING INSTITUTE (SEI) “SOFTWARE ENGINEERING AND MANAGEMENT PRACTICES” REQUIREMENT S MANAGEMENT PROJECT PLANNING PROJECT TRACKING & OVERSIGHT SUBCONTRACT MANAGEMENT SOFTWARE QUALITY ASSURANCE SOFTWARE CONFIGURATION MANAGEMENT LEVEL 2 -REPEATABLE LEVEL 1 - INITIAL

The “First Law” of Change No matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle. Bersoff, et al, 1980

SCM - CMM Purpose To establish and maintain the integrity of software products through out the project’s life cycle.

Software in the 21st Century More complex software projects –Size, sophistication, technology –Millions of users –Multilingual –Multi-platform support (hardware, software) –Distributed environment –Configurations – desktop, standard, professional, enterprise –Brutal competition –Maintenance frequency – corrective and adaptive?

More complex development environment with shorter reaction time, results in confusion and chaos!

Change Chaos Problems of identification and tracking: –“This program worked yesterday. What happened?” –“I fixed this error last week. Why is it back?” –“Where are all my changes from last week?” –“This seems like an obvious fix. Has it been tried before?” –“Who is responsible for this change?”

Change Chaos Problems of version selection –“Has everything been compiled? Tested?” –“How do I configure for test, with my updates and no others?” –“How do I exclude this incomplete/faulty change?” –“I can’t reproduce the error in this copy!” –“Exactly which fixes went into this configuration?” –Nobody knows which versions of programs are final Where is the latest version? Which version is the right one? I have so many I have lost my latest changes –Latest versions of code overwritten by old versions –There was a minor problem, I fixed it but it is no longer working I can’t figure-out the changes made to the previous version. I can’t go back

More Chaos …. Design document out of sync with programs I don’t know if all the changes that were suggested have been incorporated Which code was sent to testing? Software Delivery Problems –“Which configuration does this customer have?” –“Did we deliver a consistent configuration?” –“Did the customer modify the code?” –“Did the customer skipped the previous two releases. What happens if we send him the new one?” –Shipped the wrong version to the client.

Configuration management is concerned with managing evolving software systems –System change is a team activity –CM aims to control the costs and effort involved in making changes to a system Involves the development and application of procedures and standards to manage an evolving software product Part of a more general quality management process When released to CM, software systems are called baselines and serve as the starting point for further development Configuration management