Presentation is loading. Please wait.

Presentation is loading. Please wait.

Notes on Software Quality

Similar presentations


Presentation on theme: "Notes on Software Quality"— Presentation transcript:

1 Notes on Software Quality
CS 425 Software Engineering Notes on Software Quality Sergiu Dascalu University of Nevada, Reno Department of Computer Science and Engineering

2 CS 425 Software Engineering
Overview Software quality Software quality assurance (SQA) SQA challenges Current trends Research directions Main references CS 425 Software Engineering

3 CS 425 Software Engineering
1 Software Quality It is rather hard to define what exactly software quality is In general, it is acknowledged that software that satisfies its requirements has good quality Several quality model exists, one of them stresses [Sommerville, 2006]: Maintenability Efficiency Dependability Acessibility CS 425 Software Engineering 3

4 CS 425 Software Engineering
1 Software Quality In practical terms, software quality is important because lack of quality translates to user frustration, financial losses, material damages, human injuries and even deaths Known disasters due to software failures include [Glass 1998; Endres and Rombach 2003]: The baggage handling system for the Denver airport The welfare administration system for the state of Florida The air-traffic control system for the FAA Other examples are listed by Tywebb Ltd CS 425 Software Engineering

5 CS 425 Software Engineering
1 Software Quality Some other illustrations [YouTube 2008]: Operating system demo crash TV show software error Arctic Tortoise field test problems Autonomous crash in DARPA Urban Challenge To do justice to software developers, their job is a very demanding one, something captured in the ad “if programmers had to make a plane” [YouTube 2008] August 25, 2010 CS 425 Software Engineering 5

6 CS 425 Software Engineering
2 Software Quality Assurance Software Quality Assurance (SQA) is defined by the IEEE Standard – 1990 as “a planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms with established technical requirements” The SQA Handbook defines SQA as “the set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use” [Schulmeyer and McManus 1998] August 25, 2010 CS 425 Software Engineering 6

7 CS 425 Software Engineering
2 Software Quality Assurance SQA is distinct from software quality control which consists primarily of inspecting requirements documents and software testing. SQA covers the entire software development process, which includes software specification, design, implementation, integration, testing, source code control, code reviews, version control, and release management [Wikipedia 2008]. August 25, 2010 CS 425 Software Engineering 7

8 CS 425 Software Engineering
2 Software Quality Assurance Also according to [Wikipedia 2008] SQA focuses on the control of processes, rather than on the control of products. Current software processes have evolved for waterfall to the Unified Process (UP), with many variations in between The waterfall model [Sommerville 2006] August 25, 2010 CS 425 Software Engineering

9 CS 425 Software Engineering
2 Software Quality Assurance The Unified Process [Arlow and Neustadt 2005]  CS 425 Software Engineering

10 CS 425 Software Engineering
3 SQA Challenges SQA challenges include [Voas 2003, Pressman 2004, McConnell 1993]: Dealing with increasing complexity of software processes and products Defining improved quality models Integrating better with development processes Increasing the evidence that standards that promote higher quality software bring indeed significant benefits CS 425 Software Engineering 10

11 CS 425 Software Engineering
3 SQA Challenges SQA challenges include [Voas 2003, Pressman 2004, McConnell 1993] – continued: Finding out ways to compose standards Improving QA models and processes Increasing software quality-centric adaptability Increasing SQA independence from software development Dealing with the perception that QA is less glamorous than development CS 425 Software Engineering 11

12 CS 425 Software Engineering
4 Current Trends Current SQA trends relate to focusing on the following [Lyu 2007; SEI 2008; McConnell 1993; Sommerville 2006]: Metrics and measurements Methods and tools Testing effectiveness and code coverage Inspections, reviews, and walkthroughs Software architectures Management and certification CS 425 Software Engineering 12

13 CS 425 Software Engineering
5 Research Directions Research directions in SQA, besides facing challenges mentioned previously, include [Lyu 2007; Bertolino 2007, Mnkandla 2006, Parsons 2003] : QA for COTS-based software QA for agile development processes QA for open-source software Metrics for software reliability prediction 100% automatic testing Personal and Team software processes August 25, 2010 CS 425 Software Engineering 13

14 CS 425 Software Engineering
Main References Endres, A and Rombach, D., A Handbook of Software and Systems Engineering, Addison-Wesley Pearson, 2003 Ghezzi, C., Jazayeri, M, and Mandrioli, D., Fundamentals of Software Engineering, 2nd edition, Prentice Hall, 2002. McConnell, S., Code Complete: A Practical Handbook of Software Construction, Microsoft Press, 1993. Pressman, R., Software Engineering: A Practitioner’s Approach, 6th edition, Prentice Hall, 2006. Software Engineering Institute at Carnegie Melon University, last accessed March 8, 2008 at Sommerville, I., Software Engineering, 8th edition, Addison-Wesley, 2006 Voas, J., Assuring Software Quality Assurance, IEEE Software, May?June 2003, pp Wikipedia.com, last accessed March 9, 2008 at YouTube.com, last accessed March 9, 2008 at CS 425 Software Engineering 14


Download ppt "Notes on Software Quality"

Similar presentations


Ads by Google