Está en la página 1de 33

El Software y la

Ingeniería de
Software
Capitulo 1
Instrucciones que cuando se
ejecutan proporcionan las
caracteristicas, función y
desempeño buscados.

Definición de Software
Estructuras de datos que permiten
que los programas manipulen en
forma adecuada la información.

Información descriptiva tanto en


papel como en formas virtuales
que describen la operación y uso
de los programas.
La Naturaleza del Software
DUALIDAD
PRODUCTO VEHICULO

INFORMACIÓN

EL SOFTWARE

Transforma Administra Provee Brinda


Preguntas que se Mantienen
¿Por qué se requiere tanto tiempo para terminar el software?

¿Por qué son tan altos los costos de desarrollo?

¿Por qué no podemos detectar todos los errores antes de entregar el software a nuestros clientes?

¿Por qué dedicamos tanto tiempo y esfuerzo a mantener los programas existentes?

¿Por qué seguimos con dificultades para medir el avance mientras se desarrolla y mantiene el software?
Caracteristicas del Software

El software se desarrolla o El software no se Aunque la industria se


modifica con intelecto; no se “desgasta”, pero se mueve hacia la construcción
manufactura en el sentido deteriora. basada en componentes, la
clásico. mayor parte del software se
construye para un uso
individualizado.
Curva de Fallas del
Hardware
Curva de Fallas del Software
Dominios de Aplicación del Software
Software de Ingeniería y
Software de Sistemas Software de Aplicación
Ciencias
• Dan servicio a otros • Resuelven una necesidad • Algoritmos devoradores
programas. especifica. de números.
• Gran interacción con el • Se usa para controlar • Astronomia,
hardware de la funciones de negocio en vulcanología, biología
computadora. tiempo real. molecular, manufactura
• Uso intensivo por parte automatizada.
de usuarios multiples. • Han evolucionado hasta
• Recursos compartidos. convertirse en
• Administración de aplicaciones de tiempo
procesos sofisticados. real con Caracteristicas
de software de sistemas.
Dominios de Aplicación del Software
Software de Línea de
Software Incrustado Aplicaciones Web
Productos
• Reside dentro de un • Proporciona una capacidad • Son un poco mas que un
producto o sistema. específica para uso de conjunto de archivos de
• Ejecuta funciones muchos consumidores hipertexto.
limitadas y particulares. diferentes. • Han evolucionado ha
• Control del tablero de un • Procesadores de texto, ambientes de computo
horno microondas, hojas de calculo, gráficas sofisticados.
funciones digitales de un por computadora, • Integradas con bases de
automóvil, control de multimedios, datos corporativas y
combustible, tablero de entretenimiento, aplicaciones de negocios.
control, y sistemas de Administración de BD,
frenado. aplicaciones para finanzas
personales o de negocios
Dominios de Aplicación del Software
Software de Inteligencia Computación en un
Construcción de Redes
Artificial Mundo Abierto
• Uso de algoritmos no • Se trata de desarrollo de • Consiste en hacer
numericos para resolver sistemas y aplicaciones arquitecturas sencillas
problemas complejos . que permita a para la planeación
• Robotica, Sistemas dispositivos móviles, financiera personal y
expertos, computadoras aplicaciones sofisticadas
reconocimientos de personales y sistemas que proporcionen un
patrones, redes empresariales beneficio a mercados
neurales artificiales, comunicarse a través de objetivo.
demostración de redes enormes.
teoremas y juegos.
Dominios de Aplicación del Software

Fuente Abierta

• Se trata de distribución de
código fuente para
aplicaciones de sistemas de
modo que mucha gente pueda
contribuir a su desarrollo.
Software Heredado
Definición

Fueron desarrollados hace décadas y han sido modificados


en forma continua para cumplir los requerimientos de los
cambios en los negocios y en las plataformas de cómputo.
Caracteristicas
Longevidad
Crítico para el negocio
Mala calidad
Razones por las que el software heredado debe
evolucionar
El sw debe adaptarse para satisfacer las necesidades de los nuevos ambientes del computo y
de la tecnología.

El sw debe ser mejorado para implementar nuevos requerimientos del negocio.

El sw debe ampliarse, que sea operable con otros sistemas o bases de datos más
modernos.

La arquitectura del sw debe rediseñarse para hacerla viable dentro de un ambiente de


redes.
La Naturaleza Única de las
Webapps
Definición

Es una versión de la pagina web optimizada y


adaptable a cualquier dispositivo móvil. Dicho de
otra manera, es una pagina que se puede abrir
desde cualquier terminal independientemente
del sistema operativo que utilice.
Caracteristicas de las Webapps
Uso intensivo de redes
Concurrencia
Carga Impredecible.
Rendimiento
Disponibilidad
Orientada a los datos
Contenido sensible
Evolución continua
Inmediatez
Seguridad
Estética
Ingeniería de Software
Definición

La aplicación de un enfoque sistemático,


disciplinado y cuantificable al desarrollo,
operación y mantenimiento del software.
Realidades
El diseño es una
Entender el
actividad crucial de
Problema antes de
la Ingeniería de
dar una solución
software

El software debe
El software debe
tener facilidad de
tener alta calidad
mantenimiento.
Capas de la Ingeniería de
Software
El Proceso del Software
Estructura del Proceso
Comunicación Planeación
Importancia Crítica Mapa que guía al Equipo

• Busca entender los objetivos • Describe las tareas técnicas


de los participantes. por realizar.
• Ayuda a reunir los • Los riesgos.
requerimientos necesarios • Los recursos.
• Productos de trabajo.
• Programación de actividades.
Estructura del Proceso
Modelado Construcción
Bosquejo del objeto La mezcla
• Como se verá arquitectónicamente. • Combina la generación de
• Como se ajustan entre si las partes. código y las pruebas para el
• Refinar el bosquejo con mas y mas descubrimiento de errores.
detalles a fin de comprender mejor
el problema y como resolverlo.
Estructura del Proceso
Despliegue
Completo o incremento parcial
• El software se entrega al
consumidor final que lo
evalúa y da
retroalimentación.
Mitos del Software
Mitos de La Administración
Tenemos un libro lleno de estándares y procedimientos para
elaborar software. ¿No le dará a mi personal todo lo que
necesita saber?
• ¿Se utiliza?
• ¿Saben los trabajadores de software de su existencia?
• ¿Refleja la práctica moderna de la ingeniería de software?
• ¿Es completo?
• ¿Es adaptable?
• ¿Esta dirigido a mejorar la entrega a tiempo y también se centra en la calidad.
Mitos de La Administración
Si nos atrasamos, podemos agregar más programadores y
ponernos al corriente.
• Agregar más personal a un proyecto de software atrasado lo atrasará más.
• Pueden agregarse individuos, pero solo en forma planeada y bien coordinada.

Si decido subcontratar el proyecto de software a un tercero,


puedo descansar y dejar que esa compañía lo elabore.
• Si una organización no comprende como administrar y controlar proyectos de
software internamente, tendrá dificultades cuando subcontrate proyectos de
software.
Mitos del Cliente
Para comenzar a escribir programas, es suficiente el enunciado general de los
objetivos… podemos entrar en detalles mas adelante
• Planteamiento de objetivos ambiguos = “Receta ideal para el desastre”
• Los requerimientos no son ambiguos.
• Se necesita de una comunicación eficaz y continua entre el cliente y el desarrollador.

Los requerimientos del software cambian continuamente, pero el cambio se


asimila con facilidad debido a que el software es flexible.
• El efecto varia según la época en la que se introducen los cambios.
• Al principio y antes del diseño y elaboración del código, el costo es relativamente bajo.
• Entre más avanzado esta el proyecto los cambio son mas costosos debido a que ocasionará
perturbaciones que exigen recursos adicionales y modificaciones al diseño.
Mitos del profesional
Una vez que funcione el programa y hacemos que funcione,
nuestro trabajo ha terminado.
• Entre mas pronto se comience a escribir un programa, más tiempo tomará
hacer que funcione.
• Entre el 60 y 80% de todo el esfuerzo dedicado al software ocurrirá después
de entregarlo al cliente por primera vez.

Hasta que no se haga correr el programa, no hay manera de


evaluar su calidad.
• Se deben realizar revisiones periodicas al software para asegurar la calidad.
Mitos del profesional
El único trabajo producto de trabajo que se entrega en un
proyecto exitoso es el programa que funciona.
• Se deben entregar modelos, documentos, planes que sirven de guía para el
desarrollo del software

La ingeniería de software hará que generemos documentación


voluminosa e innecesaria, e invariablemente nos retrasará
• No consiste en producir documentos sino crear productos de calidad, con
menos repeticiones y tiempos de entrega más cortos.
Ejercicios a desarrollar del Capitulo 1

1.1 al 1.5
1.8
1.11

También podría gustarte