Who is involved with testing and evaluation?
6.13.4 Quality standards
In developing commercial software systems, businesses invariably use and are certified to a quality standard of one kind or another. In this section we briefly discuss three of the most common quality standards that are used by organisations in product and partic- ularly software development. n ISO 9000. ISO 9000 is a series of standards for a quality management system. If a company is ISO 9000 certified, it means the company following an independent audit has a quality management system in place. This quality management system should, amongst other things, ensure that adequate records are kept of the business processes in terms of definition and monitoring and control, processes are contin- ually reviewed, and there is a quality control process in place. ISO 9000 includes a series of standards such as ISO 9001 which is aimed at companies that design, develop, manufacture, supply and maintain products and ISO 9004 which covers continual process improvement. Although not specifically aimed at software, the ISO 9000 series of standards is often adopted by software development companies to improve their performance and marketability. n ISO 9126. Introduced by the International Organisation for Standardization ISO in 1991, ISO 9126 defines six quality characteristics for software. These include: functionality, reliability, usability, efficiency, maintainability and portability. These characteristics can be broken down further depending on the nature of the system being developed for example, reliability can be broken down into fault tolerance, recoverability, etc.. By applying numerical ratings to each of the characteristics using Likert scales for example, it is possible to obtain relative measures of quality between systems. n Capability Maturity Model CMM. Unlike the ISO 9000 series of standards, CMM was developed specifically for the software development industry. Developed by the Software Engineering Institute it focuses on software process improvement. Organisations are graded on a five point scale according to their software process maturity. The levels range from 1, referring to organisations that have no defined software process in place and develop systems more by luck than judgement, to 5, which applies to organisations that not only have a well defined process in place but also invest in process change management. Although these quality standards are aimed at organisations, some of the principles underlying these standards may be applicable to your own software development project. For example, the principles of ISO 9000 in which you should have effective and recordable development processes in place is good practice to follow. The quality characteristics of software defined by ISO 9126 can be adapted to your own system evaluation. The principles of CMM in which you manage your development process and look at ways of improving your processes are also worthwhile. 6.16 Exercises 145 •6.14 Summary
This chapter has introduced the following topics: n software development processes; n the generic software development life cycle; n the original build-and-fix model; n the conventional stage-wise and waterfall models; n the incremental model; n prototyping models – throw-away and evolutionary; n choosing an appropriate development approach for your own project; n top-down and bottom-up development; n verification, validation and testing your software; n software quality. •6.15 Further reading
Davis, A.M. Bersoff, E.H. and Comer, E.R. 1988 ‘A strategy for comparing alternative software development life cycle models’, IEEE Transactions on Software Engineering, Vol 14 10, pp. 1453–1461. Hughes, R. and Cotterell, M. 2006 Software project management 4 th Edition, McGraw-Hill, London. Turner, J.R. 1993 The handbook of project-based management, McGraw Hill, Maidenhead, UK. •6.16 Exercises
1. What development approach would be suitable in the following cases? i. You are undertaking a project that has been specified quite precisely by your project supervisor. The project requires you to develop a software system, written in C, to solve a problem specified by your supervisor. You will meet your supervisor every one or two weeks to discuss progress. ii. You are undertaking a research-oriented project that involves the development of a new algorithm to solve a particular mathematical problem. When you complete your project you will be expected to present a software system that incorporates this algorithm and illustrates how it works. iii. You are developing a multimedia DVD for a business client that will be used as a marketing device to ‘sell’ that company’s products to potential customers. iv. You are developing a web site for a local sports club.2. Given the following simple software specification, produce a set of test cases for
the resulting software system. What kind of testing would you undertake for this?Parts
» Projects in Computing and Information Systems A Student's Guide 0273721313 Pearson 2009
» Introduction What are computing projects?
» Computing project types What are computing projects?
» Programming in computing projects
» Degree structures Degree requirements
» Degree requirements for projects
» Overview Your supervisor Stakeholders
» Clients and users Stakeholders
» Evaluators and testers Stakeholders
» Overview How this book is arranged
» Taught degree projects versus research degrees
» Summary Projects in Computing and Information Systems A Student's Guide 0273721313 Pearson 2009
» A definition What is research?
» Originality What is research?
» Gaincontribution What is research?
» Knowledge and understanding What is research?
» Identify the broad area of study.
» Plan how you will perform the research.
» Gather data and information.
» Analyse and interpret these data.
» Present the results and findings.
» Review the field – i.e., perform a literature survey.
» Build a theory – based on your understanding and interpretations of the field.
» Test the theory – does it work?
» Reflect and integrate – i.e., update your ideas based on your ‘tests’ and contribute
» Intellectual discovery The research process
» Research methods Research methods
» List or multiple choice. Provides the respondent with a number of options to
» Scale. Used to rate the respondent’s feelings towards something.
» Ranking. Used to order a series of options. You should not provide too many
» Complex grid or table. Used to gather similar responses on a range of questions.
» Open-ended. Used to obtain extended, qualitative answers.
» Summary Further reading Action points
» Techniques and Information Sources
» Additional considerations Choosing a project
» Follow any guidelines precisely. Most institutions require specific information; for
» Proofread thoroughly and get someone else to check it. Any errors or omissions
» Introduction to the subject area. This will provide the reader with an under-
» Current research in the field. This will emphasise that your project is not based in
» Identify a gap. You should be able to identify some aspect of the field that requires
» Identify how your work fills the gap. Having identified a gap in the field, your
» Identify risks and solutions. It is also useful in a project proposal to highlight any
» Explicit sections Preparing a project proposal
» Reviewing your proposal Preparing a project proposal
» Exercise Projects in Computing and Information Systems A Student's Guide 0273721313 Pearson 2009
» The project process Introduction
» Definition The project’s stages
» Planning The project’s stages
» Initiation The project’s stages
» Control The project’s stages
» Closure. The project’s stages
» Complete a literature search and literature review of existing stock market prediction
» Develop a suitable artificial neural network model.
» Identify and collect suitable data for analyses and evaluation.
» Evaluate the model using appropriate statistical techniques.
» Complete final report. Setting objectives
» Step 1 – Work Breakdown Project planning
» Step 2 – Time estimates Project planning
» Step 3 – Identify milestones Project planning
» Step 4 – Activity sequencing Project planning
» Step 5 – Scheduling Project planning
» Step 6 – Re-planning Project planning
» Rolling wave planning Project planning
» Risks. Include a list of critical risk factors and means of dealing with these risks
» Organisation. If you are undertaking a group project it would be worthwhile
» Alleviate critical risks Introduction
» Identify risks Risk management
» Alleviate critical risks Risk management
» Controlling risks Risk management
» Research degrees versus taught degree projects
» A starting point Introduction
» The literature survey process
» Format of information Literature searching
» Tracing the information Literature searching
» Inter-library loans Literature searching
» Some tips for performing a literature search
» Critical evaluation Writing literature reviews
» Overview The past Introduction
» Introduction The software development life cycle SDLC
» Requirements definition Requirements capture
» Requirements specification Requirements capture
» Functional specification Requirements capture
» Design The software development life cycle SDLC
» Build The software development life cycle SDLC
» Test The software development life cycle SDLC
» Implementation The software development life cycle SDLC
» The earliest ’model’: build-and-fix
» The stage-wise and classical waterfall models conventional models
» explore the requirements of the system with the user – requirements capture, andor
» explore the technical feasibility of a system – experimental prototyping.
» Which development approach should I use?
» Which programming language should I use?
» Introduction Top-down and bottom-up development
» Top-down development Top-down and bottom-up development
» Bottom-up development Top-down and bottom-up development
» Verification Verification, validation and testing
» Validation Verification, validation and testing
» Testing Verification, validation and testing
» Who is involved with testing and evaluation?
» Test plans Miscellaneous testing types
» Quality assurance and quality control
» Exercises Projects in Computing and Information Systems A Student's Guide 0273721313 Pearson 2009
» Getting started – project initiation
» Managing the five project elements
» Introduction Dealing with problems
» Weakening Dealing with problems
» Personal problems Dealing with problems
» Hardware failure Dealing with problems
» Data availability Dealing with problems
» Discovering your workresearch has been done before
» Analyse what you are currently doing.
» Change what you are doing to achieve your aims.
» eliminate activities you don’t need to do; and
» be more efficient doing the things you have to do.
» Time management tips Procrastination
» Using your supervisor effectively
» Introduction Working in teams
» Team development Working in teams
» Managing the team Working in teams
» Teamwork tips Working in teams
» Considerations Writing and structuring reports
» Approaches to writing Writing and structuring reports
» When should I start writing?
» Identify structure. This relates to the content of your report, using a report break-
» Identify presentational style. You should also try to set standards at this stage on
» Draft the introduction. The introduction gives the reader an idea of the
» Develop the main body. The main body of your report is the next part you
» Articulate conclusions and make recommendations. Quite clearly, your conclu-
» Complete the introduction. As part of the evolutionary approach to writing,
» Write the abstract. You cannot really write a clear abstract for your report until
» Add references and appendices. Although you will be collating references and
» Arrange contents list, index. Leave the completion of an index if one is required
» Proofread, check and correct. It is vitally important to proofread your report after
» Introductionliterature review – the first chapter of your report should always be
» Main body – the content of which depends on the type of project you are un-
» Conclusionsrecommendations – summarises the contribution of the work and
» Style Writing and structuring reports
» Word processing Writing and structuring reports
» Tips Writing and structuring reports
» Presenting charts and graphs
» Common mistakes Data presentation
» Miscellaneous charts Data presentation
» Other data presentation Data presentation
» Introduction Referencing material and avoiding plagiarism
» Citing references Referencing material and avoiding plagiarism
» Listing references Referencing material and avoiding plagiarism
» Commenting program code Documenting software
» Writing user guides Documenting software
» The presentation content Visual aids
» Introduction. One or two slides that introduce you and your talk.
» Main body. The slides that constitute the bulk of your presentation and cover the
» Summaryconclusion. A few slides that summarise your presentation and perhaps
» Dealing with questions Oral presentations
» Poster preparation tips Poster presentations
» Introduction Preparation Demonstrating software
» Demonstration tips Demonstrating software
» Introduction Viva voce examinations
» Introduction Examiners and the marking of your project
» General. Examiners will look at the relevance and appropriateness of the topic
» Report. Examiners will look for clarity, consistency, an appropriate use of
» Defence. Examiners will assess the types of arguments you have made to support
» Other. Examiners will review the administrative issues of your project. For example,
» What was the research question?
» Is it a ‘good’ question? This involves a comprehensive literature review to ensure
» Has the student answered the question adequately?
» Has the student made an adequate contribution to knowledge?
» The project approach from a technical perspective i.e., not a project management
» General project considerations subject independent
» Literature reviewproject foundation Assessment criteria
» Project approachmethods Assessment criteria
» Results and contributions Assessment criteria
» Introduction Taking your project further
» Seeking funding Developing commercial software packages
» Copyright and patents Taking your project further
Show more