Sei sulla pagina 1di 10

TEMA 1.

- RECONOCIMIENTO DE ELEMENTOS DEL DESARROLLO DE SOFTWARE


Sistema Informtico: conjunto de partes o recursos formados por el hardware,
software y las personas que lo emplean, que se relacionan entre s para almacenar y
procesar informacin con un objetivo en comn.
Hardware: partes fsicas tangibles de un sistema informtico; sus componentes
elctricos, electrnicos, electromecnicos y mecnicos.
Software: equipo lgico o soporte lgico de un sistema informtico, que comprende el
conjunto de los componentes lgicos necesarios que hacen posible la realizacin de
tareas especficas.

EL SOFTWARE DEL ORDENADOR


Segn la distribucin del software
- Shareware: software evaluado de forma gratuita por el usuario.
- Freeware: sofware que se distribuye sin cargo alguno, a veces ocurre lo
contrario.
- Adware: son programas Shareware, pero que aaden publicidad.
- Software de uso especfico: es software para resolver un problema de alguna
organizacin.
Segn la licencia del software
- Una licencia de software es un contrato que se establece entre el desarrollador
y el usuario.
- Software libre: en el cual el autor cede las libertades bsicas al usuario en el
marco de una licencia, con las libertades:
1. Libertad de usar el programa con cualquier fin en cualquier pc.
2. Libertad de estudiar el funcionamiento del programa y de adaptar su
cdigo a necesidades.
3. Libertad de distribuir copias a otros.
4. Libertad de mejorar el programa y de hacer pblicas dichas modificaciones.
5. Software propietario: se distribuye en formato binario (no acceso al cdigo
fuente).

1
CICLO DE VIDA DEL SOFTWARE
Definicin:
-Segn la ISO: Un marco de referencia que contiene procesos, actividades y tareas
involucradas en el desarrollo, la explotacin y el mantenimiento de un producto de
software.
Segn MTRICA: http://administracionelectronica.gob
Etapas:
-Anlisis: entender y comprender de forma detallada el problema a resolver,
verificando su entorno.
-Diseo: estrategia que se va a utilizar para resolver el problema.
-Implementacin: desarrollar el correspondiente programa que solucione el problema
con una computadora.
-Pruebas: realizar las debidas pruebas que garanticen el correcto funcionamiento del
programa.
-Mantenimiento: mantener una estructura de actualizacin, verificacin y validacin.
La documentacin: gua o comunicacin escrita en sus diferentes formas, ya sea en
enunciados, procedimientos, dibujos o diagramas que se hace sobre CADA ETAPA del
desarrollo de un programa.
Modelos de ciclo de vida:
1.Cascada: Modelo de ciclo de vida clsico del software. Cuando se acaba con una
etapa se pasa a la siguiente. Si durante una fase hay que hacer una mejora volvemos a
empezar desde la primera etapa. Si durante una etapa se ha producido un cambio de
necesidades hay que volver hacia atrs.
2.Cascada con Retroalimentacin: Es una variante del C.V. clsico. Se introduce una
realimentacin entre etapas, de forma que podamos volver atrs en cualquier
momento para corregir, modificar o depurar algn aspecto.
VENTAJAS DEL MODELO EN CASCADA INCONVENIENTES DEL MODELO EN CASCADA
1. Fcil de comprender, 1. Necesidad de tener claro todos los
planificar y seguir. requisitos desde el principio
2. La calidad del producto es 2. Es difcil volver atrs si se comenten
alta. errores en una etapa.
3. Permite trabajar con 3. El producto no est disponible para su
personal poco cualificado. uso hasta que no se termine.

2
3.Modelo Iterativo Incremental. Est basado en varios ciclos de vida cascada
realimentados aplicados repetidamente. Entrega el software en partes pequeas. Cada
incremento se hace sobre el anterior.
VENTAJAS DEL MODELO ITERATIVO INCONVENIENTES DEL MODELO ITERATIVO
INCREMENTAL INCREMENTAL
1. No se necesita conocer todos los 1. Es difcil de estimar el esfuerzo y el coste
requisitos desde el principio. final necesario.
2. Permite la entrega temprana al 2. Se tiene el riesgo de no acabar nunca.
cliente de partes operativas del 3. No recomendable para desarrollo de
software. sistemas de tiempo real, de alto nivel de
3. Las entregas facilitan la seguridad, de procesamiento distribuido,
realimentacin de las prximas y/o alto ndice de riesgos.
entregas.

4. El modelo en Espiral. Combina el Modelo en Cascada con el Iterativo. El proceso se


representa con una espiral.

El modelo en Espiral tiene 4 fases:


- Determinar objetivos: identificar objetivos, alternativas y restricciones
impuestas.
- Anlisis de riesgos: se evalan las alternativas en relacin con objetivos y
limitaciones.
- Desarrollar y probar: desarrollar la solucin al problema en este ciclo y
verificar que es aceptable.
- Planificar: Revisar y evaluar todo lo que se ha hecho. Planificar las fases del
ciclo siguiente.
VENTAJAS DEL MODELO EN ESPIRAL INCONVENIENTES DEL MODELO EN ESPIRAL
1. No requiere una definicin 1. Es difcil evaluar los riesgos
completa de los requisitos para 2. El costo del proyecto aumenta en las
empezar a funcionar. iteraciones de la espiral
2. Anlisis de riesgo en todas las 3. El xito del proyecto depende en gran
etapas. medida de la fase de anlisis de riesgos.
3. Reduce riesgos del proyecto.
4. Incorpora objetivos de calidad.

3
5.Modelo Scrum: es un proceso en el que se aplican de manera regular un conjunto de
buenas prcticas para trabajar colaborativamente, en equipo, y obtener el mejor
resultado posible de un proyecto.

FASES DEL DESARROLLO DE UNA APLICACIN


Antes de desarrollar una aplicacin hay que elegir el C.V. a elegir. Independientemente
del C.V. elegido.

1. Fase de anlisis
- Parte del xito de la aplicacin estar en comprender y entender el problema
del cliente.
- Se analizan capacidades y requisitos que el sistema debe tener.
- La obtencin de requisitos no es tarea fcil.
- Es imprescindible tener buena comunicacin entre el cliente y el desarrollador.
Las tcnicas para facilitar la comunicacin son:
- Entrevista: tcnica ms usada para hablar con el cliente.
- Desarrollo conjunto de aplicaciones: dinmica de grupos, tipo de entrevista
muy estructurado.
- Planificacin conjunta de requisitos: subconjunto de JAD, dirigida a alta
direccin.
- Lluvia de ideas (Brainstorming): tipo de reunin en grupo para generar
ideas en comn.
- Prototipos: versin inicial del producto, se usa para clarificar puntos.
- Casos de uso: se basa en escenarios que describen cmo se usa el software en
cada situacin.
Existen 3 tipos de requisitos:
Requisitos datos: datos que vamos a necesitar almacenar.
Requisitos funcionales: describen con detalle la funcin que realiza el sistema.
Requisitos no funcionales: caractersticas del sistema, como pueden ser.

4
Tcnicas para representar los requisitos:

Diagrama de Flujo de Datos (D.F.D.):


Un diagrama de flujo de datos (DFD), representacin grfica del flujo de datos.
Objetivo: construir un modelo lgico del sistema.
Establecer qu funciones se deben desarrollar sin implicar cmo.
El DFD, debe ser un modelo grfico, lgico, preciso y breve, bien documentado.

Diagrama de Flujo de Control DFC:


Similar a los DFD, muestra el flujo de control en vez del flujo de datos.
Un diagrama de flujo de control muestra todas las posibles vas de computacin.
No muestra cuales son las vas que se ejecutan ni en qu orden se encontraran.
Este diagrama se muestra con una lnea discontinua.

Diagrama de Transicin de Estados DTE:


Representa cmo se comporta el sistema tras sucesos externos.
Diagrama de transicin de estados, expresa el comportamiento del sistema.

Diagrama de Entidad / Relacin (DER):


Usado para representar los datos y la forma en la que se relacionan entre ellos.

Diccionario de datos DD:


Descripcin detallada de los datos usados por el sistema.

2. Fase de diseo
En esta etapa traducimos los requisitos en una representacin del software.
- Existen dos tipos de diseos:
1. Diseo estructurado: basado en el flujo de los datos a travs del sistema.
2. Diseo orientado a objetos: el sistema se entiende como un conjunto de objetos
con propiedades y comportamientos.

5
Diseo estructurado
El diseo estructurado produce un diseo con 4 elementos:
1. Diseo de datos: transforma el modelo definido en el anlisis en las estructuras
de datos que se van a utilizar.
2. Diseo arquitectnico: se centra en la representacin de la estructura de los
componentes del software (propiedades e iteraciones).
3. Diseo de la interfaz: Define cmo se comunica el software consigo mismo y
con los dems sistemas.
4. Diseo procedimental (o a nivel de componentes): transforma los elementos
estructurados de la arquitectura en una descripcin procedimental de los
componentes del software.
3. Fase de codificacin
- Una vez terminado el diseo pasamos a la codificacin.
- Se reciben las especificaciones del diseo.
- Cdigo fuente: conjunto de instrucciones.
- El programador debe conocer la sintaxis del lenguaje de programacin
utilizado.
- En cualquier proyecto que se trabaja con un grupo de personas tiene que haber
unas normas de codificacin y estilo; claras y homogneas.
4. Fase de prueba
- Una vez que se han realizado las fases previas y se ha desarrollado la
documentacin se lleva a cabo la fase de prueba:
1. Se lleva a cabo la instalacin de la aplicacin.
2. Puesta en marcha de la aplicacin.
- En esta etapa se llevan a cabo las siguientes tareas:
- Estrategia para la implementacin del proceso.
- Pruebas de operacin.
- Uso operacional del sistema dentro del entorno del cliente y soporte al usuario.

6
Existen diferentes tcnicas para probar una aplicacin, pero las dos ms utilizadas
son:
1. Pruebas de caja blanca: y est basado en el examen de los detalles
procedimentales del cdigo de la aplicacin.
2. Pruebas de caja negra: estas pruebas se llevan a cabo sobre la interfaz del
software, no hace falta conocer la estructura interna de la aplicacin.
5. Fase de mantenimiento
- Definimos mantenimiento del software como la modificacin de un producto
software despus de la entrega para corregir los fallos, mejorar su rendimiento
o adaptar el producto a un nuevo entorno.
- Existen cuatro tipos de mantenimientos: Mantenimiento adaptativo,
Mantenimiento correctivo, Mantenimiento perfectivo y Mantenimiento
preventivo.
6. Documentacin
Todas las etapas del desarrollo deben quedar perfectamente documentadas:
- Deben de actuar como un elemento de comunicacin entre las diferentes
etapas.
- Debe ser un repositorio de informacin para el personal de mantenimiento.
- Debe proporcionar informacin para la elaboracin de futuros proyectos.
- Algunos documentos deben proporcionar a los usuarios indicaciones de cmo
usar y administrar el sistema.
La documentacin se divide en dos partes:

1. Documentacin de proceso: Se registran datos del proceso de desarrollo y


mantenimiento.

2. Documentacin de producto: describe el producto que est siendo


desarrollado; teniendo dos tipos de documentos:
Documentacin del sistema: que describe el producto desde un punto de vista
tcnico orientado al equipo de desarrollo y mantenimiento.
Documentacin del usuario: que describe el producto.

7
ROLES QUE INTERACTAN EN EL DESARROLLO
En el proceso de desarrollo de un software intervienen varias personas.

Analista de sistemas: su objetivo consiste en realizar un estudio del sistema para


dirigir el proyecto en una direccin que garantice las expectativas del cliente
determinando el comportamiento del software. Participa en la etapa de anlisis.
Diseador de software: evolucin del analista y realiza, en funcin del anlisis de un
software, el diseo de la solucin que hay que desarrollar. Participa en la etapa de
diseo.
Analista programador: aporta una visin general del proyecto ms detallada
diseando una solucin ms amigable para la codificacin y participando
activamente en ella. Participa en las etapas de diseo y codificacin.
Programador: escribe el cdigo fuente en funcin al estudio realizado por analistas
y diseadores. Participa en la etapa de codificacin.
Jefe de proyecto: conoce al cliente y a todo el equipo de trabajo. Participa en las
etapas de anlisis, diseo, documentacin y explotacin.

CONCEPTO DE PROGRAMA
Programa informtico: conjunto de instrucciones escritas en un lenguaje de
programacin que aplicadas sobre un conjunto de datos resuelven un problema o
parte del mismo.

- Diferencia entre Programa y Aplicacin:


Programa: siempre ser de ejecucin lineal con un inicio y un fin, aunque su ejecucin
pueda verse afectada por condiciones, como las if, do while, while y for entre otras
cosas como funciones y procedimientos.
Aplicacin: herramienta que interacta con el usuario.
LENGUAJES DE PROGRAMACIN

Lenguaje de Programacin: conjunto de instrucciones, operadores y reglas de


sintaxis y semnticas, que se ponen a disposicin del programador para que este
pueda comunicarse con los dispositivos de hardware y software existentes. El sistema
solo es capaz de entender codigo escrito en codigo maquina (1s y 0s).

Objetivo: de facilitar la tarea a los programadores permitiendo escribir programas


utilizando un mayor nivel de abstraccin en el codigo.

8
Clasificacin de los l.p
Segn nivel de abstraccin: El nivel de abstraccin de un lenguaje implica cuan
alejado est del cdigo mquina, cuanto ms parecido sea a nuestro lenguaje y menos
al cdigo mquina, de mayor nivel ser el lenguaje:
1. Bajo nivel: Slo hay un lenguaje de primera generacin, el cdigo mquina.
2. Medio nivel: Tienen definidas una serie de instrucciones sencillas para trabajar
con datos simples y posiciones de memoria.
3. Alto nivel: La mayora de los lenguajes que se utilizan hoy en da para
programar aplicaciones son de alto nivel. Son muy cercanos a nuestro propio
lenguaje y permiten la realizacin de patrones de diseo complejos como Java.
Segn la forma de ejecucin:
1. Compilados: Un programa traductor (compilador) convierte el cdigo fuente
en cdigo objeto para crear un programa ejecutable.
2. Interpretados: Ejecutan las instrucciones directamente, sin generar cdigo
objeto. La propia mquina se encargar de interpretarlo instruccin a
instruccin.
3. Virtuales: Con un comportamiento similar al de los lenguajes compilados con
una peculiaridad, el compilador no genera cdigo objeto sino cdigo bytecode.
Segn el paradigma de programacin:
1. Imperativo: describe la programacin como una secuencia de instrucciones que
cambian el estado del programa, indicando cmo realizar una tarea.
2. Declarativo: especifica o declara un conjunto de premisas y condiciones para
indicar qu es lo que hay que hacer y no necesariamente cmo hay que hacerlo.
3. Orientado a objetos: encapsula el estado y las operaciones en objetos, creando
una estructura de clases y objetos que emula un modelo del mundo real, donde
los objetos realizan acciones e interactan con otros objetos.
4. Funcional: evala el problema realizando funciones de manera recursiva, evita
declarar datos haciendo hincapi en la composicin de las funciones y en las
interacciones entre ellas.
5. Lgico: define un conjunto de reglas lgicas para ser interpretadas mediante
inferencias lgicas. Permite responder preguntas planteadas al sistema para
resolver problemas.

9
Obtencin del cdigo ejecutable
1. Cdigo fuente: el cdigo fuente de un programa informtico es un conjunto de
instrucciones escritas en un lenguaje de programacin determinado.
2. Cdigo objeto: el cdigo objeto es el cdigo resultante de compilar el cdigo
fuente.
3. Cdigo ejecutable: el cdigo ejecutable es el resultado obtenido de enlazar
nuestro cdigo objeto con las libreras.
MQUINAS VIRTUALES
Una mquina virtual es un tipo especial de software cuya misin es separar el
funcionamiento del ordenador de los componentes hardware instalados.
Caractersticas de las mquinas virtuales:
- Cuando el cdigo fuente se compila se obtiene cdigo objeto bytecode, cdigo
intermedio).
- Se requiere tener independencia para ejecutarlo en cualquier mquina.
- La mquina virtual asla la aplicacin de los detalles fsicos del equipo en
cuestin.
- Funciona como una capa de software de bajo nivel y acta como puente entre
el bytecode de la aplicacin y los dispositivos fsicos del sistema.
- La Mquina Virtual verifica todo el bytecode antes de ejecutarlo.
- La Mquina Virtual protege direcciones de memoria.
- La mquina virtual acta de puente entre la aplicacin y el hardware concreto.

FRAMEWORK:
- Es una estructura de ayuda al programador, en base a la cual podemos
desarrollar proyectos sin partir desde cero.
- Se trata de una plataforma software donde estn definidos programas soporte,
bibliotecas, lenguaje interpretado, etc, ayuda a desarrollar y unir los diferentes
mdulos o partes de un proyecto.
- Con el uso de framework podemos pasar ms tiempo analizando los
requerimientos del sistema y las especificaciones tcnicas de la app.
Ventajas de los framework: desarrollo rpido de software, reutilizacin de partes de
cdigo para otras aplicaciones, portabilidad de aplicaciones de un ordenador a otro y
diseo uniforme del software.
Inconvenientes: gran dependencia del cdigo respecto al framework utilizado y La
instalacin e implementacin consume muchos recursos.

10

Potrebbero piacerti anche