Examen analista de desarrollo de software

Proyecto exitoso


Tiempo Estimado , Presupuesto estimado, Cumple con funcionalidad requerida ,Que se use
Por qué no son exitosos:
Elección errónea de los stakeholders – Deficiencias en las habilidades de los desarrollos – Estimación de esfuerzo y tiempo erróneos – Escaza gestión de la calidad del producto de software
Selección de tecnologías erróneas – si se aportan más de 10M de dólares ningún proyecto es exitoso.

Ingeniería de software


Disciplina formada por herramientas, métodos y técnicas que se usan en el desarrollo de software. Busca que el desarrollo de los proyectos sean efectivos (calidad) y eficientes (costo). También permite guiar de manera sistemática todo el proceso de desarrollo de software.

Software


– Producto intangible que se compone de un conjunto de datos, programas, documentos y configuraciones. – Nos entrega información – Masificación de producción y uso de software en los últimos años. – No es posible medir los efectos culturales que tiene la masificación del software. – El software se desarrolla o se construye no se manufactura en el sentido clásico. – El software no se desgasta, se deteriora debido a los cambios introducidos. – La mayoría se construye a medida.

Tipos de software



De Sistemas

Sistemas operativos, dentro de S.O. (winzip, etc) –

De aplicación

Gestión (bancos, gestión de clientes, hospital, supermercado, etc) – De ingeniería y científico:
Matlab, autocad. –

Empotrado (embedidos):

microondas – De líneas de producto:
se van agregando y sacando cosas. –

Aplicación web

Facebook, Google drive. –

De IA

Fundir cobre, maquinaria automatizada.

Mitos del desarrollo de software


– Ya tengo un libro con procesos… sé todo. – Atrasado, agregar más gente – Enunciados generales sin especificar sirven – Los requerimientos cambian con facilidad, el software es flexible, cambiar es fácil. – Cuando se termina de escribir un programa y está funcionando el trabajo está terminado.

Proyecto de Software

– Objetivos simples y cuando estos objetivos son acabados el proyecto está completo (Divide y vencerás) – Plan de trabajo + Equipo de trabajo + estimación de tiempo= Carta Gantt

Roles


1.

JP

Liderazgo, Capacidad de comunicación y trabajo en equipo, Dominio del tema ,Capacidad de gestión , Poder de decisión 2 Stakeholder:
Participa o ha participado en los procesos que se quieran automatizar.

3. Analista:

Análisis del problema, entiende el problema y plantea posible solución 4. Diseñador:
Soluciones técnicas del problema 5. Constructor:
Recibe las soluciones del diseñador 6. Documentador:
Documenta el proyecto, estándares a seguir, tiempos, etc.

7. QA:

Asegura calidad del proyecto a lo largo del desarrollo, testers.

8. Arquitecto de software:

Diseña las tecnologías, un diseñador senior.

9. DBA:

Administra las BDD entre el diseñador y constructor.

Etapas



1. Especificación de requisitos:

es lo que tiene que hacer el software.  Entrevistas, reuniones, documentos, diagramas y revisiones.

2. Análisis:

  a. Identificar las necesidades del cliente. B. Análisis de la organización. C. Modelar la solución propuesta.

3. Diseño:

plantear solución en especificaciones técnicas. A. Reflejo del análisis b. Facilitar etapas futuras. C. Debe ser documentado. D. Relaciones. E. Lenguaje de programación, aplicaciones existentes, volumen de datos. F. Estado actual de los datos (normalización, encriptación, etc.) g. Proyección de crecimiento 4. Construcción:
Programar lo que da el diseñador.

5. Pruebas


6. Implantación:

Llevar el software ya construido y probado a las instalaciones del cliente.

7. Mantención:

Soporte, posibles correcciones, agregar nuevas funcionalidades, capacitar a los usuarios del software.

Metodologías de Desarrollo de Software


1.

Cascada


– Ventajas:

Muy utilizado para adaptaciones o mejoras de sistemas existentes.  Útil cuando los requisitos están fijos.

– Desventajas:

Es raro que los proyectos reales sigan el flujo secuencial.  Es difícil que el cliente sepa de manera explícita todos los requisitos.  El cliente debe tener paciencia.  2.

Incremental:

Aplica secuencias del modelo de cascada de manera iterativa. 1) Se entrega un producto operacional al finalizar cada iteración. 2) Útil cuando no se tiene todo el personal necesario para el desarrollo del proyecto.


I. Modelos Evolutivos:


1.

Prototipo

2.

Modelo Espiral

Especificación de Requisitos:


Proceso sistemático de definición, comprensión, análisis y documentación de los requisitos. Los requisitos definen los servicios que el sistema debe proporcionar a los usuarios; y las restricciones y condiciones de uso de los mismos.

Tipos de requisitos:


1.
De carácter general, pueden ser vistos en términos amplios como lo que el sistema debe hacer. 2.
Funcionales, definen las funcionalidades del sistema. 3.
No funcionales, definen carácterísticas del rendimiento y de la implementación,atributos o carácterísticas de calidad que debe tener el software.