Sie sind auf Seite 1von 22

CONTENTS

QUALITY SYSYTEM AND QUALITY ASSURANCE QUALITY ASSURANCE STANDARDS NATIONAL AND INTERNATIONAL STANDARDS THE ISO 9000 SERIES OF QA STANDARDS SOFTWARE QUALITY FACTORS COST OF QUALITY SOFTWARE DEVELOPMENT RISKS AND FAILURES SERVICE LEVEL AGREEMENT QUALITY PLAN QUALITY MANUAL VERSION CONTROL CROSS-REFERENCE REVISION CONTROL SYSTEM PROJECT MANAGEMENT TOOLS PROJECT MANAGEMENT SOFTWARES HOW TO CREATE A PROJECT PLAN IN MICROSOFT PROJECT SYSTEM ANALYSIS AND DEVELOPMENT TOOLS SOFTWARE DEVELOPMENT METHODOLOGY PROTOTYPING SOFTWARE TESTING SOFTWARE TESTING TOOLS REFERENCES 2 2 3 3 5 5 6 7 9 9 10 11 11 12 14 15 17 17 18 19 20 22

TASK 1
QUALITY SYSYTEM AND QUALITY ASSURANCE

When the term 'quality system' is used, it means a formal management system you can use to strengthen your organisation. It is intended to raise standards of work and to make sure everything is done consistently. A quality system sets out expectations that a quality organisation should meet. Typically, these are the stages that organisations implementing a quality system aim to follow:

Agree on standards. These concern the performance that staff, trustees and users expect from the organisation

Carry out a self-assessment. This means that you compare how well you are doing against these expectations.

Draw up an action plan. This will include what needs to be done, who will do it, how it will be done, and when

Implement. Do the work Review. At this stage, you check what changes have been made and whether they have made the difference you were hoping to achieve.

QUALITY ASSURANCE STANDARDS Quality management standards provide a framework for a system development and its processes and activities. It can help to improve efficiency by providing a best practice model to follow and get best outcome. Quality Assurance Standards are published documents which describe in detail what systems should be used by a company to manage quality.

The table below lists some of the QA standards issued by various bodies.

Name of QA standard ISO 9001: Quality Systems - Model for quality assurance etc. Code of Good Manufacturing Practice (GMP) Testing Laboratory Certification standard API Q1 Quality Program

Issuing body International Organisation for standardization

Applies to: General supplier qualification

Australian Health Authorities

Pharmaceuticals and sterile products

National Assoc. of Testing Laboratories (NATA)(Aust) American Petroleum Institute

Qualification of testing laboratories Suppliers to the US petroleum industry Suppliers to the US Defense Forces

Mil-Q-9858

US Dept. of Defense

National and International Standards BSI: British Standards Institute ANSI: American National Standards Institute. AIAA: American Institute of Aeronautics and Astronautics EIA: Electronic Industries Association IEC: International Electro technical Commission IEEE: Institute of Electrical and Electronics Engineers Computer Society ISO: International Organization for Standardization

The ISO 9000 series of QA standards ISO 9000 is the name of a series of QA standards recognised by over 200 countries around the world and adopted as their national standards for QA. In Australia this series has been

named the AS 3900 series, but this will change in mid 1995 to the AS/NZ/ISO 9000 series to identify it more closely with the international standard. AS 3900 and ISO 9000 have identical contents. The most important document in the ISO 9000 series is ISO 9001. This is the code against which audits are actually carried out (two other documents, ISO 9002 and ISO 9003, can also be audited against but these are 'cut down' versions of ISO 9001 for companies which do not need to comply with the entire code). All the other documents in the ISO 9000 series provide guidelines and explanations for how to apply ISO 9001. The principal features of ISO 9001 are that it,

takes the basic principle of QA (the need for documented systems to support QA), and adds requirements to control system documentation to make sure it is kept up-to-date

requires companies to carry out their own internal audits of their QA system to make sure it is working properly

requires the QA system to be constantly monitored to ensure that it is effective, and that changes are constantly made to improve it

These requirements are illustrated in the diagram below.

In addition, ISO 9001 requires organisations to include documented systems in their QA system to cover all aspects of:

Basic quality control (inspection, testing, test records, traceability, etc.) A product's life cycle from the time negotiations start with the customer, through the design process, purchasing of raw materials, production, storage, and final delivery

What is Software Quality? Minimum of bugs or errors Low defect rate (# of defects/size unit) High reliability (number of failures per n hours of operation) Measured as Mean Time to Failure (MTTF) probability of failure-free operation in specified time. SOFTWARE QUALITY FACTORS Correctness: Accuracy, completeness of required output, Up to datedness, availability of the information Reliability: Maximum failure rate Efficiency: Resources needed to perform software function Integrity: Software system security, access rights Usability: Ability to learn, perform required task Maintainability: Effort to identify and fix software failures (modularity, documentation, etc) Flexibility: Degree of adaptability (to new customers, tasks, etc) Testability: Support for testing (e.g. log files, automatic diagnostics, etc) Portability: Adaptation to other environments (hardware, software) Reusability: Use of software components for other projects Interoperability: Ability to interface with other components/systems a

COST OF QUALITY Cost of software quality is an accounting technique that is useful to enable tor understanding of the economic trade-offs involved in delivering good-quality software. The following are the key dimensions of software quality. Level of satisfaction. The degree to which customers or users perceive that a software product meets their composite needs and expectations.

Product value. The degree to which a software product has value for its various stakeholders relative to the competitive environment.

Key attributes The degree to which a software product possesses a combination of desired properties, e.g., reliability, portability, maintainability.

Defectiveness. The degree to which a software product works incorrectly in target user environments due to debilitating operational defects.

Process quality. In relation to the development process by which the product is produced, it means good people doing the right things in an effective way.

SOFTWARE DEVELOPMENT RISKS AND FAILURES Software developers continually develop and improve techniques to reconcile risk of failure in software development projects. They are sending significant attention to risks which contribute to impeding a project; risks which contribute to miss schedules, budget overrun, and failure to meet the systems specified requirements. In risk analysis and improvement fiction the primary focus is on the project development vision defined in terms of budget and schedule overruns and not on satisfying the customer by meeting technical requirements. Risks are future uncertain events with a probability of occurrence and a potential for loss. Risk identification and management are the main concerns in every software project. Effective analysis of software risks will help to effective planning and assignments of work. Technical Risks: Technical risks generally lead to failure of functionality and performance. Causes of technical risks are:

Continuous changing requirements No advanced technology available or the existing technology is in initial stages.

Product is complex to implement. Difficult project modules integration.

Business Risks: Business risks mainly affect on project and finally on company economy and may lead to project failure.

Wrong budget estimation. Cost overruns Project scope expansion

SERVICE LEVEL AGREEMENT The quality of the agreement is a matter of substantial importance. It must be complete, comprehensive and accurate in its coverage. Importantly, both parties must understand the contents and their obligations described within. A service level agreement is a document which defines the relationship between two parties: the provider and the recipient. This is clearly an extremely important item of documentation for both parties. If used properly it should:

Identify and define the customers needs Provide a framework for understanding Simplify complex issues Reduce areas of conflict Encourage dialog in the event of disputes Eliminate unrealistic expectations

Specifically it should embrace a wide range of issues. Amongst these are usually the following: Services to be delivered Performance, Tracking and Reporting Problem Management

Legal Compliance and Resolution of Disputes Customer Duties and Responsibilities Security IPR and Confidential Information Termination One of the most discouraging tasks facing a Service Level Manager is the creation and

maintenance of Service Level Agreements (SLA); their behind the Operational Level Agreements (OLA); and the underpinning contracts agreed with third party service providers.

Figure SLA A well formulated agreement is an essential requirement for the provision of any IT service. It clearly sets out the obligations of both the service provider and the customer and defines the parameters for the delivery and measurement of the service. Naturally, the quality of the agreement created is very important. In order to serve its purpose it must be comprehensive and accurate and be written in language that both parties understand.

TASK 2
QUALITY PLAN
A Quality Plan helps you schedule all of the tasks needed to make sure that your project meets the needs of your customer. It comprises two parts; the Quality Assurance Plan lists the independent reviews needed and the Quality Control Plan lists the internal reviews needed to meet your quality targets. By using Quality Assurance and Quality Control techniques, you can create a comprehensive Quality Management Plan for your project. The objective of the Software Quality Plan is to ensure that developing software is evaluated to determine that the desired quality has been achieved. This is performed by creating a process to provide independent assessment of whether the desired quality has been achieved. It will help you to set quality targets for your project to ensure that the deliverables produced, meet the needs of your customer. You can then use it to schedule quality control and quality assurance activities, to assure your customer that the quality targets will be met.

You can use this Quality Plan to set quality targets by:

o Identifying the customers requirements o Listing the project deliverables to be produced o Setting quality criteria for these deliverables o Defining quality standards for the deliverables o Gaining your customers agreement with the targets set

QUALITY MANUAL This document details the corporate quality policy and structure of the Company and references appropriate Operating Procedures. A Quality Manual is the document that describes the elements of the quality system used to assure customer requirements, needs, and expectations are met. Quality manuals shall include responsibilities and authorities for each element of the quality system.

Content of a Quality Manual (According to ISO 9001) 1. Scope 2. References 3. Terms & Definitions 4. Quality Management System Introduction Documentation Requirements 5. Management Responsibilities Management Commitment Customer Focus Quality Policy Planning Responsibility, Authority and Communication Management Review 6. Resource Management Provision of Resources Human Resources Infrastructure Work Environment 7. Product Realization Planning Customer Related Processes Design & Development Purchasing Production & Service Provision Calibration 8. Measurement, Analysis & Improvement General Monitoring & Measurement Control of Non-conforming Products Analysis of Data Improvement 9. Appendices

VERSION CONTROL A version control system is a combination of technologies and practices for tracking and controlling changes to a project's files, in particular to source code, documentation, and web pages. If you have never used version control before, the first thing you should do is go find someone who has, and get them to join your project. These days, everyone will expect at least your project's source code to be under version control, and probably will not take the project seriously if it doesn't use version control with at least minimal competence.

Version control as a tool has been immensely famous within programming circles, but its use is not limited just for source code. The biggest problem might be to make sure that every person has the latest work. When all of the contributors work together they make changes to every part, and then the changes need to be shared. Large, fast-changing projects with many authors need Version Control System to track changes and avoid general confusion. A good VCS does the following:

Backup and Restore Synchronization Short-term undo Long-term undo

Track Changes Track Ownership Sandboxing Branching and merging

CROSS-REFERENCE A cross-reference is an instance within a document which refers to related or synonymous information elsewhere, usually within the same work. To cross-reference or to cross-refer is to make such connections. The term "cross-reference" is often abbreviated as xref, xref, or, in computer science, XR. Cross-referencing is usually employed to either verify claims made by an author or to link to another piece of work that is of related interest. See, for example, the Linux cross-reference tool, LXR for init/main.c. In an index, a cross reference is often denoted by See Also. For example, under the term Albert Einstein in the index of a book about Nobel Laureates, there may be the cross-reference See Also: Einstein, Albert. REVISION CONTROL SYSTEM This is a version control system that stores all the updates of a single document in a special file called a revision group contained in a revision control system (RCS) directory. When a file is baseline a revision group for it is set up and the initial version of the document is numbered 1.1. When a new version of the document is checked then a new number is allocated to it, before added to the revision group. The numbering system is based on a hierarchical tree structure that allows branching for: corrections to released documents; development modifications; Processing conflicting changes.

TASK 3
Project Management Tools
System development process combined with project management tools to concern with the techniques that can be employed to manage the activities that need to be undertaken during the development of a system. Effective system development planning will help to ensure that the systems are delivered:

Within cost; Within the time constraint; To a specific standard of quality.

Project management techniques will be presented, the Milestone Chart (or Gantt chart), CPM and PERT.

1. Milestone Charts Milestones mark significant events in the life of a project, usually critical activities which must be achieved on time to avoid delay in the project. Milestones should be truly significant and be reasonable in terms of deadlines (avoid using intermediate stages). Examples include:

Installation of equipment; Completion of phases; File conversion; Cutover to the new system.

2. Gantt Charts A Gantt chart is a horizontal bar or line chart which will commonly include the following features:

Activities identified on the left hand side;

Time scale is drawn on the top (or bottom) of the chart; A horizontal open rectangle or a line is drawn against each activity indicating estimated duration;

Dependencies between activities are shown; At a review point the rectangle are shaded to represent the actual time spent (an alternative is to represent actual and estimated by 2 separate lines);

A vertical cursor (such as a transparent ruler) placed at the review makes it possible to establish activities which are behind or ahead of schedule.

Figure: Example of a Gantt chart

3. Critical Path Method (CPM) The Critical Path Method (CPM) is one of several related techniques for doing project planning. CPM is for projects that are made up of a number of individual "activities." If some of the activities require other activities to finish before they can start, then the project becomes a complex web of activities. CPM provides the following benefits: Provides a graphical view of the project. Predicts the time required to complete the project. Shows which activities are critical to maintaining the schedule and which are not.

CPM models the activities and events of a project as a network. Activities are depicted as nodes on the network and events that signify the beginning or ending of activities are depicted as arcs or lines between the nodes.

4. PERT Chart (Program Evaluation Review Technique) A PERT chart is a project management tool used to schedule, organize, and coordinate tasks within a project. A PERT chart presents a graphic illustration of a project as a network diagram consisting of numbered nodes (either circles or rectangles) representing events, or milestones in the project linked by labelled vectors (directional lines) representing tasks in the project. The direction of the arrows on the lines indicates the sequence of tasks. In the diagram, for example, the tasks between nodes 1, 2, 4, 8, and 10 must be completed in sequence. These are called dependent or serial tasks. The tasks between nodes 1 and 2, and nodes 1 and 3 are not dependent on the completion of one to start the other and can be undertaken simultaneously.

PROJECT MANAGEMENT SOFTWARES Project management software is a class of computer applications specifically designed to aid with planning and controlling resources, costs and schedules of a project.

There are many packages on the market, typically referred as MS Project, Project Manager Software, Web Based Project Management Software, Project Tracking Software, Software Project Management Tools, Project Management Software Tool, CPM Software, PERT Software, Gantt software ect..

MS Project Microsoft Office Project is a software application sold by Microsoft that provides project management tools to manage projects. The program, which has many different versions, allows users to:

Understand and control project schedules and finances.

Communicate and present project information. Organize work and people to make sure that projects are completed on schedule.

MS Project also provides functionality that allows the user to create reports that communicate the status and progress of a project.

How to Create a Project Plan in Microsoft Project The basic steps of creating and working with a project plan in Microsoft Project (which are saved as MPP files) is as follows: 1. Create a new project file by clicking on New in the File menu. Choose Blank Project. 2. Set a project start date by choosing Project | Project Information. Enter the start date in the Start date box. 3. Save the Project file by clicking Save and specifying a project name. 4. Now the project manager can plan the steps of the project, called tasks. Go to View | Gantt chart. In the Task Name field, enter each task, including details such as milestones. 5. Enter durations by clicking on the Duration field. The small letter "d" represents days. 2d represents two days. Designate a milestone by entering a 0d duration. Dont enter start and finish dates for the tasks; allow the Duration field to set these automatically. 6. Link tasks (for example, "this task must be done before that task") by selecting the tasks that are related and clicking the Link Tasks button on the toolbar. 7. Next, create a resource pool from which to allocate resources to the project. Click View | Resource Sheet. In the Resource Name field, enter all resources to be used in the project. 8. Now the project manager must assign resources to each task. A resource is typically a person, but it can also include non-human entities, such as equipment or expenses. Go to View | Gantt Chart, then select the task to which to assign a resource. Choose the Assign Resources button and in the dialog box choose the resource names and choose Assign. 9. Once resources are assigned, task type must be set in order for Project to lay out the schedule That task type may be duration, work, or units. The project manager can set a default task type in Tools | Options | Schedule. Individual tasks may also have their own type; select the task and click Task Information | Advanced.

10. Now the project manager is ready to set the project baseline in Microsoft Project. Once the project has been approved, this baseline can be fixed and used throughout the duration of the project to monitor how well project is tracking against expectations. To view the baseline against actual duration, resources, or costs, choose View | Tracking Gantt. The lower bar in the chart is the baseline. The upper bar represents the actual project status. 11. The project manager must now keep the project plan up to date through Microsoft Project. Choose the task to be updated, then choose Tools | Tracking | Update tasks. In the dialog box, enter progress data, either in the form percentage complete, actual dates, actual durations, or actual work. 12. To view project progress in Microsoft Project, choose Report | Visual Reports. 13. To close the project, create a final report by the means in step 12. If the project plan was useful to the management of the project, the project manager may wish to create a template plan to use in the future. Choose File | Save As | Template.

TASK 4
SYSTEM ANALYSIS AND DEVELOPMENT TOOLS SOFTWARE DEVELOPMENT METHODOLOGY Software engineering is the practice of using selected process techniques to improve the quality of a software development effort. This is based on the assumption, subject to endless debate and supported by patient experience, that a methodical approach to software development results in fewer defects and, therefore, ultimately provides shorter delivery times and better value. The documented collection of policies, processes and procedures used by a development team or organization to practice software engineering is called its software development methodology (SDM) or system development life cycle

V-Shaped Model The V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins. Testing is emphasized in this model more so than the waterfall model though. The testing procedures are developed early in the life cycle before any coding is done, during each of the phases preceding implementation. Requirements begin the life cycle model just like the waterfall model. Before development is started, a system test plan is created. The test plan focuses on meeting the functionality specified in the requirements gathering. The high-level design phase focuses on system architecture and design. An integration test plan is created in this phase as well in order to test the pieces of the software systems ability to work together. The low-level design phase is where the actual software components are designed, and unit tests are created in this phase as well. The implementation phase is, again, where all coding takes place. Once coding is complete, the path of execution continues up the right side of the V where the test plans developed earlier are now put to use.

Figure 4: V Shape Model

Advantages Simple and easy to use. Each phase has specific deliverables. Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle. Works well for small projects where requirements are easily understood.

Disadvantages Very rigid, like the waterfall model. Little flexibility and adjusting scope is difficult and expensive. Software is developed during the implementation phase, so no early prototypes of the software are produced. Model doesnt provide a clear path for problems found during testing phases.

PROTOTYPING Software prototyping is to allow people who have some 'stake' or interest in a system to 'test drive' designs, rather than having to interpret those designs based on some other

means. Though not all prototypes are interactive, the most useful application of prototyping is based upon providing a simulation of some behaviour and functionality. Developers investigating implementation approaches to a problem often try out different coding techniques to see if they work well. Using HTML, Jscript, SQL, DHTML, Win32, or specific coding approaches within each technology have different tradeoffs. Sometimes a prototype represents an exploration into what technology will work well to support a certain UI or web feature. Sometimes prototypes are created for a combination of these reasons. If a team plans well enough, they can allot time for a developer and a designer or project manager to work together on a prototype. In such cases, its extremely important to clearly define the goals and the contributions each team member is expected to make. You want everyone to be clear on what the goals are, whats at stake, and what the potential outcome will be.

SOFTWARE TESTING Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. Although crucial to software quality and widely deployed by programmers and testers, software testing still remains an art, due to limited understanding of the principles of software. The difficulty in software testing stems from the complexity of software Testing is more than just debugging. The purpose of testing can be quality assurance, verification and validation, or reliability estimation. Testing can be used as a generic metric as well. Correctness testing and reliability testing are two major areas of testing. Software testing is a trade-off between budget, time and quality. Those could be categorized as: Correctness testing Black-box testing Black box testing treats the software as a "black box"without any knowledge of internal implementation. Black box testing methods include: equivalence partitioning, boundary value analysis, all-pairs testing, fuzz testing, model-based testing, exploratory testing and specification-based testing. White-box testing

White box testing is performed based on the knowledge of how the system is implemented. White box testing includes analyzing data flow, control flow, information flow, coding practices, and exception and error handling within the system, to test the intended and unintended software behaviour. White box testing can be performed to validate whether code implementation follows intended design, to validate implemented security functionality, and to uncover exploitable vulnerabilities. White box testing requires access to the source code. Though white box testing can be performed any time in the life cycle after the code is developed, it is a good practice to perform white box testing during the unit testing phase. Performance testing Reliability testing Security testing

Software Testing Tools Product Vendor Description

ApTest Manager

ApTest

Affordable enterprise class test management. Web based test repository, test execution, report generation,

regression testing. Access control, schedule tracking, fully customizable, management and technical reports, test assignment to testers, bug tracking and source control integration.

Extended Plan

Test

Windows-based test management. Freeware.

QADirector

Compuware

Test process management

SilkPlan Pro

Segue

Quality management system with a built-in integrated end-

Software

to-end test management and collaboration framework designed for large-scale applications.

T-Plan Professional TestDirector

T-Plan, Limited

Test process management tool

Mercury

Test management system

Test

Manager RingZero

Test Input Adapters, which enable you to use requirements mananagement tools other than IBM/Rational

Adaptors

RequisitePro to create and manage requirements that drive your testing process in conjunction with IBM/Rational Test Manager. Borland CaliberRM Adapter, Telelogic DOORS Adapter, Rational ClearQuest Adapter. Test Execution Adapters, which enable you to use testing tools other than IBM/Rational Robot/XDE Tester to implement tests in conjunction with IBM/Rational Test Manager. Segue SilkTest Adapter, Mercury Astra QuickTest Adapter, Mercury WinRunner Adapter.

TestLog

Passmark

Windows-based Test management.

Testuff

Testuff Ltd.

Testuff test management is an on-demand service for managing and executing manual software tests and for reporting defects. This test management suite includes: Requirements management, test cases, test planning and execution, defect reporting, video recorder and player, time management, integration to all bug trackers and automation tools.

REFERENCES
Bruce hellingsworth, sharon yull, howard anderson(2004) higher national computing 2nd ed newnes linacre house, jordan hill, oxford Kerzner, harold (2003) project management a systems approach to Planning, scheduling, and controlling.8th ed. John wiley & sons, inc. Quality assurance.(n.d) retrieved 11 .05.2011 from searchsoftwarequality.techtarget.com linked at http://searchsoftwarequality.techtarget.com/definition/quality-assurance Managing quality for information technology.(n.d) retrieved 11.05.2011 from qualitydigest.com linked at http://www.qualitydigest.com/mar99/html/body_itech.html Quality management standards.(n.d) retrieved 15.05.2011 from businesslink.gov.uk linked at http://www.businesslink.gov.uk/bdotg/action/layer?topicid=1074431977 Concepts and interpretations of information systems(n.d) retrieved 17.05.2011 from homepages.inf.ed.ac.uk linked at http://homepages.inf.ed.ac.uk/s9904132/accountability.pdf Project management software (n.d) retrieved 16.05.2011 from visitask.com linked at http://www.visitask.com/project-management-software-g.asp Introduction to software quality assurance (n.d) retrieved 19.05.2011 from www.site.uottawa.calinked at http://www.site.uottawa.ca/~ssome/cours/seg3203/introductionsqa.pdf Iso 9001 - quality management standard(n.d) retrieved 19.05.2011 from www.isoqar.com linked at http://www.isoqar.com/iso9001/qualintro.htm Quality assurance services for software development(n.d) retrieved 10.06.2011 from totalqualityassuranceservices.com linked at http://www.totalqualityassuranceservices.com/quality-assurance-services-forsoftware-development/

Das könnte Ihnen auch gefallen