Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Conceptualizacion de Ingenieria de Software
Conceptualizacion de Ingenieria de Software
Qu es la Ingeniera de Software?
CONTENIDO
Qu es la Ingeniera de Software ? Cuales son los problemas en la Ingeniera de Software? Cul es la diferencia entre un programador y un Ingeniero de Software? Cual es la diferencia entre la Ingenieria de Software y la Computacion ? Cual es la diferencia entre la Ingenieria de Software y la Ingeniera de Sistemas? Que es el software ? Cuales son los retos de la Ingeniera de Software?
QU ES LA INGENIERA DE SOFTWARE?
Es la disciplina profesional que distingue entre programar un computador y desarrollar un producto software El uso de metodologas, herramientas y tcnicas para resolver problemas prcticos que se presentan en la construccin, desarrollo, soporte y evolucin del software La aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin (funcionamiento) y mantenimiento del software; es decir, la aplicacin de ingeniera al software (IEEE,1993) La Ingeniera de Software es una diciplina de la Ingeniera que concierne a todos los aspectos de la produccin de software
PROBLEMAS
A pesar de que los sistemas de software nos han permitido se ms eficientes y productivos existen serios problemas relacionados con el desarrollo de software. Estos problemas tienen que ver con el tiempo, costo y calidad de los sistemas que se crean. Los productos de software se ubican entre los sistemas ms complejos realizados por el hombre y su naturaleza intangible complica ms el problema Las tcnicas de desarrollo que funcionan de forma individual o para equipos pequeos no escalan adecuadamente para el desarrollo de sistemas complejos La velocidad de cambio tecnolgico es muy elevada. Los clientes tienen nuevas expectativas y todo ello pone presin que limita la habilidad de crear software de calidad en tiempos aceptables
PROBLEMAS
Los usuarios no saben lo que quieren. Un sistema tiene muchos usuarios y ninguno tiene una visin de conjunto. No saben cmo hacer ms eficiente la operacin en su conjunto No saben qu partes de su trabajo pueden transformarse en software. No saben detallar lo que saben de forma precisa. La ingeniera de software busca dar soluciones
PROBLEMAS
VS
La computacin concierne a la teora y fundamentos de cualquier sistema de computo, sea de hardware o de software. La Ingeniera de software concierne solo al desarrollo de sistemas o productos de software La Ingeniera de Software todava esta lejos de ser una ciencia como los son la Qumica, la Ingeniera Civil o la Electrnica. El desarrollo de software necesita entonces tanto los fundamentos desarrollados dentro de las ciencias de la computacin como el rigor que las disciplinas de ingeniera aportan a la confiabilidad de los artefactos que se producen.
La Ingeniera de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cmputo, que incluyen hardware, software y el proceso de Ingeniera. La Ingeniera de Software es solo parte de este proceso.
QU ES EL SOFTWARE?
Es la parte lgica del computador, esto es, el conjunto de programas que puede ejecutar el hardware para la realizacin de las tareas de computacin a las que se destina. Sistemas o Productos de software grandes y complejos. Que contiene el software. Que tipos de software hay ? Cual es el costo del software.
PRODUCTOS DE SOFTWARE
Productos genricos.
Productos que son producidos por una organizacin para ser vendidos al mercado.
Sistemas que son desarrollados bajo pedido a un desarrollador especfico.
La mayor parte del gasto del software es en productos genricos, pero hay ms esfuerzo en el desarrollo de los sistemas hechos a medida.
Mantenibles.
Debe ser posible que el software evolucione y que siga cumpliendo con sus especificaciones. El software no debe causar danos fsicos o econmicos en el caso de fallos. El software no debe desperdiciar los recursos del sistema. El software debe contar con una interfaz de usuario adecuada y su documentacin.
Confiabilidad.
Eficiencia.
Utilizacin adecuada.
QU CONTIENE EL SOFTWARE?
El software contiene:
Lneas de cdigo de algn lenguaje Instrucciones de computadora. Descripcin de las estructuras de datos. Algoritmos. Procedimientos y funciones. Componentes de software.
Qu Desarrollar?, Por qu? y Cmo Desarrollarlo?, Bajo que Criterios de Aceptacin? - Satisfaccin Balanceada de las necesidades de los Stakeholder del Negocio Quienes Desarrollan, Donde ? - Staff; organizacin; outsourcing Como Desarrollar, Cuando, en que Orden? - Metodologas, Procesos, herramientas, componentes, incrementos Como se va a ir adaptando a los cambios? - Necesidades de los usuarios, condiciones del mercado, avances tecnolgicos Balance Integrado? - Funcionalidad, Calidad, Arquitectura, Modelamiento, Pruebas
Mantener y tratar con sistemas legados. Tratar con una mayor diversidad de sistemas con mayores demandas de computo, y menores tiempos de entrega Sistemas Legados
Sistemas antiguos que deben ser mantenidos y mejorados. Sistemas que incluyen una mezcla de software y hardware. Existe una presin incremental por una entrega a tiempo de los productos de software. Existe una gran demanda de que exista formalidad en el proceso de desarrollo de software
Heterogeneidad
Entrega
Formalidad.
RESPONSABILIDAD PROFESIONAL
Los Ingenieros de software no solo deben considerar aspectos tcnicos. Deben tener una visin mas amplia, en lo tico, social y profesional. No existe estatutos o son muy escasos para estos aspectos.
Desarrollo de sistemas militares. Piratera. Que es mejor para la profesin de Ingeniero de Software.
INGENIERA DE SOFTWARE
Pretende
MARCO DE CALIDAD
Contexto de Negocios Satisfaccin de Necesidades de los Stakeholders Organizacin, Orden, Transparencia, Controles Estndares Internacionales de mejores prcticas
PROCESOS
Fases del Ciclo de Vida del Software Asegurando un Producto Excelente
METODOLOGAS
Orientaciones sobre como manejar el desarrollo a travs del ciclo de vida del software
HERRAMIENTAS
Uso de tecnologas para asistir el desarrollo del software y asegurar el cumplimiento de los objetivos del software Enfoque automtico / semiautomtico
Decidir que hacer Decidir como hacerlo Hacerlo Probar el resultado Usar el resultado
Objetivos
Satisfacer una necesidad mediante una solucin tratable por ordenador. Producir el mantenimiento del software hasta el fin de su vida til.