Configuraciones en el perfeccionamiento esencial de la ingeniería del software
Enviado por KELVIN MACIAS CARREÑO
- Introducción
- El producto y el proceso de la Ingeniería del software
- Objetivos de la Ingeniería del software
- Métodos, técnicas y herramientas para el desarrollo de la Ingeniería del software
- Esencia de la Ingeniería del software
- Programador empírico en la Ingeniería del software
- Referencias
Introducción
"CONCEPTUALIZACIONES"
INGENIERIA DEL SOFTWARE
La Ingeniería del Software es una disciplina o área de la Informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Existen varias definiciones sobre esta ciencia de la computación que permiten describir este proceso.
Esto abarca programas que se ejecutan dentro de una computadora de cualquier tamaño y arquitectura, documentos que comprenden formularios virtuales e impresos y datos que combinan números y texto y también incluyen representaciones de información de audio, vídeo e imágenes.
ESTADO DEL ARTE DE LA I.S
La Ingeniería del Software es una disciplina o área de la Informática o Ciencias de la Computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Hoy día es cada vez más frecuente la consideración de la Ingeniería del Software como una nueva área de la ingeniería, y el ingeniero del software comienza a ser una profesión implantada en el mundo laboral internacional, con derechos, deberes y responsabilidades que cumplir, junto a una, ya, reconocida consideración social en el mundo empresarial y, por suerte, para esas personas con brillante futuro.
La Ingeniería del Software trata con áreas muy diversas de la Informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos o desarrollos de Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a una infinidad de áreas tales como: negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, el mundo del derecho, la red de redes Internet, redes Intranet y Extranet, etc.
El producto y el proceso de la Ingeniería del software
EL PRODUCTO
El software de computadora se ha convertido en el alma máter. Es la máquina que conduce a la toma de decisiones comerciales. Sirve para la investigación científica moderna y de resolución de problemas de ingeniería. Es el factor clave que diferencia los productos y servicios modernos.
Está inmerso en sistemas de todo tipo: de transportes, médicos, de telecomunicaciones, militares, procesos industriales, entretenimientos, productos de oficina, la lista es casi interminable. El software es casi ineludible en un mundo moderno. A medida que nos adentremos en el siglo XXI, será el que nos conduzca a nuevos avances en todo, desde la educación elemental a la ingeniería genética.
El software de computadora es el producto que diseñan y construyen los ingenieros del software. Esto abarca programas que se ejecutan dentro de una computadora de cualquier tamaño y arquitectura, documentos que comprenden formularios virtuales e impresos y datos que combinan números y texto y también incluyen representaciones de información de audio, vídeo e imágenes.
Los ingenieros de software lo construyen, y virtualmente cualquier persona en el mundo industrializado lo utiliza, bien directa o indirectamente. Es importante porque afecta muy de cerca cualquier aspecto de la vida y está muy extendido en el comercio y en las actividades cotidianas.
EL PROCESO
Falgueras, B. C. (2002). Como el software, al igual que el capital, es el conocimiento incorporado, y puesto que el conocimiento está inicialmente disperso, el desarrollo del software implícito, latente e incompleto en gran medida, es un proceso social de aprendizaje.
El proceso es un diálogo en el que se reúne el conocimiento y se incluye en el software. El proceso proporciona una interacción entre los usuarios y los diseñadores, entre los usuarios y las herramientas de desarrollo, y entre los diseñadores y las herramientas de desarrollo [tecnología]. Es un proceso interactivo donde la herramienta de desarrollo se usa como medio de comunicación, con cada iteración del diálogo se obtiene mayor conocimiento de las personas involucradas.
Cuando se trabaja para construir un producto o un sistema, es importante seguir una serie de pasos predecibles, un mapa de carreteras que le ayude a obtener el resultado oportuno de calidad. El mapa de carreteras a seguir es llamado proceso del software.
Lo construyen los ingenieros del software y sus gestores adaptan el proceso a sus necesidades y entonces lo siguen. Además las personas que han solicitado el software tienen un papel a desempeñar en el proceso del software. Es importante porque proporciona estabilidad, control y organización a una actividad que puede, si no se controla, volverse caótica.
Objetivos de la Ingeniería del software
En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas, la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software.
Mejorar la calidad de los productos de software
Aumentar la productividad y trabajo de los ingenieros del software.
Facilitar el control del proceso de desarrollo de software.
Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.
Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.
ESQUEMA DE LA
INGENIERÍA DEL SOFTWARE
"Ilustración 1. Esquema de estructura de un proyecto en la I.S"
Fuente: Libro Las Artes Tecnológicas
Básicamente, este es un esquema en que consiste en el desarrollo desde un programa muy sencillo hasta el más complejo.
Lo normal es que se evolucione al desarrollo de un:
Sistema Software: Integran varios programas.
Producto Software: Programa usado en diferentes aplicaciones/entornos.
Ambos desarrollos dan lugar a la ingeniería del software, ya sea por programas integrados que puedan trabajar en varios entornos.
Métodos, técnicas y herramientas para el desarrollo de la Ingeniería del software
"Ilustración 2. Enfoque de herramientas de la I.S"
Fuente: Ingeniería del software
ENFOQUE DE CALIDAD:
La gestión total de la calidad y las filosofías similares, fomentan una cultura continua de mejoras de procesos que conducen al desarrollo de enfoques cada vez más robustos para la ingeniería del software.
PROCESO:
Es como una capa de marcos de trabajos para un conjunto de áreas, las cuales forman las bases del control de gestión del proyecto, y tener una tarea de calidad.
MÉTODOS:
Es el estructurado de la producción del software de alta calidad, para así tener trabajos estables, teniendo en cuenta su alto costo que tendrá.
HERRAMIENTAS:
Son los elementos computacionales y de sistemas, que están destinadas a asistir en los procesos del ciclo de vida del software, como los cuales estarían:
POWER DESIGNER
VISUAL PARADIGM
MICROSOFT VISIO
ARGO UML
Esencia de la Ingeniería del software
"Esta figura podría resumir buena parte de la esencia del curso: en el desarrollo de software (una entidad "compleja") se producen problemas de comunicación a varios niveles: entre usuarios y desarrolladores y entre los componentes mismos del equipo de desarrollo. Estudiaremos las técnicas, métodos y herramientas de ingeniería que puedan hacer que estos problemas se minimicen, e incluso que desaparezcan.
La esencia de la ingeniería de software, se inspiró y es una respuesta directa al llamado a la acción de los Métodos y Teoría de la Ingeniería de Software (Semat, por sus iniciales en inglés; nota del traductor si bien el origen de la palabra Semat lo constituyen las iniciales de las palabras que conforman la sigla, acogiendo el espíritu de la iniciativa, se prefiere colocarlo con mayúscula inicial, pues se pretende que, más que un acrónimo, se convierta en un sustantivo), el cual es, a su modo, un pequeño paso hacia la redefinición de la ingeniería de software.
Los problemas específicos incluyen:
La prevalencia de bogas más típicas en la industria de la moda que en una disciplina ingenieril.
La carencia de una base teórica sonora y ampliamente aceptada.
La gran cantidad de métodos y variantes de métodos, con diferencias que poco se entienden y que se magnifican artificialmente.
La carencia de evaluación y validación experimentales y creíbles.
La separación entre la práctica industrial y la investigación académica.
La afirmación del llamado a la acción de Semat de que la industria de software es propensa a bogas y modas hace que la gente asuma que Semat se opone a las nuevas ideas. Esto no podría estar más lejos de la verdad.
Como usted podrá ver en este artículo y en el libro que pronto se publicará, llamado "La esencia de la ingeniería de software: aplicando el núcleo de Semat" [6], los partidarios de Semat son muy entusiastas con las nuevas ideas. Ellos están en contra del comportamiento contrario a lo lean y a lo ágil.
Este comportamiento proviene de gente que adopta soluciones inapropiadas porque creen que esas soluciones están de moda o porque los presionan sus pares o la corrección política. Semat apoya un proceso para redefinir la ingeniería de software, basado en una teoría sólida, principios probados y mejores prácticas que:
Incluyan un núcleo de elementos ampliamente aceptados y que se pueda extender a usos específicos.
Programador empírico en la Ingeniería del software
La literatura en Ingeniería de Software Empírica describe a un Dr. Smith, que investiga sobre técnicas de testing en la universidad. Recientemente ha desarrollado una nueva técnica de inspección de código que, a priori, parece que mejora el desempeño de otras técnicas como por ejemplo la técnica basada en perspectivas. Por tal motivo, decide realizar un estudio empírico que le permita validar esta hipótesis. Para ello hace un llamado a estudiantes de los últimos años de la carrera de Ingeniería en Sistemas para que participen en el proyecto. Como resultado de la convocatoria consigue reclutar a 16 estudiantes, los cuales son entrenados 8 en la nueva técnica y 8 en la técnica basada en perspectivas. Con posterioridad, cada grupo aplica la técnica de inspección correspondiente al mismo programa, registrando el número de defectos encontrados. Los resultados obtenidos
En base a estos valores, el Dr. Smith, realiza un contraste de hipótesis (un t-test suponiendo varianzas iguales, con a = 0.05. Dicho test arroja un p-value de 0.53, por tanto, no puede asegurarse que el nuevo método mejore el desempeño del método preexistente. El resultado del experimento desilusiona profundamente al Dr. Smith, pero como necesita imperiosamente publicar para la renovación de su contrato de investigación, escribe un artículo que envía a la International Conferencie.
INGENIERO PROGRAMADOR EN LA
INGENIERÍA DEL SOFTWARE
La programación informática o programación algorítmica, acortada como programación, es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas de computadora. El código fuente es escrito en un lenguaje de programación.
El propósito de la programación es crear programas que exhiban un comportamiento deseado.
El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.
Los primeros sistemas de programación, que utilizaban conexiones eléctricas realizadas con cables sobre tableros móviles, fueron rápidamente sustituidos por otros que se apoyaban en métodos cada vez más sencillos y que, en consecuencia, permitieron alcanzar niveles más altos de complejidad.
Pressman, R. S. ((2013)).
Ingeniería del software. (Vol. Pg / 897). Europa, & Troya : , J. M. .
Falgueras, B. C. (2002).
Ingeniería del software. Editorial UOC.
Álvarez, P. M. (2008).
Ingeniería de software. Técnicas de.
Panqueva, A. H. G. (2015).
Ingeniería de software educativo. Universidad de los Andes.
Autores
Macías Carreño Kelvin Enrique
Tumbaco Murillo Ingrid
Baque Baque Shirley E.
Sellan Caliz Wilson José
Baque Soledispa Rosita
INGENIERIA DEL SOFTWARE
MATERIA
PROFESIONALES EN FORMACION
"Ing. Christian Ruperto Caicedo Plúa Mg.Sc"
TUTOR
UNIVERSIDAD ESTATAL DEL SUR DE MANABI
ING. EN COMPUTACION Y REDES
FACULTAD DE CIENCIAS TECNICAS
Ciencias Técnicas – Ingeniería En Computación Y Redes – 6to Semestre