técnicas de calidad del software agosto-diciembre 2007 sesión # 2
TRANSCRIPT
Técnicas de Calidad del Software
Agosto-Diciembre 2007
Sesión # 2
Proyecto Integrador
Estudiantes buscando equipo?
Equipos buscando nuevos miembros?
Conceptos Clave
Calidad
Aseguramiento de la calidad del software (SQA)
Evaluación de la calidad de proyectos y productos de software
Calidad
“Es la totalidad de propiedades y características de un producto o servicio que le confieren la capacidad de satisfacer las necesidades expresas o implícitas...con oportunidad, a un costo razonable y, que de tal forma entusiasmen al cliente, para que éste se convierta en nuestro mejor vendedor”
(J. S. Sarazen, Quality Progress, Dic-1987)
Aseguramiento de la calidad del software (SQA)
Actividades para:Prevenir la inyección de defectos
Remover los defectos inyectados
Durante todo el proyecto
Ejemplos?
Aseguramiento de la calidad del software (SQA)
Software reviewsInformales
Formales
Formal technical reviews (FTR)Identificar errores
Entrenar nuevos ingenieros
Aseguramiento de la calidad del software (SQA)
Un programa formal de SQA involucra:
Un enfoque de administración de la calidad
Herramientas de ingeniería de software
Procesos de pruebas y verificación
Control de la documentación del software
Estrategias de medición y evaluación
(Pressman, 1997)
Detailed Design
Planning
Construction
Requirements Development
Architecture
Management
Quality Assurance and Testing
User Documentation
Software Development Process
(McConnell, 1998)Time
Detailed Design
Planning
Construction
Requirements Development
Architecture
Management
Quality Assurance and Testing
User Documentation
Software Development Process
(McConnell, 1998)Time
Software Development Process
Planning & Management:
Product manager
Project manager
Client
Requirements development:
IT/IS specialist(s)
Information specialist(s)
Software Development Process
Architecture:
Systems architect(s)
Information architect(s)
Detailed design:
Usability specialist(s)
Graphic designer(s)
Software Development Process
Construction:
Developer(s)
Tester(s)
Usability specialist(s)
Software Development Process
Quality Assurance and Testing:SQA LeaderDeveloper(s)Tester(s)User(s)Usability specialist(s)
Software Development Process
User documentation:
Developer(s)
Technical writer(s)
Usability specialist(s)
Evaluating the Software Development Process
To assess the quality of the software development process: verify compliance with project schedule and budgetverify compliance with initial requirementsidentify process metrics (SEI)
codingtesting
Evaluating Software Quality
“The working software is a more accurate status report than any paper report could ever be” (p.55)
(McConnell, 1998)
Evaluating Software Quality
To assess the quality of a software product: verify compliance with functional requirements (verification)validate compliance with customer requirements (validation)assess product performance
Black-box testingWhite-box testing
Evaluating Performance
Software quality criteria
Operations
TransitionTest
ing
• Portability• Reusability• Interoperability
• Maintainability• Flexibility• Modularity
• Accuracy• Reliability• Integrity
(Pressman, 1993)
Evaluating Functionality
System featuresCustomer communication
E-mailPhone
Operating System SupportOS XWindows XPWindows VistaUNIXLinux
Database supportOracleMS SQL
Etc…
Evaluating Usability
Usability criteria:ConsistencyNavigation modelOnline helpOnline tutorialsIcon designGraphic designTerminologyEtc…
Para la próxima sesión
Individual: buscar en biblioteca digital (ACM o IEEE) dos artículos que hablen de actividades o proyectos de SQA.
Entregar: una hoja con tu análisis de los artículos, y citas bibliográficas completas (título, autor, publicación, páginas).