0% encontró este documento útil (0 votos)
15 vistas13 páginas

Fundamentos de Ingeniería de Software

El documento aborda la ingeniería de software, presentando métodos y técnicas para gestionar la construcción, mantenimiento y evolución de productos de software de calidad. Se describen diferentes modelos de procesos de desarrollo, incluyendo modelos tradicionales y ágiles, así como las etapas del proceso de software, que abarcan desde la comunicación hasta el despliegue. Además, se destacan las habilidades blandas necesarias para un ingeniero de software, como la comunicación, el análisis y el trabajo en equipo.

Cargado por

Paola Agudelo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas13 páginas

Fundamentos de Ingeniería de Software

El documento aborda la ingeniería de software, presentando métodos y técnicas para gestionar la construcción, mantenimiento y evolución de productos de software de calidad. Se describen diferentes modelos de procesos de desarrollo, incluyendo modelos tradicionales y ágiles, así como las etapas del proceso de software, que abarcan desde la comunicación hasta el despliegue. Además, se destacan las habilidades blandas necesarias para un ingeniero de software, como la comunicación, el análisis y el trabajo en equipo.

Cargado por

Paola Agudelo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

INGENIERIA DE SOFTWARE 1

Conferencia 1

SOFTWARE

PROGRAMA DE COMPUTO

ESTRUCTURA DE DATOS

DOCUMENTACION

ES OFRECE METODOS Y TECINICAS PARA GESTIONAR EL PROCESO DE


CONSTRUCCION MANTENIMIENTO Y EVOLUCION DE UN PRODUCTO DE
SOFTWARE DE CALIDAD

UN PROCESO DE SOFTWARE SIMILIAR A UN ALGORITMO ENTRADAS


PROCESO Y SALIDAS

CONJUNTO DE TAREAS O ACTIVIDADES QUE TRASNFORMAN UNAS


ENTRADAS EN UNA SALIDA O RESULTADO ESPERADO USANDO UNA
SERIA DE RECURSOS

TABLA DE PREGUNTAS FUNDAMENTALES EN LA DEFINICION DE UN


PROCESO

1 QUE WHAT

QUE RESULADO SE ESPERA O CUAL ES EL OBJETIVO DE la ejecución del


propósito

2. quien

Quienes están involucrados en la ejecución del propósito

3. porque

Porque y para que es necesario que se ejecute este proceso que impacto
tendrá en el entorno la ejecución de este proceso
4. cuando

Cuando se deben ejectuar las actividades del proceso

5. COMO SE EJECUTAN LAS ACTIVIDADES QUE CONFORMAN EL PROCESO

5W Y 1H

Estructura del proceso de software

activdades

podríamos llegar a venir como la actividad puede puede ser en lo que


sería.

El. La etapa o la fase en en la que se encuentren y la acción lo las tareas


le van a permitir que desarrollen esa acción. Cada acción podría ser o
cada tarea podría ser un requerimiento que le va a permitir, o sea, llegar
a tener algo más completo.

Todo esto va muy de la mano también con el proceso de desarrollo.

Las etapas las etapas de de desarrollo hace etapas de desarrollo.

las etapas que serían

comunicación que y porque se resuelven,

planeacion se define ya lo que sería el plan de proyecto, teniendo en


cuenta que lo que quiere el el cliente o las partes interesadas que son,
qué es lo que ellos quieren, entonces vamos a definir ese plan YY pues
se hace un detalle de las actividades, las acciones, las tareas que se
deben realizar, de pronto algún riesgo que se pueda presentar en esa
tarea, no sé si ustedes ya vieron TSP
modelados también diseño y aquí pues se busca hacer un bosquejo de
las partes que van a tener el sistema, las características y cómo se
relacionan las partes que la componen con ese diseño y tener en cuenta
que para el modelado y para poder hacer ese diseño es necesario tener
claritos los requerimientos de la etapa de comunicación o de análisis,
dependen también el el.

Construccion la construcción ya es generar el código y todo lo que


constituye el software en sería el FERNEY, el mcqueen en toda la parte
de la interacción humano computador, teniendo en cuenta las
características.

Pruebas necesarios para corregir errores

despliegue, que ya es la entrega al cliente y la y los que van a evaluar


que sí ese producto software un con estas etapas

, construcción y despliegue.

Flujo de proceso Y es la forma en que las actividades van a estar


organizadas con respecto al tiempo y a las secuencias que nos va a
definir el flujo.

Flujo lineal se termina un atapa y sigue la siguiente

FLUJO DE PROCESO ITERATIVO PERITE DEVOLVER A ALGUNOS PROCESOS


DEPENDE LAS ITERACIONES Y EL TIEMPO EN COMUNICACIÓN Y
PLANEACION

FLUJO DE PROCEO EVOLUTIVO desarrollo en paralelo, no es necesario,


como en las anteriores.

Qué una actividad o una etapa termine para poder empezar la otra
PUEDE EMPEZAR AL TIEMPO Y HACERLO EN PARALELO

proyecto

utilizar scrum y Kanban CARLOS


DESARROLLO CUALQUIER PLATAFORMA

Prototipo mocaps

En los diseños van los diagramas uml caso secuencia y actividades

Conferencia 2

modelo de procesos de desarrollo software.

los modelos de procesos de desarrollo, de acuerdo con las necesidades


de los diferentes proyectos, se han definido distintos. también conocidos
como ciclo de vida del software

los modelos de procesos de desarrollo también conocidos como ciclo de


vida del software, de acuerdo con las necesidades de los diferentes
proyectos, se han definido distintos.

Eso se clasifican en dos, los modelos de procesos predictivos o


tradicionales y los procesos ágiles.

modelos tradicionales

modelo en cascada Su característica principal es que el flujo de


procesos es lineal. para poder continuar con la siguiente fase.

Debemos tener la fase anterior ya lista terminar, y este modelo también


tiene otra característica y es que no se va a devolver, es decir, estando
en planeación no se va a devolver nuevamente. cada una de las etapas
tiene unas actividades definidas.

Comunicación es tener todos los requerimientos, Planeación es la


programación modelado, lo que es el diseño, lo que va en la
arquitectura, codificación, que es la construcción y despliegue, lo que
sería la entrega.

Funciona muy bien para proyectos cortos.

El usuario no podrá tener una versión funcional, sino hasta que si no


hasta en las etapas finales del del proceso

modelo de proceso incremental vamos a tener los mismos las


mismas etapas de de nuestro desarrollo.
nos va a presentar las actividades y el desarrollo en el tiempo y del
modelo a procesos incremental.

Se combinan dos fllujos, flujo de procesos lineal y el flujo de procesos en


paralelo con el fin de que podamos dar respuesta a proyectos donde no
es posible tener todas las especificaciones o requerimientos al principio
y además nos va a permitir tener partes funcionales del sistema de
manera rápida y a medida que vamos avanzando en cada 1 de los
incrementos, vamos a tener entregas

a primera entrega aquí, primera entrega el incremento del incremento


estos va a ser van a ser las funcionalidades básicas o mínimas
requeridas Y con cada incremento nosotros vamos a ir agregándole más
funcionalidades.

Características se ajusta a entornos de alta incertidumbre, donde los


requerimientos no se conocen en su totalidad al inicio del proyecto.

O hay un alto riesgo de que sufran modificaciones. Entonces, si aquí


nosotros no conocemos todos los requerimientos

Ventajas y desventajas entonces aquí en las ventajas se acortan los


tiempos de entrega y el usuario ve algo que puede valorar del sistema
con más frecuencia, que serían los resultados de esos incrementos.

El usuario participó en el desarrollo del proyecto, ya que las etapas en


en las que más participa son las etapas de comunicación y despliega
entonces puede estar como que siempre hay el usuario pendiente y si se
hacen varios incrementos si vemos aquí sí se hacen varios incrementos,
el usuario va a participar, digamos que cada cada, cada etapa sea una
semana para participar en la semana 1, luego en la semana 4, luego en
la semana 5, luego en la semana, Eh como 8.

Desventajas al no tener una especificación de requerimientos inicial, se


hace que sea difícil estimar el costo total de el proyecto, porque pues no
sabemos en qué momento vamos a parar.

Comunicación

Planeación

Modelado

Construcción
Despliegue.

Comunicación, planeación, modelado, construcción y despliegue.

modelo de procesos por prototipo aquí vamos a manejar varios


prototipos de dependiendo de cada una de las etapas, vamos a tener
diferentes tipos de prototipos para la comunicación, vamos a tener los
requerimientos.

de los primeros requerimientos, los la priorización de los


requerimientos.

¿Cuáles son las funcionales? Los no funcionales y vamos a tener esos


esos prototipos para poderle pasar a la planeación y. Lo que sería ese
prototipo, obviamente teniendo en cuenta que un prototipo no es la
versión final, o sea, eso también está sujeto a cambios de parte del
cliente.

Sin embargo, con ese prototipo planeación modelada, construcción y


despliegue, puede trabajar y pues estos prototipos se van actualizando
también dependiendo de las reuniones con el cliente.

Entonces, aparte de tener como esos incrementos, como lo vimos en el


en el modelo pasado, aquí vamos a generar unos prototipos y por
ejemplo en el modelado, en el modelado, y se incluye toda la parte de
arquitectura de software. Y, a su vez, también se incluye la parte de
diseño.

Sé lo que sería tener un diseño de alto nivel o un diseño de bajo nivel,


un diseño detallado y con esos prototipos es que se va a avanzar en el
desarrollo, es el cliente lo que va a hacer es tener algo de manera visual
para decir sí, eso es lo que quiero De hecho, si ustedes hacen un
prototipo, es mucho más sencillo que hacer el código que represente lo
que sería ese prototipo.

prototipo es más visual, puede tener interacción Si ustedes lo hacen en


un, en un software que le permita esa interacción, pero pues no va a no
va a tener ni base de datos ni ni Código ni nada, simplemente es una
animación de como de como sería. Y con ese prototipo, el cliente, ya
vemos que puede aprobar, sugerir, mejorar y volver al prototipo de
comunicación.

Características de el modelo por prototipos es que no va a reducir el


riesgo de construir productos que no satisfagan las necesidades de los
usuarios porque siempre estamos creando esos prototipos para que el
usuario los vea y nos exprese sus inconformidades al respecto.

Reduce los costos y aumenta la probabilidad de éxito también


dependiendo del tipo de prototipos entre, digamos, más parecidos a la
realidad sean, es decir, sean de alto nivel.

He aquí una característica bastante importante, es que exige disponer


de las herramientas adecuadas para la elaboración de los prototipos.

Normalmente estas herramientas son pagas, entonces recitamos tener y


esas esas licencias para poder presentarle al usuario esos prototipos,
porque si no, no nos volcamos en unos prototipos de bajo o medio nivel
de complejidad y no va a representar lo que realmente nosotros
queremos mostrarle al cliente y aquí incrementa los riesgos de calidad y
robustez en el en en los diseños.

Un prototipo es una buena forma de facilitar la comunicación con el


usuario final, porque con ese prototipo se puede se puede hablar.

tienen que poner esos límites de la del desarrollo de los tipos, otra es
también igual que en la anterior. En él, incremental la que no vamos a
poder conocer.

A tiene el tiempo de desarrollo porque, pues también depende de lo que


serían las funcionalidades y él y los prototipos, y llegar como a esos
acuerdos también es difícil manejar las expectativas del usuario, ya que
a la ya que no se parecen ta una versión funcional o parcialmente
funcional, el usuario de pronto puede decir que.

Que el desarrollo debe realizarse para que la construcción sea la de la


calidad esperada, porque a veces como que no hay esa confianza en lo
que sería los prototipos creados o presentados.

modelo de procesos en espiral


Aquí eso es parecido al modelo incremental Entonces empezamos, miren
por dentro el espiral.

Entonces empezamos, miren por dentro el el espiral. Empezamos en la


etapa de comunicación, pero aquí no vamos a tener la posibilidad como
de.

De a empezar aquí en esta etapa con todos los requerimientos como el


incremental, que podemos empezar como un modelo en cascada y si se
presenta algún cambio o alguna modificación hacemos un incremento.
Aquí empezamos con lo que hay, o sea, con lo primero que que el el
analista recoja requerimientos, empezamos y vamos girando por todas
las etapas, cada vez ampliando un poco más lo que sería ese ese
desarrollo, este este modelo en espiral nos toma.

Todas las ventajas [Link] modelo incremental del modelo por prototipos y
del modelo en cascada es como el paso previo a los modelos ágiles.

ventajas de este modelo en espiral

Entonces no necesita una definición completa de los requerimientos


para empezar a implementar una iteración a como que ya le den como
una idea, incluso puede que esos requerimientos no sean los más
importantes, simplemente sean como los primeros o los que tal vez el
usuario considere más importantes

Se incluyen prototipos desde la primera iteración para empezar a validar


los requerimientos.

Además, se solo se pone en riesgo el tiempo y los recursos invertidos


que se generan en cada iteración.

Otra ventaja es que podemos identificar los problemas más rápidamente


y se reduce el riesgo y se facilita resolver a tiempo esos y esos
problemas y además toma todas las ventajas de los procesos anteriores.

Proceso el modelo en espiral desventajas es que el cliente debe


participar constantemente y puede generar inconvenientes y otras
ventajas.

La gestión del proyecto de este tipo de modelos es bastante compleja,


por lo que requiere gestores experimentados para garantizar el éxito del
proyecto.

Y este modelo en espiral es el que da inicio a lo que serían los las


metodologías ágiles y después, en el próximo sábado, cuando veamos
las águilas, se van a dar cuenta que es muy parecido al modelo en
espiral.

las habilidades blandas de un ingeniero de software,

Estos son como habilidades, no tanto de conocimiento, sino de sus


capacidades como persona, ya en, digamos en cualquier ambiente, se
pueden ver y se pueden resaltar estas habilidades, primero, pues

búsqueda y clasificación de la información, saber qué es lo que le está


sirviendo, qué es lo que no hacer esa y discriminación de la Información.

Tener también una capacidad de análisis para poder resolver esos


inconvenientes que se puedan presentar.

Tratar de buscar esas soluciones. Tenemos deducir, sintetizar,


interpretar, analizar los fenómenos que observamos

Habilidades comunicativas sobre todo.


Y si va a ser un analista O dedicarse como al a la OrquestAción de todo
el proceso, es importante, bastante importante, estas habilidades
comunicativas, la redacción de informes y documentos también es
importante.

La habilidades de creatividad aunque digamos que la creatividad es,


sobre todo para buscar soluciones a los problemas de manera creativa,
no, no es tanto confocal diseño, que será bonito porque ya y
normalmente en un desarrollo se tiene en cuenta a un diseñador que
sea la persona encargada de arreglar, tener en cuenta los colores
institucionales

sensibilización frente a los problemas del cliente.

El liderazgo

también toma de decisiones

Gestión de conflictos

trabajo en equipo.

Conferencia 3

MODELOS AGILES4

PROGRAMACION EXTREMA

Retroalimentación
Cristal Methodologies
DYNAMIC SYSTEM DEVELOPMENT METOD(

ADAPTIVE SOFTWARE DEVELOPMENT (ASD)

TSP TEAM SOFTWARE PROCESS

SCRUM

EL Desarrollo de software se realiza mediante iteraciones, denominada


sprints con una duración de 30 dias. El resultado de cada sprint es un
incremento ejecutable que se muestra al cliente.

También podría gustarte