27
UNIVERSITY OF SOUTH ASIA Lecture 6: Review for Mid-term By: Md Rezaul Huda Reza [email protected] CSE- 629 SOFTWARE QUALITY ASSURANCE(SQA)

By: Md Rezaul Huda Reza [email protected]. 5Ps for SE Process Project Product People Problem

Embed Size (px)

Citation preview

Page 1: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

UNIVERSITY OFSOUTH ASIA

Lecture 6: Review for Mid-term

By: Md Rezaul Huda [email protected]

CSE- 629SOFTWARE QUALITY ASSURANCE(SQA)

Page 2: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

HOW WE WILL STUDY SQA..

5Ps for SEProcess

Project

Product

People

Problem

Page 3: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

THEREFORE…WE NEED TO EXPAND OUR VISION…

And pay attention to 5 key aspects-

Process - how we do it Project - the structures we use to

manage it Product - the things we produce People - lots of them in various roles Problem - why we started in the first

place

Page 4: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem
Page 5: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

SOME STANDARDS ORGANIZATIONS

ANSI: American National Standards Institute. Does not itself make standards but approves them

AIAA: American Institute of Aeronautics and Astronautics (e.g. AIAA R-013-1992 Recommended Practice for Software Reliability).

EIA: Electronic Industries Association (e.g. EIA/IS-632 Systems Engineering)

IEC: International Electro technical Commission (e.g. IEC 61508 Functional Safety - Safety-Related Systems)

IEEE: Institute of Electrical and Electronics Engineers Computer Society Software Engineering Standards Committee (e.g. IEEE Std 1228-1994 Standard for Software Safety Plans)

ISO: International Organization for Standardization (e.g. ISO/IEC 2382-7:1989 Vocabulary-Part 7: Computer Programming)

Page 6: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

WHAT IS CMM? CMM: Capability Maturity Model Developed by the Software Engineering

Institute of the Carnegie Mellon University

Framework that describes the key elements of an effective software process.

Page 7: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

WHAT ARE THE CMM LEVELS?(THE FIVE LEVELS OF SOFTWARE PROCESS MATURITY)

Maturity level indicates level of process capability:

Initial Repeatable Defined Managed Optimizing

Page 8: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem
Page 9: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

CONSISTENT MEASUREMENT PROVIDE DATA FOR: Quantitatively expressing requirements,

goals, and acceptance criteria Monitoring progress and anticipating

problems Quantifying tradeoffs used in allocating

resources Predicting schedule, cost and quality

Page 10: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

MEASUREMENTS Historical Plan Actual Projections

Page 11: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

SEI CORE MEASURES

Unit of Measure Characteristics AddressedPhysical source lines of codeLogical source lines of code

Size, reuse, rework

Staff hours Effort, cost, resource allocationsCalendar dates for processmilestonesCalendar dates for deliverables

Schedule, progress

Problems and defects Quality, improvement trends,rework, readiness for delivery

Page 12: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

EXAMPLES OF MEASUREMENTS FOR SIZE OF WORK PRODUCTS Estimated number of requirements Actual number of requirements Estimated source lines of code (SLOC) Actual SLOC Estimated number of test cases Actual number of test cases

Page 13: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

EXAMPLE OF MEASUREMENTS OF EFFORT Estimated man-hours to design/code a

given module Actual man-hours expended for

designing/coding the module Estimated number of hours to run builds

for a given release Actual number of hours spent running

builds for the release

Page 14: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

EXAMPLES OF MEASUREMENTS OF QUALITY OF THE WORK PRODUCT Number of issues raised at requirements

inspection Number of requirements issues open Number of requirements issues closed Number of issues raised during code

inspection Number of defects opened during unit

testing

Page 15: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

EXAMPLES OF MEASUREMENTS OF QUALITY OF THE WORK PRODUCT Number of defects opened during

system testing Number of defects opened during UAT Number of defects still open Number of defects closed Defect age

Page 16: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

EXAMPLES OF MEASUREMENTS OF QUALITY OF THE WORK PRODUCT Total number of build failures Total number of defects fixed for a given

release Total number of defects verified and

accepted Total number of defects verified and

rejected

Page 17: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

COMPUTER ASSISTED SOFTWARE ENGINEERING

What is CASE? CASE is a term covering a whole range of tools

and methods that SUPPORT SOFTWARE SYSTEM DEVELOPMENT

CASE Tools and Methods These tools and methods reduce the load on

developers allowing them to focus their skills on other goals

Usable at all stages of the Software Development Life Cycle

Example - Automating tasks such as code generation and model

transformations would take a lot of time for a human developer!

Page 18: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

DATA MODELINGWhat is Data Modeling? A method that defines data requirements as

data models representing the business processes of the system

These Data Models contain data elements, structure and relationships of a system as well as providing the definition and format for those parts

Models should be considered progressive ‘living’ documents that change with requirements

Basically the foundations that make the system work!

Page 19: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

DATA MODELING PROCESS

Conceptual Data ModelDescribes the semantics of an

organizations entities and represents significant attribute and relationship concepts within the organization

Logical Data ModelActual implementation of a conceptual

data model using a particular data management technology - This may require multiple logical data models to complete

Physical Data ModelGiving the logical data model real-world

implementation values

Page 20: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

MODEL AND PROGRAM TRANSFORMATION

What Is Model and Program Transformation? Simple Description

Its takes A and produces B using models to perform the transformation

Real Description Object A conforms to a given meta-model A and

produces as output Object B conforming to given meta-model B

Model-Driven Engineering uses the concept of Model Transformation to allow domain-less concepts

Example - Convert a Text doc to a Word doc – (Abstract

example!)

Page 21: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

REFACTORINGWhat Is It? Description

The process of modifying a systems internal structure without changing its external behavior and functionality

Can be thought of as a special type of Program Transformation

Example - RENAMING A CLASS!

Page 22: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

REFACTORING

Refactoring is generally used when there’s a desire to modify code to – Fit a particular coding style Improve aspects of the code such as

Readability Performance Coding Structure

Useful for machines to do the work of refactoring software Comp – ‘1 Second’ to change all class instances in

a system Human – ‘1 Hour’ to change hopefully all

instances

Page 23: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

UNIFIED MODELING LANGUAGEUML Modeling Categories Structural

Takes static aspects of the system such as objects, attributes, methods and the relationships between to form a structure representing the system

Behaviour The systems dynamic behavior (as if the system

was running) is captured using dynamic diagrams including activity, sequence, communication and state machines

Page 24: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

UNIFIED MODELING LANGUAGE UML is widely used at all cycles of the software

life cycle due to its usefulness bringing a system together

UML Programs Allow creation and modification of modeling

diagrams much more efficiently then modeling on paper

Depth can be added to sections Links to other work

Electronic UML can be stored in a central repository allowing all team members to access up-to-date documentation and system design

Transfer of whole or sectional designs possible

Page 25: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

ABBREVIATIONS SE - Software Engineering SEI - Software Engineering Institutes SQA – Software Quality Assurance LOC – Line of Codes CMM- Capability Maturity Model KPA - Key Process Areas KP - Key Practices SLOC – Source Line Of Codes UML - Unified Modeling Language

Page 26: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

ANY QUESTION ? ? ?

Page 27: By: Md Rezaul Huda Reza creativereza@yahoo.com. 5Ps for SE Process Project Product People Problem

THANK YOU