by: md rezaul huda reza creativereza@yahoo.com. 5ps for se process project product people problem
Post on 28-Dec-2015
221 Views
Preview:
TRANSCRIPT
UNIVERSITY OFSOUTH ASIA
Lecture 6: Review for Mid-term
By: Md Rezaul Huda Rezacreativereza@yahoo.com
CSE- 629SOFTWARE QUALITY ASSURANCE(SQA)
HOW WE WILL STUDY SQA..
5Ps for SEProcess
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
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)
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.
WHAT ARE THE CMM LEVELS?(THE FIVE LEVELS OF SOFTWARE PROCESS MATURITY)
Maturity level indicates level of process capability:
Initial Repeatable Defined Managed Optimizing
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
MEASUREMENTS Historical Plan Actual Projections
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
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
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
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
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
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
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!
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!
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
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!)
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!
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
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
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
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
ANY QUESTION ? ? ?
THANK YOU
top related