Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Ra1 Ed

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 49

RA1.

Reconocimiento de los
elementos del desarrollo de
software.
CFGS-DAM-ENTORNOS DE DESARROLLO
Objetivos-Criterios
RA: Reconoce los elementos y herramientas que intervienen en el desarrollo de un programa informático,
analizando sus características y las fases en las que actúan hasta llegar a su puesta en funcionamiento.

Criterios de evaluación:

a) Se ha reconocido la relación de los programas con los componentes del sistema informático, memoria,
procesador, periféricos, entre otros.

b) Se han clasificado los lenguajes de programación.

c) Se han diferenciado los conceptos de código fuente, objeto y ejecutable.

d) Se han reconocido las características de la generación de código intermedio para su ejecución en máquinas
virtuales.

e) Se ha evaluado la funcionalidad ofrecida por las herramientas utilizadas en programación.

f) Se ha diferenciado el funcionamiento de los distintos tipos de traductores de lenguajes ante el código fuente de
un programa.

g) Se han identificado las fases de desarrollo de una aplicación informática.


1.1. Componentes del sistema informático
Software:
► Parte intangible de un sistema informático.
► Lo constituyen componentes lógicos (no físicos)
► Diseñado para realizar una tarea determinada en nuestro sistema.
► Se encarga de comunicarse con el hardware.
Definición de Software extraída del estándar 729 IEEE: “El conjunto de programas de
cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las
operaciones de un sistema de computación”
Otra definición sería:
El software es el conjunto de programas informáticos que se ejecutan sobre un hardware
concreto (componentes físicos del ordenador) con el propósito de realizar una determinada
tarea.
1.1. Componentes del sistema informático
Existen tres tipos de software dependiendo de su función:

➢ Sistema operativo: también conocido como software base, es aquel que debe estar instalado en
el equipo para poder gestionar los recursos de hardware y utilizar las aplicaciones informáticas.
➢ Software de programación: es el conjunto de utilidades software que nos posibilitan el
desarrollo de programas informáticos.
➢ Aplicaciones: conjuntos de programas que permiten a los usuarios llevar a cabo una o varias
tareas específicas.

Relación software-hardware.
Cualquier aplicación necesita recursos hardware para poder ejecutarse (CPU, memoria RAM, acceso
a los dispositivos E/S, etc.).
El sistema operativo controla y coordina el hardware del equipo, siendo el intermediario entre los
componentes físicos y las aplicaciones que se están ejecutando. El sistema operativo lleva a cabo
todo esto de manera transparente tanto para las aplicaciones como para el usuario
1.1. Componentes del sistema informático
Como todo el mundo sabe, el software tiene una serie de características muy particulares
que lo definen. Estas características son las siguientes:
► a) El software es lógico, no físico. Es intangible.
► b) El software se desarrolla, no se fabrica. Es mejor decir desarrolladores de software que
fabricantes de software.
► e) El software no se estropea y una copia suya da lugar a un clon con las mismas
características del original.
► d) En ocasiones, puede construirse a medida. Existe software a medida y software
enlatado .
¿Qué es un software enlatado?
► Un software enlatado es un sistema que fue desarrollado con anterioridad por una
empresa proveedora, la cual vende “licencias de uso” del mismo. Tal como cualquier
producto que se “fabrica” atraviesa por distintas etapas antes de ser lanzado al mercado:
diseño, producción y control de calidad.
¿Qué es un software a medida?
► Un software a medida es creado específicamente para satisfacer los requerimientos de su
empresa. Puede ser desarrollado por una empresa proveedora, por profesionales de sistemas
contratados en forma independiente, o bien, por profesionales del departamento de
sistemas de su empresa.
1.2. Programas informáticos y aplicaciones informáticas
1.2.1. Concepto de programa informático
► Un programa es una serie de órdenes o instrucciones secuenciadas y
ordenadas con una finalidad concreta y que realizan una función
determinada.
Ejemplo: programa Hola mundo en lenguaje C
1.2. Programas informáticos y aplicaciones informáticas
1.2.1. Concepto de programa informático

► Ejemplo de programa hola mundo en C y con comentarios:


1.2. Programas informáticos y aplicaciones informáticas
1.2.2. Concepto de aplicación informática
► Existen en el mercado muchas aplicaciones informáticas y cada una tiene su utilidad y
finalidad concreta.
► Suelen estar formadas por varios programas con sus librerías correspondientes, aunque podrían
constar solamente de un programa.
► Cuando son varios programas que pueden ejecutarse independientemente uno de otro, suele
denominarse suite o paquete integrado como, por ejemplo, la suite ofimática de OpenOffice.
► Normalmente los programas comparten librerías, almacenamiento, e incluso datos.
► Una aplicación informática está en contacto con el usuario y no con el hardware
► Será el sistema operativo el que haga de nexo de unión entre ambos (aplicación informática y
hardware)
► Existe multitud de aplicaciones informáticas que automatizan o ayudan a la realización de
ciertas tareas como, por ejemplo:
► Programas de contabilidad.
► Bases de datos.
► Programas de diseño gráfico.
► ….
1.2. Programas informáticos y aplicaciones informáticas
1.2.3.Software a medida y software estándar
Un software a medida es una o varias aplicaciones realizadas según los
requerimientos e instrucciones de una empresa u organismo. Dichos programas
se amoldan o adecuan a la actividad desarrollada y son diseñados a la medida del
organismo, su forma de trabajar, sus necesidades.
Algunas características del software a medida son las siguientes:
1. Como todo software, necesita un tiempo de desarrollo.
2. Se adapta a las necesidades específicas de la empresa. Eso implica que, en
ocasiones, ese software no sea trasladable a otras empresas diferentes (incluso a
otras empresas del mismo sector).
3. Generalmente, suele contener errores y se necesita una etapa de
mantenimiento en la que se subsanan y se mejora dicho software,.
4. En general, es más costoso que el software estándar, debido a que el precio lo
soporta un solo cliente. En el software enlatado o estándar, ese precio se
comparte entre los distintos compradores.
1.2. Programas informáticos y aplicaciones
informáticas
1.2.3.Software a medida y software
estándar
El software estándar o enlatado es un software genérico (válido para cualquier
cliente potencial), que resuelve múltiples necesidades. Normalmente, para hacerlo más
adaptable, dicho software tiene herramientas de configuración que lo parametrizan y lo
adaptan a las necesidades del cliente. En ocasiones, no es el software ideal, puesto que
le faltan opciones, procedimientos y procesos que la empresa realiza y que, tendrán
que realizarse con otra herramienta.
Sus principales características son:
a) Se compra ya hecho. El software ya fue desarrollado en su momento y lo único que
podría hacerse es adaptarlo a las necesidades de la empresa.
b) Suele tener muchos menos errores que el software a medida, dado que fue probado
por múltiples empresas.
e) Suele ser más barato que el software a medida, puesto que los costes de desarrollo
se reparten entre las múltiples licencias que se venden.
d) Generalmente, tiene funciones que la empresa no usará y también carecerá de otras
opciones. Por regla general, no se adapta completamente a las necesidades de una
empresa (es más, a veces, la empresa tiene que adaptarse al software).
1.3. Lenguajes de programación
► Todos los programas se desarrollan en algún lenguaje de
programación
► Casi nadie programa directamente con instrucciones máquina
► Los lenguajes de programación son, por lo tanto, lenguajes
artificiales creados para que, al traducirse a código máquina, cada
una de las instrucciones de dicho lenguaje dé lugar a una o a varias
instrucciones máquina.
► Un lenguaje de programación es el conjunto de:
► Alfabeto: conjunto de símbolos permitidos.
► Sintaxis: normas de construcción permitidas de los símbolos del
lenguaje.
► Semántica: significado de las construcciones para hacer acciones
válidas.
1.3. Lenguajes de programación
1.3.1. Tipos de lenguajes de programación
Clasificados atendiendo a su nivel de abstracción (cercanía o lejanía con la máquina.)
1. Lenguaje máquina:
► Sus instrucciones son complejas e ininteligibles. Se componen de combinaciones de
unos y ceros.
► No necesita ser traducido, por lo tanto es el único lenguaje que entiende directa
mente el ordenador para el que ha sido programado.
► Fue el primer lenguaje utilizado. En su momento, los expertos debían tener un
dominio profundo del hardware para poder entender este lenguaje de
programación.
► Difiere para cada procesador. Las instrucciones no son portables de un equipo a
otro.
► Salvo excepciones, actualmente, nadie programa en este lenguaje.
1.3. Lenguajes de programación
1.3.1. Tipos de lenguajes de programación
2. Lenguaje de medio nivel o ensamblador:
► Dada la dificultad y poca portabilidad del lenguaje máquina, el ensamblador lo sus
tituyó para facilitar la labor de programación.
► Sigue estando cercano al hardware, pero, en lugar de unos y ceros, se programa
usando mnemotécnicos, que son instrucciones más inteligibles por el programador
que permiten comprender de una forma más sencilla qué hace el programa.
► Este lenguaje necesita compilarse y traducirse al lenguaje máquina para poder eje
cutarse.
► Se trabaja con los registros del procesador y direcciones físicas. En lenguajes de
nivel más alto, ya se utilizan variables y estructuras más sofisticadas.
► Es difícil de comprender y programar.
► Dada la dificultad y poca portabilidad del lenguaje máquina, el ensamblador lo sus
tituyó para facilitar la labor de programación.
1.3. Lenguajes de programación
1.3.1. Tipos de lenguajes de programación
3. Lenguaje de alto nivel
► La mayoría de los lenguajes de programación actuales pertenecen a esta categoría.
► Tienen una forma de programar más intuitiva y sencilla.
► Más cercano al lenguaje humano que al lenguaje máquina (por ejemplo: WHILE
var DO .... DONE).
► Suelen tener librerías y funciones predeterminadas que solucionan algunos de los
problemas que suelen presentarse al programador.
► En ocasiones, ofrecen frameworks para una programación más eficiente y rápida.
► Suelen trabajar con mucha abstracción y orientación a objetos. De esa manera, es
más fácil la reutilización y el encapsulamiento de componentes.
1.3. Lenguajes de programación
1.3.1. Tipos de lenguajes de programación
También podemos clasificarlos atendiendo a la forma en la que son ejecutados:
a. Lenguajes compilados:
► Necesitan un programa traductor (compilador)
► Genera un código máquina.
► Ejecución muy rápida
► Tiempo de traducción o compilación es lento
► Para mejorar la compilación permite linkar o enlazar código de librerías compilado
(código objeto) con el código objeto del programa, de esa manera si una librería no
cambia no tenemos que volver a compilarla.
1.3. Lenguajes de programación
1.3.1. Tipos de lenguajes de programación
b. Lenguajes interpretados
► No se genera código objeto
► Se va interpretando o traduciendo línea a línea como se va realizando el proceso de
ejecución (on the fly)
► Son más lentos en ejecución
► Aunque más rápidos de detectar errores durante el desarrollo
► Durante el desarrollo se ahorra tiempos de traducción del todo el código fuente en cada
modificación del programa

c. Lenguajes virtuales
► Son lenguajes más portables que los lenguajes compilados, puesto que el código
que se genera tras la compilación es un código intermedio o bytecode
► Este código puede ser, a su vez, interpretado por una máquina virtual instalada en
cualquier equipo
► Tienen una ejecución lenta, pero su versatilidad para poder ejecutarse en cual
quier entorno los hace muy apreciados.
1.3. Lenguajes de programación
1.3.1. Tipos de lenguajes de programación
Clasificados atendiendo a su técnica de programación:
1. Lenguaje estructurado:
► Usan la técnica de programación estructurada. Ejemplos: Pascal, C, etc.
► Permite sólo el uso de tres tipos de sentencias o estructuras de control:
► Sentencias secuenciales.
► Sentencias selectivas (condicionales).
► Sentencias repetitivas (iteraciones o bucles).
2. Lenguaje orientado a objetos:
► Usan la técnica de programación orientada a objetos. Ejemplos: C++, Java, Ada,
Delphi, etc.
► En la P.O.O. los programas se componen de objetos independientes entre sí que
colaboran para realizar acciones.
► Los objetos son reutilizables para proyectos futuros.
3. Lenguajes de Programación Visuales:
► Basados en las técnicas anteriores, permiten programar gráficamente, siendo el código
correspondiente generado de forma automática. Ejemplos: Visual Basic.Net, Borland
Delphi, etc.
1.3. Lenguajes de programación
1.3.2. Características de los lenguajes más
difundidos
1.3. Lenguajes de programación
1.3.2. Características de los lenguajes más
difundidos
1.3. Lenguajes de programación
1.3.2. Características de los lenguajes más
difundidos
1.3. Lenguajes de programación
1.3.2. Características de los lenguajes más
difundidos
1.3. Lenguajes de programación
1.3.2. Características de los lenguajes más
difundidos
1.3.2. Características de los lenguajes más
difundidos
1.3. Lenguajes de programación
1.3.2. Características de los lenguajes más difundidos
Java: Python:

C y C++: JavaScript:

PHP: VB.NET
1.4. El proceso de traducción / compilación
❏ Código Fuente: es el escrito por los programadores en algún editor de
texto. Se escribe usando algún lenguaje de programación de alto nivel y
contiene el conjunto de instrucciones necesarias.
❏ Código Objeto: es el código binario resultado de compilar el código
fuente.
❏ Código Ejecutable: Es el código binario resultante de enlazar los
archivos de código objeto con ciertas rutinas y bibliotecas necesarias. El
sistema operativo será el encargado de cargar el código ejecutable en
memoria RAM y proceder a ejecutarlo. También es conocido como
código máquina y ya sí es directamente inteligible por la computadora.
Existen dos grandes grupos de tipos de traductores: los compiladores y
los intérpretes:
► Un intérprete traduce el código fuente línea a línea. El programa que
hace de intérprete junto con el código fuente, tiene que estar en
memoria ejecutándose para poder ejecutar el programa
► Un compilador traduce el código fuente a código máquina. El compilador
solamente está en la máquina de desarrollo. El código generado solo
funcionará en una máquina con un hardware y un software determinados.
Si cambian de hardware o software, hay que volver a recompilarlo.
1.4. El proceso de traducción / compilación
► En el proceso de compilación, primero, se realiza un pre-procesado del código. Todos
los comandos de pre-procesamiento se ejecutan y traducen.
► Una vez realizado este paso, se compilan los ficheros del código fuente generándose un
código intermedio.
► Existen muchos compiladores de código intermedio a código máquina y el objetivo de
este paso es reutilizar dichos compiladores, puesto que son rápidos, eficientes, están
probados y reducen el tiempo de desarrollo.
► El código intermedio, generalmente, vuelve a compilarse y traducirse a ensamblador o
código objeto directamente.
► Dependiendo de lo eficiente que sea el compilador, estas fases llevarán más o menos
tiempo.
► El código objeto es básicamente un código máquina, lo único que le falta es enlazarlo a
las librerías para generar un programa ejecutable .
► El proceso de enlazado (incluir en el código ejecutable el código máquina de las
librerías) lo realiza un programa específico llamado enlazador o linker, el cual, además
de enlazar codo el código objeto, optimiza los programas para que se ejecuten más
rápido en un futuro.
1.4. El proceso de traducción / compilación
1.4. El proceso de traducción / compilación
1.4. El proceso de traducción / compilación
1.5. Desarrollo de una aplicación
1. Fases del desarrollo de una aplicación
2. Documentación
3. Roles o figuras que forman parte del proceso de desarrollo del software
1.5. Desarrollo de una aplicación
Ciclo de vida - Ingeniería del software
► El modelo de ciclo de vida del software es el conjunto de pasos que se tienen que seguir para el desarrollo de un
programa.

► La ingeniería del software, nace para convertir el proceso artesanal de construcción de programas
informáticos en una ingeniería, para así producir software industrial en serie y de calidad.
Como cualquier rama o disciplina dentro de la Informática, la ingeniería del software ha ido evolucionando en el tiempo hasta
la fecha actual. Las etapas o generaciones por las que ha ido pasando se asemejan al desarrollo de un programador desde que
se inicia en el mundo de la programación hasta que se hace más o menos experto en el análisis, diseño y construcción de
programas informáticos de un nivel aceptable.
.
Etapas de la ingeniería del software
En ingeniería del software se consideran cuatro etapas o generaciones claramente diferenciadas:
En la primera generación de desarrollo de software, la construcción de programas informáticos se llevaba a cabo de una
forma directa, esto es, planificando a groso modo las partes de un programa sin entrar a detallar el proceso de análisis y
diseño previos. Se carecía de una metodología específica y la experiencia del programador era clave en la construcción de
software. Esta etapa se prolongó hasta mediados de la década de los 70.
La segunda generación nace con la idea de centrarse más en el análisis del problema para afrontar con mayor garantías la
programación. Aparecen las primeras metodologías de programación estructurada. El ya clásico "divide y vencerás" es
el referente para diseñar programas más legibles.
El desarrollo orientado a objetos aparece en la tercera generación como alternativa a las técnicas clásicas de
programación estructurada. Ello supuso una forma distinta de representar la realidad para representar y tratar los problemas
de programación a través del concepto de clase. Dicha manera de representar la realidad supuso un mayor acercamiento a la
forma más natural de pensar del ser humano. El lenguaje UML (Unified Modeling Languaje) es el elegido para modelar la
realidad y resolver problemas según esta filosofía.
Por último, en la cuarta generación surgen las llamadas herramientas CASE (Computer Aided Software Engineering) y los
lenguajes de cuarta generación (centrados en el concepto de evento) como verdaderas herramientas para desarrollar
software de una forma más rápida y eficaz, construyendo cada parte del software final según una herramienta gráfica cómoda
y amigable, y automatizando el proceso de generación de código.
1.5. Desarrollo de una aplicación
1.5.1. Fases del desarrollo de una aplicación
1.5. Desarrollo de una aplicación
1.5.1. Fases del desarrollo de una aplicación

A) Fase inicial:
- Se planifica el proyecto
- Se hacen estimaciones
- Se verifica si el proyecto es rentable …
La planificación y estimación requiere por su complejidad de la experiencia
de gente con experiencia en la elaboración de proyectos como en plataformas
en las que se van a realizar su construcción.
- Creación de documentos de alto nivel donde quedan reflejadas las
decisiones adoptadas, las cuales a veces afectan al resto de fases del
proyecto. De ahí la importancia de dejarlo bien documentado, detallado y
soportado por datos concretos.
1.5. Desarrollo de una aplicación
1.5.1. Fases del desarrollo de una aplicación

B. Análisis del problema:


- Consiste en recopilar, examinar y formular los requisitos del cliente
- Analizar cualquier restricción que pueda aplicarse.
- Documentación de todas las entrevistas con el cliente y luego se consensuan
con él con carácter contractual (firma)
- La idea de estos documentos es obligar a ambas partes a cumplir lo pactado
C. Diseño:
- Consiste en ir determinando los requisitos generales de la arquitectura de
la aplicación
- Dar una definición precisa de cada subconjunto de la aplicación
- Se genera una documentación más técnica.
1.5. Desarrollo de una aplicación
1.5.1. Fases del desarrollo de una aplicación

D. Codificación o implementación:
- Consiste en implementar en un lenguaje de programación las distintas
funcionalidades definidas en la etapa de diseño.
- Aunque en esta fase el código es documentado, es necesario la creación de
documentos donde se indique para cada función que parámetros de entrada y
salida recibe, cuál es su propósito, módulos o librerías donde se encuentra,
quien lo ha programado, qué revisiones se han realizado.
Con la idea de ayudar al mantenimiento futuro del código por cualquier
persona.
E. Pruebas:
- Garantizamos que la aplicación desarrollada realiza las especificaciones
originales
- Que la integración de los distintos programas es perfecta y que está
preparada para la explotación.
1.5. Desarrollo de una aplicación
1.5.1. Fases del desarrollo de una aplicación

Clasificación de la documentación de las pruebas en dos bloques:


- Funcionales: La aplicación hace lo que tiene que hacer, según las funciones
acordadas en los documentos de especificación firmados con el cliente.
Estas pruebas son interesantes hacerlas con el cliente presente.
Se debe tomar todo tipo de anotaciones con la idea de redactar un
documento que luego el cliente le dé el visto bueno.
El documento se van reflejando los fallos que surjan, así como, las
modificaciones que quieran que se introduzca fuera de las especificaciones
iniciales.
Siempre se puede revisar las documentación anterior para comprobar si el
cambio es nuevo o es una modificación
- Estructurales: Realización de pruebas a nivel técnico como cargas de datos
para ver la estabilidad de la aplicación, … En estas pruebas no hace falta que
asista el cliente.
1.5. Desarrollo de una aplicación
1.5.1. Fases del desarrollo de una aplicación

F. Explotación:
- Se instala el software en el entorno real de uso y se trabaja con él
- Es la fase más larga y suelen surgir multitud de incidencias, nuevas
necesidades, etc.
- Toda la información suele detallarse en un documento en el que se incluyen
los errores o fallos detectados, para que los analista y programadores puedan
revisar y reparar esos fallos. También se documentará las nuevas
funcionalidades, de manera que pueda todo ello llevarse a la siguiente fase
G. Mantenimiento:
- Se lleva a cabo las incidencias y nuevas necesidades detectadas en la fase
anterior.
- Nuevamente se documenta todo
1.5. Desarrollo de una aplicación
1.5.1. Fases del desarrollo de una aplicación
Aunque todo ciclo de vida de un proyecto de desarrollo de software contiene las etapas que hemos visto anteriormente, la manera de
llevarlas a cabo varía según cada proyecto, ello da lugar a distintos tipos de ciclos de vida. Los principales son:

● Ciclo de vida clásico o en cascada.

El modelo de ciclo de vida en cascada es el modelo más simple en desarrollo de software. En él las etapas se llevan a cabo una
detrás de otra de forma lineal, así sólo cuando la primera fase se termina se puede empezar con la segunda, y así progresivamente.
Este modelo asume que todo se lleva a cabo y tiene lugar tal y como se había planeado en la fase anterior, y no es necesario pensar en
asuntos pasados que podrían surgir en la siguiente fase. Este modelo no funcionará correctamente si se dejan asuntos de lado en la fase
previa. La naturaleza secuencial del modelo no permite volver atrás y deshacer o volver a hacer acciones.
Este modelo es recomendable cuando el desarrollador ya ha diseñado y desarrollado aplicaciones similares con anterioridad, es decir,
tiene la experiencia suficiente para terminar con una etapa y comenzar la siguiente.

● Ciclo de vida en cascada con vuelta atrás.

El ciclo de vida clásico o en cascada no siempre es la mejor opción a adoptar en el desarrollo de software, hay ocasiones en las que:

● una etapa del CV no puede ser completada por no poder detallar la definición del problema. En una situación así, es
necesario dejar dicha etapa sin terminar y pasar a las siguientes, para regresar más tarde a completarla.
● las decisiones tomadas en etapas posteriores obligan a modificar otras ya dadas por terminadas o definitivas.
● pueden detectarse errores cometidos en etapas ya superadas.

En estas situaciones podríamos considerar la posibilidad de volver atrás desde cualquier etapa, ello supone una mejora al ciclo de
vida clásico.

● Ciclo de vida basado en prototipos.

El problema de no poder completar una etapa por no poder detallar o definir alguna de las partes de dicho problema, puede suponer
una gran dificultad para desarrollar una solución definitiva. Los llamados prototipos surgen con la idea ayudar en este sentido.
Un prototipo es un modelo inicial (no la solución final) que se irá refinando en sucesivas pasadas, adaptándolo a las necesidades
del cliente, hasta evolucionar en la solución definitiva.
En la práctica, se parte de un modelo base inicial aproximado que con la ayuda y aportación del cliente y usuarios se va puliendo,
desarrollando así el prototipo según dichas especificaciones hasta completar el proyecto software.
1.5. Desarrollo de una aplicación
1.5.1. Fases del desarrollo de una aplicación
● Ciclo de vida en espiral.

Hasta ahora en lo referente al CV sólo se habían considerado aspectos técnicos. El tipo de ciclo de vida en espiral tiene en cuenta
además el factor riesgo. En este sentido, es un CV que intenta aprovechar las ventajas de los modelos anteriores pero dando
importancia a los factores económicos.

Como se observa en la figura siguiente, este tipo de CV se divide en cuatro grandes etapas: planificación, análisis de riesgos, ingeniería y
evaluación. En cada etapa se va pasando de forma circular y creciente a la siguiente, así en cada paso es preciso valorar y
considerar más recursos y trabajo (tiempo, dinero, recursos humanos, etc) para acercarse a la solución final.

En este sentido, existe una similitud con el modelo de ciclo de vida basado en prototipos pero incluyendo en cada pasada todas las partes
del CV del proyecto.
1.5. Desarrollo de una aplicación
1.5.1. Fases del desarrollo de una aplicación.
Metodología
Según las características particulares de cada proyecto software, podremos decidirnos por un tipo de CV u otro:

● Si el equipo de desarrollo posee la experiencia suficiente y los requisitos están perfectamente fijados, es recomendable un
ciclo de vida en cascada.
● El ciclo de vida en espiral será el elegido si durante el desarrollo del proyecto se tendrán en cuenta riesgos o imprevistos.
● En el caso de tener que ir afinando con el cliente cada etapa, con el objetivo de mostrarle su utilidad, el ciclo de vida basado
en prototipos será el elegido.

En la práctica se suelen dar situaciones que incluyen parte de una o varias de estas características. Es necesario establecer
formalmente una metodología de desarrollo de software que ayude en todo el proceso para garantizar una solución final acertada.

Son muchas las metodologías existentes en el mercado, cada una con sus ventajas e inconvenientes. Sin embargo, todas tienen una
estructura común en el sentido de detallar paso por paso cada etapa a seguir.

En cada paso se suele describir el trabajo a desarrollar en él, los productos a obtener y las técnicas que se aconseja usar para
generarlos. Los productos generados en un paso de la metodología sirven como "materia prima" para el trabajo de los siguientes.

En este sentido, las metodologías tratan de trazar un camino repetible que, si es seguido completa y fielmente, conduce de manera
predecible a los objetivos buscados.

En el ámbito del desarrollo de software estructurado algunas metodologías oficiales son:

● Metrica v.3: Administración Pública Española.


● Merisse: Administración Pública Francesa.
● SSADM: Administación Pública de Reino Unido.
1.5. Desarrollo de una aplicación
1.5.2. La documentación
En cualquier aplicación, como mínimo, deberán generarse los siguientes
documentos:
a) Manual de usuario: el manual que utilizará el usuario para desenvolverse con
el programa. Deberá ser auto-explicativo y de ayuda.
b) Manual técnico: Con esta documentación, cualquier técnico que conozca el
lenguaje con el que la aplicación ha sido creada debería poder conocerla casi
tan bien corno el personal que la creó
c) Manual de instalación: Se explican paso a paso los requisitos y cómo se instala
y pone en funcionamiento la aplicación.
1.5. Desarrollo de una aplicación
1.5.3. Roles o figuras que forman parte del
proceso de desarrollo de software
1.5. Desarrollo de una aplicación
1.5.3. Roles o figuras que forman parte del
proceso de desarrollo de software
1.5. Desarrollo de una aplicación
1.5.3. Roles o figuras que forman parte del
proceso de desarrollo de software

También podría gustarte