Es el establecimiento y uso de métodos
y principios de ingeniería sólidos para obtener un software confiable que pueda
trabajar con máquinas reales.
Ciclo de software:
- Se desarrolla por un grupo de programadores
- Se usa durante un tiempo antes de que requiera algunas modificaciones.
- Estas son necesarias ya que se encuentran errores dentro del software.
- Estos dos pasos usar y modificar se utilizan hasta que se el software se vuelve un objeto.
- Se vuelve Obsoleto quiere decir que el software pierde su valides debido a su ineficiencia.
- Algunos ejemplos son el registro de estudiantes, sistemas de facturación y contabilidad.
El proceso de desarrollo en el
ciclo de vida del software se conforma de 4 fases:
- 1. Análisis: Muestra el objetivo del software, que es lo que debe hacer. Se definen los requisitos específicos de modo que el usuario lo entienda y se divide esta fase en cuatro:
o
Definición
del usuario: se diseña para un usuario genérico o especifico.
o
Definición
de las necesidades: El usuario define con claridad sus expectativas del
software.
o
Definición
de requisitos: con base a las necesidades del usuario se definen con precisión
los requisitos del software.
o
Definición
de los métodos: Después de definir los requisitos se puede elegir los métodos
apropiados para cumplir estos requisitos.
- 2. Diseño: Lograra el sistema lo que se definió en la fase anterior. Se determina el sistema y/o el diseño tanto de las bases de datos y los archivos. Se divide en dos:
o
Modularidad:
Todo el software se divide en pequeños módulos, cada uno de ellos se
diseña, se prueba y se une con otros a través de un programa principal.
o
Herramientas:
Se utilizan varias siendo las más comunes diagramas de estructuras los
cuales muestran como dividir un paquete en pasos lógicos cada uno en un módulo
independiente y su interacción entre ellos.
- 3. Implementación: Se crean los programas reales.
o
Herramientas:
Para mostrar el flujo lógico de los programas antes de la escritura real del código.
o
Diagrama
de flujo: Utiliza símbolos gráficos para representar el flujo lógico de
datos.
o
Pseudocódigo:
es parte del idioma y del programa que describe con detalles algorítmicos
precisos que indica que hacer al programa.
o
Codificación:
después de usar las herramientas anteriores o ambas el programador
describe el código en un lenguaje específico para el proyecto.
- 4. Pruebas: Una vez que se ha escrito el programa debe probar el software el cual le va a tomar mucho tiempo y puede tornarse tedioso ya que debe ver que interactúe cada uno de sus componentes entre sí y con otros programas.
o
Pruebas
de caja negra: Es probar un programa sin saber que hay dentro y sin
saber cómo funciona.
o
Pruebas
de caja blanca: Asume que sabe todo sobre el programa desde su
funcionamiento hasta su interacción con otros.
Modelos de desarrollo:
o
Modelo
cascada: El proceso de desarrollo fluye en una sola dirección, esto quiere
decir que una fase no puede iniciarse hasta que la anterior se concluya.
o
Modelo
incremental: el proceso se desarrolla en una serie de pasos. Primero se
completa una versión simplificada de todo el paquete que no incluye todos los
detalles. De esta manera se va ir incrementando la serie de módulos terminados
para desarrollar por completo el programa.
Modularidad:
Significa la división de un proyecto en partes más pequeñas para entenderse y
manejarse más fácilmente.
o Herramientas:
o
Diagrama
de estructura: se utiliza para mostrar la relación entre los
procedimientos y las funciones.
o
Diagrama de clase: Se utiliza en
la programación orientada a objetos para mostrar la relación entre las clases.
o Acoplamiento:
Es una medida de que tan estrecho se ligan los módulos. Entre mayor ligados que
estén más acoplados y menos independientes y viceversa.
o
De datos: Para los datos mínimos de la función requerida.
o
De sello: si son objetos compuestos como
arreglos o estructuras.
o
De control: el paso de banderas que pueden
dirigir el flujo lógico de una función.
o
Global: Utiliza variables globales para
comunicarse entre dos o más funciones.
o
Contenido: Cuando una función hace directamente referencia a los datos o instrucciones de
otra.
o Funcional: Contiene solo un proceso, solo hace
una función y en un solo lugar o ocasión.
o
Secuencial: Contiene dos o más tareas relacionadas.
o
De comunicación: combina procesos que trabajen
en los mismos datos.
o
De procedimiento: Combina procesos no
relacionados mediante un flujo de control.
o
Temporal: Acepta solo una variedad limitada de
procesos.
o
Lógica: combina procesos que están relacionados
solo por la entidad que los controla.
o
Casual: Combina procesos que no guardan ninguna relación
entre sí.
Calidad:
o Software
de calidad: aquel que satisface lo requisitos explícitos e implícitos
del usuario, está bien documentado, cumple con las normas y se ejecuta de
manera eficiente en el hardware para el cual se desarrolló.
o Factores
de calidad:
o
Operabilidad: Operación básica de un sistema. El
cual debe de ser :
o
Eficiente
o
Fiable
o
Fácil de usar
o
Pertinente
o
Seguro
o
Preciso.
o
Capacidad de almacenamiento:
o
Corrección
o
De pruebas
o
Flexible
o
Variable
o
Capacidad de Transferencia Interacción con otras
plataformas.
o
Interoperabilidad
o
Portabilidad
o
Reutilización de código
Documentación:
o Documentación
del usuario: Es el manual para el uso del sistema dirigido al
usuario.
o Documentación
del sistema: Es el paquete
mismo debe de mantenerse y modificarse por personas distintas a los
programadores que lo crearon.
Se deben de
documentar cada una de las fases que se realizaron anteriormente para
desarrollar el programa.
BIBLIOGRAFIA:
http://books.google.com.mx/books?id=xu4jcMBih8QC&pg=PT31&dq=concepto+de+programa+almacenado&hl=es&sa=X&ei=vPl0T6eRA6He0gH1_Mi_DQ&ved=0CDcQ6AEwAQ#v=onepage&q=concepto%20de%20programa%20almacenado&f=false
No hay comentarios:
Publicar un comentario