top of page

市場リサーチグループ

公開·8名のメンバー

Software Quality: Producing Practical, Consistent Software - A Comprehensive Guide by Ben-Menachem and Marliss


- Who are the authors of the book Software Quality: Producing Practical, Consistent Software - What are the main topics covered in the book H2: Establishment of a software quality program - How to define software quality goals and objectives - How to identify and prioritize software quality requirements - How to plan and implement software quality activities H2: The trillion dollar dilemma - the year 2000 - What was the year 2000 problem and how it affected software systems - How to prevent and fix software errors related to date and time - How to ensure software compatibility and interoperability across platforms and devices H2: Software quality assurance planning - an overview - What is software quality assurance and what are its benefits - What are the key elements of a software quality assurance plan - How to develop and maintain a software quality assurance plan H2: Software quality assurance plan - purpose and scope - What is the purpose and scope of a software quality assurance plan - How to define the software quality assurance roles and responsibilities - How to specify the software quality assurance tasks and deliverables H2: Software quality assurance management - What is software quality assurance management and why it is important - How to monitor and control software quality assurance activities - How to evaluate and improve software quality assurance performance H2: Documentation - What is documentation and what are its types and purposes - How to create and manage documentation for software projects - How to ensure documentation quality and consistency H2: Standards, practices, conventions and metrics - What are standards, practices, conventions and metrics for software development - How to select and apply appropriate standards, practices, conventions and metrics for software projects - How to measure and improve software quality using standards, practices, conventions and metrics H2: Reviews and audits - What are reviews and audits and what are their objectives and types - How to conduct reviews and audits for software projects - How to report and resolve issues identified by reviews and audits H2: Test - What is test and what are its phases and techniques - How to plan and execute test for software projects - How to verify and validate software quality using test H2: Problem reporting and corrective action - What are problem reporting and corrective action and what are their processes and tools - How to identify and report problems in software projects - How to implement corrective actions for software problems H1: Conclusion - Summarize the main points of the article - Provide some recommendations for further reading or action - Invite feedback from the readers H2: FAQs - Answer some frequently asked questions about the topic # Article with HTML formatting Introduction




Software quality is a term that refers to the degree to which a software product or system meets the expectations of its stakeholders in terms of functionality, reliability, usability, efficiency, maintainability, portability, security, etc. Software quality is not only a technical issue but also a business issue, as it affects customer satisfaction, user productivity, market share, profitability, reputation, etc. Therefore, ensuring software quality is a critical challenge for software developers, managers, customers, users, testers, auditors, regulators, etc.




Download Software Quality Mordechai Ben Menachem Garry S Marliss Thomson Learning Pdf BEST


Download: https://www.google.com/url?q=https%3A%2F%2Ftinourl.com%2F2ud1IG&sa=D&sntz=1&usg=AOvVaw0Esnqx1786hk0QpzZBMrWd



One of the books that provides practical guidance on developing quality software projects is Software Quality: Producing Practical, Consistent Software by Mordechai Ben-Menachem and Garry S. Marliss. The authors are experienced professionals in the field of software engineering, with backgrounds in academia, industry, and consulting. They have written several books and articles on various aspects of software development, quality, and management. The book Software Quality: Producing Practical, Consistent Software is part of the Slaying the Software Dragon series, which aims to help software practitioners overcome the challenges and risks of software projects.


The book covers the following main topics:


  • Establishment of a software quality program



  • The trillion dollar dilemma - the year 2000



  • Software quality assurance planning - an overview



  • Software quality assurance plan - purpose and scope



  • Software quality assurance management



  • Documentation



  • Standards, practices, conventions and metrics



  • Reviews and audits



  • Test



  • Problem reporting and corrective action



In this article, we will summarize the key points of each topic and provide some examples and tips for applying them in practice. We will also provide some links to download the book in PDF format for further reading.


Establishment of a software quality program




A software quality program is a set of activities and resources that aim to ensure and improve software quality throughout the software life cycle. A software quality program should be aligned with the software quality goals and objectives of the organization and the project, as well as with the software quality requirements of the customers and users. A software quality program should also be planned and implemented in a systematic, consistent, and cost-effective way.


To establish a software quality program, the authors suggest the following steps:


  • Define software quality goals and objectives: These are the desired outcomes or benefits of achieving software quality, such as customer satisfaction, user productivity, market share, profitability, etc. They should be specific, measurable, achievable, relevant, and time-bound (SMART).



  • Identify and prioritize software quality requirements: These are the expectations or criteria that define what constitutes acceptable software quality, such as functionality, reliability, usability, efficiency, maintainability, portability, security, etc. They should be derived from the needs and expectations of the stakeholders, such as customers, users, developers, managers, testers, auditors, regulators, etc. They should also be prioritized according to their importance and urgency.



  • Plan and implement software quality activities: These are the tasks or actions that are performed to ensure and improve software quality, such as planning, designing, developing, testing, reviewing, auditing, measuring, monitoring, controlling, evaluating, improving, etc. They should be based on the software quality goals, objectives, and requirements, as well as on the best practices, standards, and guidelines for software development and quality. They should also be integrated with the software development process and coordinated with the software project management.



The trillion dollar dilemma - the year 2000




The year 2000 problem, also known as the Y2K problem, was a major software issue that affected many software systems around the world at the turn of the millennium. The problem was caused by the use of two-digit representations of years in date and time calculations, such as 99 for 1999 or 00 for 2000. This resulted in incorrect or ambiguous results when performing arithmetic operations, comparisons, or conversions involving dates and times. For example, 00 - 99 = -99 instead of 1, or 00


To prevent and fix the year 2000 problem, the authors recommend the following measures:


  • Use four-digit representations of years in date and time calculations, such as 1999 or 2000.



  • Use standard formats and conventions for date and time data, such as ISO 8601 or ANSI X3.30.



  • Use appropriate data types and functions for date and time operations, such as date, time, datetime, etc.



  • Use proper validation and verification techniques for date and time inputs and outputs, such as range checks, format checks, consistency checks, etc.



  • Use comprehensive testing methods for date and time scenarios, such as boundary value analysis, equivalence partitioning, error guessing, etc.



  • Use compatible and interoperable systems and devices for date and time communication and exchange, such as network protocols, data formats, encoding schemes, etc.



Software quality assurance planning - an overview




Software quality assurance plan - purpose and scope




A software quality assurance plan (SQAP) is a document that describes the software quality assurance activities and deliverables for a specific software project. The purpose of a SQAP is to define the software quality assurance objectives, requirements, standards, practices, conventions, metrics, roles, responsibilities, tasks, resources, schedules, etc. for the project. The scope of a SQAP is to cover all the software quality assurance aspects of the project, such as planning, designing, developing, testing, reviewing, auditing, measuring, monitoring, controlling, evaluating, improving, etc.


To write a SQAP, the authors suggest the following structure:


  • Purpose and scope: This section states the purpose and scope of the SQAP, as well as the intended audience and usage of the document.



  • References: This section lists the relevant documents and sources that are referenced or used in the SQAP, such as software requirements specifications, software design specifications, software test plans, software standards, etc.



  • Definitions and acronyms: This section defines the terms and acronyms that are used in the SQAP, such as software quality, software quality assurance, software quality assurance plan, etc.



  • Software quality assurance objectives: This section specifies the software quality assurance goals and objectives for the project, such as customer satisfaction, user productivity, market share, profitability, etc. They should be SMART and aligned with the software quality goals and objectives of the organization and the project.



  • Software quality assurance requirements: This section identifies and prioritizes the software quality requirements for the project, such as functionality, reliability, usability, efficiency, maintainability, portability, security, etc. They should be derived from the needs and expectations of the stakeholders, such as customers, users, developers, managers, testers, auditors, regulators, etc.



  • Software quality assurance standards: This section selects and applies the appropriate standards for software development and quality for the project, such as ISO 9000 series, IEEE 730 series, CMMI models, etc. They should be consistent with the software quality requirements and objectives for the project.



  • Software quality assurance practices: This section describes and implements the best practices for software development and quality for the project, such as agile methods, waterfall methods, spiral methods, etc. They should be suitable for the software development process and environment for the project.



  • Software quality assurance conventions: This section defines and follows the conventions for software development and quality for the project, such as naming conventions, coding conventions, commenting conventions, documentation conventions, etc. They should be clear and consistent for the software development team and tools for the project.



  • Software quality assurance metrics: This section measures and analyzes the software quality using quantitative indicators or measures for the project, such as defect density, test coverage, customer satisfaction index, etc. They should be relevant and reliable for assessing and improving software quality for the project.



  • Software quality assurance roles and responsibilities: This section assigns and clarifies the software quality assurance roles and responsibilities for the project team members and stakeholders, such as software quality assurance manager, software quality assurance engineer, software developer, software tester, software reviewer, software auditor, etc. They should be defined and communicated clearly and effectively for ensuring and improving software quality for the project.



  • Software quality assurance tasks and deliverables: This section specifies and schedules the software quality assurance tasks and deliverables for each phase or stage of the software development life cycle for the project, such as planning, designing, developing, testing, reviewing, auditing, measuring, monitoring, controlling, evaluating, improving, etc. They should be integrated and coordinated with the software development tasks and deliverables for ensuring and improving software quality for the project.



  • Software quality assurance resources: This section identifies and allocates the software quality assurance resources for each task or activity of the software development life cycle for the project, such as human resources, hardware resources, software resources, financial resources, etc. They should be sufficient and available for ensuring and improving software quality for the project.



Software quality assurance management




Software quality assurance management is a process that monitors and controls the software quality assurance activities and deliverables throughout the software development life cycle for a specific software project. The purpose of software quality assurance management is to ensure that the software quality assurance objectives, requirements, standards, practices, conventions, metrics, roles, responsibilities, tasks, resources, etc. are followed and achieved according to the software quality assurance plan for the project. The scope of software quality assurance management is to cover all the software quality assurance aspects of the project, such as planning, designing, developing, testing, reviewing, auditing, measuring, monitoring, controlling, evaluating, improving, etc.


To perform software quality assurance management, the authors suggest the following steps:


  • Monitor software quality assurance activities and deliverables: This step involves collecting and recording data and information about the software quality assurance activities and deliverables for each phase or stage of the software development life cycle for the project, such as status reports, progress reports, test results, review reports, audit reports, measurement results, problem reports, corrective actions, etc.



  • Control software quality assurance activities and deliverables: This step involves comparing and analyzing the actual data and information with the planned or expected data and information for the software quality assurance activities and deliverables for each phase or stage of the software development life cycle for the project. This step also involves identifying and resolving any deviations or discrepancies between the actual and planned or expected data and information, such as delays, errors, defects, risks, issues, etc.



  • Evaluate software quality assurance performance: This step involves assessing and reporting the effectiveness and efficiency of the software quality assurance activities and deliverables for each phase or stage of the software development life cycle for the project. This step also involves evaluating and reporting the achievement and satisfaction of the software quality assurance objectives, requirements, standards, practices, conventions, metrics, roles, responsibilities, tasks, resources, etc. for the project.



  • Improve software quality assurance process: This step involves identifying and implementing opportunities and actions for improving the software quality assurance process for future projects. This step also involves learning from the experiences and feedback of the software quality assurance activities and deliverables for the current project.



Documentation




Documentation is a term that refers to the written or electronic records or documents that describe or explain various aspects of a software product or system. Documentation can have different types and purposes, such as requirements documentation, design documentation, development documentation, test documentation, user documentation, maintenance documentation, etc. Documentation can also have different audiences and usages, such as developers, managers, customers, users, testers, reviewers, auditors, regulators, etc. Documentation is an essential part of software development and quality, as it helps to communicate and understand the software product or system and its features and functions.


To create and manage documentation for software projects, the authors recommend the following guidelines:


  • Use appropriate formats and tools for documentation creation and management, such as word processors, spreadsheets, diagrams, databases, etc.



  • Use consistent and clear styles and conventions for documentation content and presentation, such as fonts, colors, headings, tables, lists, figures, etc.



  • Use accurate and complete information and data for documentation content and presentation, such as facts, figures, examples, references, etc.



  • Use simple and concise language and expressions for documentation content and presentation, such as words, sentences, paragraphs, etc.



  • Use relevant and useful information and data for documentation content and presentation, such as objectives, requirements, designs, tests, results, instructions, tips, etc.



  • Use structured and organized information and data for documentation content and presentation, such as sections, subsections, chapters, appendices, indexes, etc.



  • Use updated and consistent information and data for documentation content and presentation, such as versions, dates, names, signatures, etc.



  • Use verified and validated information and data for documentation content and presentation, such as reviews, audits, tests, feedback, etc.




Standards, practices, conventions and metrics





Standards are rules or guidelines that define or prescribe how something should be done or achieved. Practices are methods or techniques that are used or applied to do or achieve something. Conventions are agreements or norms that are followed or accepted by a group or community. Metrics are measures or indicators that are used to quantify or evaluate something. Standards, practices, conventions and metrics are important elements of software development and quality, as they help to ensure and improve the consistency, efficiency, effectiveness, compatibility and interoperability of software products or systems.



metrics for software projects, the authors suggest the following criteria:


  • Relevance: The standards, practices, conventions and metrics should be relevant to the software quality goals, objectives and requirements of the project, as well as to the software development process and environment of the project.



  • Reliability: The standards, practices, conventions and metrics should be reliable in terms of their accuracy, completeness, consistency and validity.



  • Usability: The standards, practices, conventions and metrics should be usable in terms of their simplicity, clarity, understandability and applicability.



Availability: The standards, practices, conventions and metrics should be availab


  • グループについて

    グループへようこそ!他のメンバーと交流したり、最新情報をチェックしたり、動画をシェアすることもできます。

    グループページ: Groups_SingleGroup
    bottom of page