

Yo Analisis y Diseño de Sistemas
Presentation
•
Computers
•
University
•
Hard
Mirko Puca
FREE Resource
94 Slides • 0 Questions
1
FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
TECNICATURA UNIVERSITARIA EN DISEÑO INTEGRAL DE VIDEOJUEGOS
FACULTAD DE INGENIERÍA
Universidad Nacional de Jujuy
FASES EN RESOLUCION DE PROBLEMAS MEDIANTE
ALGORITMOS
Página 1
Mg. Ing. Ariel Alejandro Vega
INTRODUCCIÓN
El proceso de resolución de un problema con una computadora conduce a la escritura de un
programa y a su ejecución en la misma. Aunque el proceso de diseñar programas es,
esencialmente, un proceso creativo, se puede considerar una serie de fases o pasos comunes,
que generalmente deben seguir todos los programadores
En esta sección trataremos brevemente estas fases y conceptualizaremos el concepto de
algoritmo y sus características.
FASES EN LA RESOLUCIÓN DE PROBLEMAS CON COMPUTADORA
Las fases de resolución de un problema con computadora son:
•Análisis del problema.
•Diseño del algoritmo.
•Codificación.
•Compilación y ejecución.
•Verificación.
•Depuración.
•Mantenimiento.
•Documentación.
Las características más sobresalientes de la resolución de problemas son:
1.Análisis. El problema se analiza teniendo presente la especificación de los requisitos
dados por el cliente de la empresa o por la persona que encarga el programa.
2.Diseño. Una vez analizado el problema, se diseña una solución que conducirá a un
algoritmo que resuelva el problema.
3.Codificación (implementación). La solución se escribe en la sintaxis del lenguaje de alto
nivel (por ejemplo, Java, C#, Processing, et) y se obtiene un/os archivos que representan
el programa y que se denomina genéricamente código fuente que se traducirán al
lenguaje de las computadoras en la siguiente fase.
4.Ejecución, verificación y depuración. El programa se ejecuta, se comprueba
rigurosamente y se eliminan todos los errores (denominados “bugs”, en inglés) que
puedan aparecer.
5.Mantenimiento. El programa se actualiza y modifica, cada vez que sea necesario, de
modo que se cumplan todas las necesidades de cambio de sus usuarios.
6.Documentación. Escritura de las diferentes fases del ciclo de vida del software,
esencialmente el análisis, diseño y codificación, unidos a manuales de usuario y de
referencia, así como normas para el mantenimiento.
Las dos primeras fases conducen a un diseño detallado escrito en forma de algoritmo. Durante
la tercera fase (codificación) se implementa1 el algoritmo en un código escrito en un lenguaje de
programación, reflejando las ideas desarrolladas en las fases de análisis y diseño.
Las fases de compilación y ejecución traducen y ejecutan el programa. En las fases de verificación
y depuración el programador busca errores de las etapas anteriores y los elimina. Comprobará
que mientras más tiempo se gaste en la fase de análisis y diseño, menos se gastará en la
depuración del programa. Por último, se debe realizar la documentación del programa.
1 Implementar: poner funcionamiento, aplicar métodos, medidas, etc para llevar a cabo algo
2
FASES DE UN SISTEMA DE
DESARROLLO DE SOFTWARE
SDLC
3
Análisis y Diseños de Sistemas I
¿Qué es un dato, una información y un sistema?
4
Introducción a Scrum
Agilidad en el desarrollo de software
Breve introducción al método Scrum y su importancia en el desarrollo ágil de software.
5
Unidad 3: Gestión de Proyectos
Definición de proyecto
Según Archibald es un conjunto de procesos requeridos para producir un producto
nuevo, un bien nuevo, un sistema nuevo, u otro resultado especificado.
Según
General
Electric,
es
una
actividad
claramente
definida,
con
una
implantación de duración finita y con una meta a alcanzar bien especificada.
CONJUNTO DE ACTIVIDADES DIRIGIDAS A CREAR UN FUTURO DESEADO.
6
Unidad 3: Gestión de Proyectos
Ejemplo de proyecto
• Sustitución de un sistema informático de una empresa.
• Traslado de un determinado departamento de una planta a otra
• La fabricación de un nuevo electrodoméstico en una fabrica de lavadoras.
• El desarrollo e implantación de un nuevo sistema de información para el
departamento de ventas de una organización.
• La implementación de un sistema de e-business.
• La contratación de un sistema de soporte para una determinada planta de
fabricación industrial.
7
Unidad 3: Gestión de Proyectos
¿Qué es la gestión de proyectos?
Es el proceso que nos permite planificar, programar y controlar las actividades que
se deben realizar mientras dure el proyecto para alcanzar los objetivos definidos.
Respuestas
CUANDO?
CUANTO?
COMO?
QUE?
8
Unidad 3 - Como inician los proyectos de Sistemas
9
Unidad 3 - Como inician los proyectos de Sistemas
10
Unidad 3 - Como inician los proyectos de Sistemas
11
Unidad 3: Gestión de Proyectos
Problemas en la organización: el gerente debe identificar y reconocer los
siguientes problemas:
12
Unidad 3: Gestión de Proyectos
Situación actual:
¿Cuáles son los propósitos de la empresa?
¿Es una empresa con o sin fines de lucro?
¿Planea la compañía crecer o expandirse?
¿Cuál es la postura de la empresa (cultura) en cuanto a la tecnología?
¿Cuál es el presupuesto que la empresa tiene asignado para la TI?
¿El personal de la empresa tiene la experiencia requerida?
13
Unidad 3: Gestión de Proyectos
Objetivos:
Junto a los usuarios se determinan las posibles soluciones.
Una vez declarados éstos, hay que determinar la importancia relativa de las
cuestiones o de los objetivos. Si no hay suficientes fondos para desarrollar el
sistema completo, primero es necesario completar los objetivos más críticos.
Los usuarios son quienes pueden identificar mejor los objetivos más críticos (con
la ayuda de los analistas), ya que son expertos de dominio en su área de negocios y
saben cómo trabajar mejor con las tecnologías en la organización.
14
Unidad 3: Gestión de Proyectos
Identificación de problemas y objetivos críticos.
Una de las técnicas es pedir a los usuarios que asignen una ponderación para cada
cuestión u objetivo.
Es un juicio subjetivo por parte del usuario, pero si varios de ellos asignan
ponderaciones y se obtiene un promedio de todas, el resultado podría reflejar
mejor la situación.
Hay que ordenarlos según orden de prioridad.
15
Unidad 3: Gestión de Proyectos
5 criterios específicos para la selección de proyectos:
1. Contar con el respaldo de la administración.
2. Que sea el momento oportuno para comprometerse con el proyecto.
3. La posibilidad de mejorar la obtención de los objetivos de la organización.
4. Que sea práctico en términos de recursos para el analista de sistemas y la
organización.
5. Que el proyecto valga la pena en comparación con las demás formas en que la
organización podría invertir sus recursos.
16
Unidad 3: Gestión de Proyectos
La administración de proyectos para los sistemas de información debe lidiar con
cinco variables principales: alcance, tiempo, costo, calidad y riesgo.
El alcance define qué trabajo se incluye o no en un proyecto.
El tiempo es la cantidad requerida de tiempo para completar el proyecto.
El costo se basa en el tiempo para completar un proyecto, multiplicado por el costo de los
recursos humanos requeridos para finalizar el proyecto. Los costos de un proyecto de sistemas de
información también consideran el costo del hardware, software y el espacio de trabajo.
La calidad es un indicador de qué tan bien cumple el resultado final de un proyecto
con los objetivos especificados por la gerencia.
El riesgo se refiere a los problemas potenciales que amenazan el éxito de un proyecto.
17
Unidad 3: Gestión de Proyectos
El éxito de un proyecto no esta siempre garantizado y se mide de una forma
diferente de cada caso. Los motivos de fracaso mas frecuente son:
• No se ha conseguido los objetivos y resultados previstos
• Se ha sobrepasado el tiempo, costos o recursos previstos
• No se han alcanzado los niveles de calidad esperados
• El cliente no esta satisfecho con el resultado obtenido
18
Unidad 3: Gestión de Proyectos
Principales causas de fracaso:
• La gestión deficiente o inadecuada del proyecto en general y de los recursos
en particular, con un bajo grado de control y seguimiento que dificulta la
corrección de posibles desviaciones.
• La falta de comunicación con el cliente, dentro del equipo o con los
interesados del proyecto, dificultando la alineación del proyecto con las
necesidades de los usuarios o clientes.
• La valoración incorrecta del alcance del proyecto en contraposición a los
resultados que se quiere obtener.
19
Unidad 3: Gestión de Proyectos
Especificaciones del proyecto
Cuando en una organización se plantea una nueva necesidad que se pretende
resolver con un sistema informático, será necesario establecer un estudio de
viabilidad donde se valore el esfuerzo necesario para que el desarrollo del
nuevo sistema pueda llegar a construirse.
20
Unidad 3: Gestión de Proyectos
Especificaciones del proyecto
El director deberá ser capaz de preparar un documento en el que se plasmen los
objetivos del proyecto, así como las directrices generales de planificación,
estimación y gestión del proceso del proyecto.
21
Unidad 3: Gestión de Proyectos
Especificaciones del proyecto
El documento deberá:
• Establecer el ámbito y alcance del proyecto (definir los productos a obtener)
• Establecer los criterios de terminación del proyecto (lista de criterios que
debe cumplir un proyecto terminado).
• Concepción de los objetivos.
• Documentar los supuestos sobre los que se han producido las estimaciones.
• Estudio de Viabilidad.
22
Unidad 3: Gestión de Proyectos
DETERMINACIÓN DE LA VIABILIDAD
Una vez que el analista determina objetivos razonables para un proyecto,
necesita determinar si es posible que la organización y sus miembros puedan ver
el proyecto hasta su terminación.
El proceso de evaluación de la viabilidad es efectivo para descartar proyectos
inconsistentes con los objetivos de la empresa, que requieran una capacidad
técnica imposible o que no tengan ningún mérito económico.
23
Unidad 3: Gestión de Proyectos
DETERMINACIÓN DE LA VIABILIDAD
Para que el analista pueda recomendar que se continúe con el desarrollo de un
proyecto, éste debe mostrar que es viable en las tres siguientes formas: técnica,
económica y operacional.
24
DETERMINACIÓN DE LA VIABILIDAD
DETERMINACIÓN DE LAS NECESIDADES DE HARDWARE Y SOFTWARE
Para evaluar la viabilidad técnica hay que evaluar la habilidad del
hardware y software computacional para manejar las cargas de
trabajo en forma adecuada.
El analista de sistemas necesita trabajar con los usuarios para
determinar qué hardware se necesitará. Para determinar el hardware
necesario hay que determinar los requerimientos de información de
los
humanos.
También
puede
ser
útil
conocer
la
estructura
organizacional.
25
DETERMINACIÓN DE LA VIABILIDAD
DETERMINACIÓN DE LAS NECESIDADES DE HARDWARE Y SOFTWARE
26
DETERMINACIÓN DE LA VIABILIDAD
DETERMINACIÓN DE LAS NECESIDADES DE HARDWARE Y SOFTWARE
El analista de sistemas toma una muestra de las tareas necesarias y los
recursos computacionales requeridos para completarlas.
La comparación de la carga de trabajo analiza cuándo y cómo se
realiza cada proceso, cuánto tiempo humano se requiere y cuánto
tiempo de computadora se necesita.
Hay que tener en cuenta que el sistema recién propuesto debería
reducir en forma considerable el tiempo humano y de computadora
requeridos.
27
DETERMINACIÓN DE LA VIABILIDAD
IDENTIFICACIÓN, PRONÓSTICO Y COMPARACIÓN DE LOS COSTOS Y BENEFICIOS
Los analistas de sistemas deben ser capaces de predecir ciertas variables clave
antes de enviar su propuesta al cliente.
“qué pasaría si”
Ej: ¿Qué pasaría si los costos de mano de obra aumentan?
Algunos métodos
Si no existen datos
Si existen datos
Estimaciones de la fuerza de venta
En un pronóstico condicional: correlación,
regresión, indicadores importantes,
econometría y modelos de entrada/salida.
Encuestas para estimar la demanda de los clientes
En el pronóstico incondicional el analista no
tiene que buscar o identificar relaciones
causales. el juicio gráfico, las medias móviles y
el análisis de los datos en series de tiempo
Estudios Delphi
Crear escenarios o bosquejar analogías históricas.
28
DETERMINACIÓN DE LA VIABILIDAD
IDENTIFICACIÓN, PRONÓSTICO Y COMPARACIÓN DE LOS COSTOS Y BENEFICIOS
Los beneficios tangibles son las ventajas que se pueden medir en dinero y se
acumulan en la organización a través del uso del sistema de información.
Algunos ejemplos de beneficios tangibles son aumento en la velocidad de
procesamiento, acceso a la información de manera más oportuna, la ventaja que
ofrece el poder de cálculo superior de la computadora y la reducción en la
cantidad de tiempo por los empleados para completar ciertas tareas. Podemos
medir los beneficios tangibles en términos de ahorro de dinero, recursos o
tiempo.
29
DETERMINACIÓN DE LA VIABILIDAD
IDENTIFICACIÓN, PRONÓSTICO Y COMPARACIÓN DE LOS COSTOS Y BENEFICIOS
BENEFICIOS INTANGIBLES: beneficios que se acumulan en la organización debido
al uso del sistema de información son difíciles de medir pero no dejan de ser
importantes. Entre los beneficios intangibles figuran un proceso de toma de
decisiones mejorado, una mejoría en la precisión, la empresa se vuelve más
competitiva en el servicio al cliente, mantiene una buena imagen comercial y
aumenta la satisfacción en el trabajo para los empleados al eliminar las tareas
tediosas.
30
DETERMINACIÓN DE LA VIABILIDAD
IDENTIFICACIÓN, PRONÓSTICO Y COMPARACIÓN DE LOS COSTOS Y BENEFICIOS
COSTOS TANGIBLES son aquellos que el analista de sistemas y el personal
contable de la empresa pueden pronosticar con precisión.
Entre
los
costos
tangibles
se
incluye
el
costo
del
equipo
como
las
computadoras y terminales, el costo de los recursos, el costo del tiempo del
analista de sistemas, el costo del tiempo de los programadores y los salarios
de los demás empleados relacionados. Por lo general, estos costos están bien
establecidos o se pueden descubrir con mucha facilidad, y son los que requerirán
un desembolso de efectivo por parte de la empresa.
31
DETERMINACIÓN DE LA VIABILIDAD
IDENTIFICACIÓN, PRONÓSTICO Y COMPARACIÓN DE LOS COSTOS Y BENEFICIOS
COSTOS INTANGIBLES Los costos intangibles son difíciles de estimar y tal vez no
se conozcan.
Entre éstos se incluyen perder la ventaja competitiva, perder la reputación de ser
el primero con una innovación o el líder en un campo, reducir la imagen de la
empresa debido al aumento en la inconformidad de los clientes, y un proceso
inefectivo de toma de decisiones debido a que la información pertinente se recibe
después de tiempo o no se tiene acceso a ella.
Es casi imposible pronosticar un monto de dinero para los costos intangibles
de una manera precisa. Para ayudar a los encargados de la toma de decisiones
que desean ponderar el sistema propuesto y todas sus implicaciones, usted debe
incluir los costos intangibles incluso cuando no sean cuantificables.
32
DETERMINACIÓN DE LA VIABILIDAD
IDENTIFICACIÓN, PRONÓSTICO Y COMPARACIÓN DE LOS COSTOS Y BENEFICIOS
33
DETERMINACIÓN DE LA VIABILIDAD
Viabilidad Operativa
Depende de los recursos humanos disponibles para el proyecto e implica
determinar si el sistema funcionara y será utilizado una vez que se instale.
Si los usuarios están contentos con el sistema actual, no tienen problemas con
su manejo y por lo tanto no están involucrados en la solicitud de un nuevo
sistema.
Si los usuarios mismos han expresado la necesidad de un sistema que funcione
la mayor parte del tiempo, de una empresa mas eficiente y accesible, hay mas
probabilidades de que a la larga el sistema solicitado sea utilizado.
34
Unidad 3: Gestión de Proyectos
PLANEACIÓN Y CONTROL DE ACTIVIDADES
El análisis y diseño de sistemas involucra muchos tipos de actividades que en
conjunto forman un proyecto.
El analista de sistemas debe administrar el proyecto con cuidado si quiere que
tenga éxito.
La administración de proyectos incluye las tareas generales de planeación y
control.
35
Unidad 3: Gestión de Proyectos
PLANEACIÓN Y CONTROL DE ACTIVIDADES
La planeación incluye todas las actividades requeridas para seleccionar un
equipo de análisis de sistema, asignar miembros del equipo a los proyectos
apropiados, estimar el tiempo requerido para completar cada tarea y programar el
proyecto de manera que las tareas se completen a tiempo.
El control implica utilizar retroalimentación para supervisar el proyecto,
incluyendo una comparación del plan para el proyecto con su evolución actual.
Además, el control implica tomar la acción apropiada para agilizar o
reprogramar las actividades de manera que se puedan terminar a tiempo, a la
vez que se motiva a los miembros del equipo para que completen el trabajo en
forma apropiada.
36
1-Ordenar las etapas
Establecer la lista de trabajos que puedan preverse.
Esta lista de trabajo la desarrolla el director del proyecto junto a un grupo de
trabajo formado por representantes de distintos departamentos y que
provoquen intercambio de puntos de vista
EL director del proyecto deberá prever cualquier tipo de actividad que facilite
la correcta ejecución del proyecto, de esta forma creara tareas y subtareas que
las conforman con criterios de orden en el tiempo
37
2-Relación y dependencia de Tareas
Una vez obtenidos las fases fundamentales, hay que obtener las tareas del
proyecto.
38
2-Relación y dependencia entre tareas
39
Unidad 3: Gestión de Proyectos
Estimación del tiempo requerido
La primera decisión del analista de sistemas es determinar el nivel de detalle para
definir las actividades.
.
40
Unidad 3: Gestión de Proyectos
Estimación del tiempo requerido
El analista de sistemas necesita considerar cada una de estas tareas y
descomponerlas más, de manera que se pueda llevar a cabo la planeación y
programación de las mismas.
.
41
Unidad 3: Gestión de Proyectos
Uso de gráficos de Gantt para programar proyectos
La longitud de cada barra representa la longitud relativa de la tarea.
42
Unidad 3: Gestión de Proyectos
Uso de diagramas PERT
43
Unidad 3: Gestión de Proyectos
Uso de diagramas PERT
PERT es un acrónimo que significa Técnicas de evaluación y revisión de programas.
Se representa mediante una red de nodos y flechas que después se evalúan para
determinar las actividades críticas.
PERT es útil cuando las actividades se pueden realizar en paralelo en vez de hacerlo
en secuencia.
Las actividades que se expresan en el gráfico de Gantt como barras se representan
mediante flechas en el diagrama PERT.
44
Unidad 3: Gestión de Proyectos
Uso de diagramas PERT
La longitud de las flechas no tiene relación directa con la duración de las
actividades.
Los círculos en el diagrama PERT se denominan eventos y se pueden identificar
mediante números, letras o cualquier otro método arbitrario de designación.
Los nodos circulares sirven para:
1) reconocer que una actividad se completó
2) indicar qué actividades hay que completar para poder empezar una nueva
(precedencia).
45
Unidad 3: Gestión de Proyectos
Uso de diagramas PERT
Ejemplo:
Actividad
Predecesor
Duración
A
Ninguno
4
B
Ninguno
2
C
A
5
D
B
3
E
C y D
6
46
Unidad 3: Gestión de Proyectos
Uso de diagramas PERT
La ruta más larga
se conoce como la
ruta crítica.
Ruta critica: es la
ruta que provocará
que todo el
proyecto se atrase
si se encuentra en
ella un retraso
47
Unidad 3: Gestión de Proyectos
Uso de diagramas PERT
Actividades simuladas:
sirven para preservar la
lógica del diagrama o
aclararlo.
Ayuda a aclarar la diferencia.
48
Unidad 3: Gestión de Proyectos
Uso de diagramas PERT
Existen muchas razones para utilizar un diagrama PERT en vez de un gráfico
de Gantt. El diagrama PERT permite:
1. Identificar con facilidad el orden de precedencia.
2. Identificar con facilidad la ruta crítica y, en consecuencia, las actividades
críticas.
3. Determinar con facilidad el tiempo de inactividad.
49
Unidad 3: Gestión de Proyectos
Estimación de los tiempos de actividad del sistema
Depende de la cantidad de personas y la cantidad de tiempo necesaria para
desarrollar
50
Bibliografía
Análisis y Diseño de Sistemas - Kenneth Kendall y Julie Kendall
Análisis y Diseño de Sistemas de Información - Senn James
51
¿Qué es Scrum, para qué sirve?
Scrum es un marco de trabajo ágil para el desarrollo de productos y proyectos,
especialmente en el ámbito del software.
Se basa en principios de transparencia, inspección y adaptación, y promueve la
colaboración efectiva entre equipos multidisciplinarios.
Scrum se centra en la entrega de valor de manera iterativa e incremental,
permitiendo una respuesta rápida a los cambios y una mayor satisfacción del
cliente.
52
¿Cómo se organiza el trabajo en Scrum?
Scrum es un marco de trabajo ágil que se utiliza principalmente en el desarrollo de
software, aunque también se puede aplicar en otros contextos. Se basa en
principios de transparencia, inspección y adaptación, y se centra en la entrega de
valor de manera iterativa e incremental. En Scrum, el trabajo se organiza en
"Sprints" de corta duración (generalmente de 1 a 4 semanas), durante los cuales
se desarrolla, prueba y entrega un incremento potencialmente utilizable del
producto.
53
¿Cómo se trabajan los sprints?
En Scrum, los equipos trabajan en ciclos cortos y fijos de trabajo llamados
"sprints", que suelen tener una duración de 1 a 4 semanas. Durante cada sprint, el
equipo se enfoca en entregar un conjunto de funcionalidades o incrementos de
producto que agregan valor al cliente.
54
El marco de trabajo Scrum se compone de tres roles
principales:
1.
Product Owner: Es responsable de definir y priorizar los elementos del trabajo (items) en el
Backlog del Producto y de asegurar que el equipo esté trabajando en las tareas más
importantes y de mayor valor para el cliente.
2.
Scrum Master: Actúa como facilitador del equipo, eliminando obstáculos y ayudando a
mantener un entorno de trabajo productivo. Además, se encarga de garantizar que se sigan
los principios y prácticas de Scrum.
3.
Equipo de Desarrollo: Son los profesionales que realizan el trabajo de construcción y entrega
del producto. Son autónomos y multifuncionales, colaborando estrechamente para alcanzar
los objetivos del sprint.
55
Scrum incluye varios artefactos clave para la
planificación y seguimiento del trabajo:
1.
Backlog del Producto: Es una lista priorizada de todas las funcionalidades, requisitos,
mejoras y correcciones pendientes en el producto.
2.
Backlog del Sprint: Es una selección de elementos del Backlog del Producto que el equipo
se compromete a completar durante el sprint actual.
3.
Incremento: Es el resultado del trabajo realizado durante el sprint, que debe ser
potencialmente entregable y representar un avance tangible en el producto.
56
DATOS
Los datos son hechos crudos, sin procesar, que por sí mismos pueden no comunicar nada. Por ejemplo, un conjunto de
números o caracteres en una hoja de cálculo son datos. Los datos se convierten en información útil una vez que son
procesados y organizados de manera que adquieren un contexto y un significado.
57
INFORMACIÓN
La información es el resultado de procesar, manipular y organizar los datos de manera que añadan contexto y valor,
convirtiéndolos en algo útil para quien los recibe. Por ejemplo, la temperatura media diaria durante un mes es información
que se deriva de datos recogidos a lo largo de ese período.
58
TRANSFORMACIÓN DE LA INFORMACIÓN
La transformación de información implica convertir información de una forma a otra para aumentar su utilidad y valor, o
para hacerla comprensible y accesible a diferentes usuarios. Esto puede implicar la síntesis, análisis, compilación o
reformateo de información.
59
LOS ATRIBUTOS DE LA INFORMACIÓN
Los atributos de la información refieren a las características que determinan su utilidad y calidad. Algunos de los atributos
más relevantes incluyen:
●Precisión: ¿La información es exacta y sin errores?
●Completitud: ¿Está toda la información necesaria presente?
●Actualidad: ¿Está actualizada la información?
●Relevancia: ¿Es pertinente para las necesidades del usuario?
●Accesibilidad: ¿Puede accederse fácilmente a la información cuando se necesita?
●Confidencialidad: ¿Está protegida adecuadamente la información sensible?
60
VALOR Y COSTO DE LA INFORMACIÓN
El valor de la información se refiere a la utilidad que esta aporta en la toma de decisiones y en la mejora de resultados o
procesos. El valor puede ser cuantificable en términos de ahorros de costos, aumento de ingresos, o mejoras en la
satisfacción del cliente, entre otros. Por otro lado, el costo de la información incluye el gasto asociado a la recopilación,
procesamiento, almacenamiento y distribución de la información.
61
¿QUÉ ES UN SISTEMA?
Un sistema es un conjunto de componentes interrelacionados que interactúan entre sí para lograr un conjunto de objetivos.
Un sistema puede ser físico (como el sistema digestivo en los seres humanos), o conceptual (como un sistema de
creencias).
62
¿QUÉ ES UN SISTEMA DE INFORMACIÓN?
Un Sistema de Información (SI) es un sistema específicamente diseñado para gestionar la recopilación, procesamiento,
almacenamiento, distribución y uso de datos e información. Los SI típicamente incluyen hardware (dispositivos físicos),
software (programas y aplicaciones), bases de datos, redes de comunicación y personal que opera y mantiene los
sistemas. Los SI son fundamentales en las organizaciones modernas porque facilitan la toma de decisiones, la
coordinación, el control, el análisis y la visualización en diversas áreas operativas y estratégicas.
63
PROPIEDADES MÁS RELEVANTES DE UN SISTEMA
Integridad
La integridad de un sistema de información se refiere a la precisión y consistencia de los datos almacenados. Es
fundamental asegurar que los datos sean exactos y que no se corrompan durante las transacciones. Esto puede lograrse
mediante el uso de reglas de validación de datos y restricciones de integridad (como las integridades referencial y de
dominio).
64
Seguridad
La seguridad en un sistema de información garantiza que los datos estén protegidos contra accesos no autorizados o
alteraciones malintencionadas. Esto implica el uso de tecnologías como el cifrado, la autenticación, y el control de acceso
para asegurar que solo los usuarios autorizados puedan acceder a la información pertinente.
65
Flexibilidad
Un sistema es flexible si puede adaptarse fácilmente a los cambios en los requisitos del negocio o en el entorno
tecnológico. Esto es crucial para mantener la relevancia y la utilidad del sistema a lo largo del tiempo. La flexibilidad puede
ser diseñada a través de una arquitectura modular y el uso de patrones de diseño que permitan cambios y adiciones sin
grandes revisiones del sistema.
66
Escalabilidad
La escalabilidad de un sistema se refiere a su capacidad para manejar un aumento en la carga de trabajo (como más datos
o más usuarios) sin que se degrade el rendimiento. Diseñar para la escalabilidad puede implicar el uso de sistemas
distribuidos, bases de datos que escalan horizontalmente, y técnicas de optimización de rendimiento.
67
Eficiencia
La eficiencia de un sistema aborda cómo utiliza los recursos para realizar sus tareas. Un sistema eficiente utiliza de
manera óptima el hardware y el software para minimizar los tiempos de respuesta y el uso de la CPU, la memoria y el
almacenamiento. Técnicas como el caché de datos, la indexación de bases de datos y algoritmos eficientes son cruciales
aquí.
68
Mantenibilidad
La mantenibilidad se refiere a la facilidad con la que un sistema puede ser corregido, adaptado o mejorado después de su
despliegue. Un sistema bien diseñado debe permitir modificaciones sin una gran inversión en tiempo o recursos. Esto
puede facilitarse mediante documentación clara, uso de código claro y modular, y adherencia a estándares de codificación
69
Usabilidad
Aunque la usabilidad es a menudo más enfocada en el diseño de interfaces, es una propiedad crítica para cualquier
sistema de información. Un sistema usable es aquel que es fácil de usar, comprensible y eficiente desde la perspectiva del
usuario final. Esto implica diseñar interfaces intuitivas y proporcionar la funcionalidad necesaria de manera accesible.
70
Confiabilidad
La confiabilidad de un sistema indica su capacidad para funcionar correctamente y sin fallos a lo largo del tiempo. Esto
incluye la habilidad de recuperarse de fallos y de manejar situaciones inesperadas sin perder datos ni funcionalidad.
Estrategias como la redundancia de datos, los sistemas de respaldo y los protocolos de recuperación ante desastres son
importantes aquí.
71
FASES DE UN SISTEMA DE DESARROLLO DE SOFTWARE
72
Fase 1: Identificación de los problemas, oportunidades
y objetivos
El analista se encarga de identificar correctamente los problemas, las oportunidades y
los objetivos.
El analista debe descubrir primero qué trata de hacer la empresa; después debe ser
capaz de determinar si alguno de los aspectos de las aplicaciones de los sistemas de
información puede ayudar a que la empresa logre sus objetivos al enfrentar problemas u
oportunidades específicos.
73
¿Quiénes se encuentran involucrados en la primera fase?
Las personas involucradas en la
primera fase son los usuarios, los
analistas y los administradores de
sistemas que coordinan el proyecto.
74
¿Cuáles son las actividades en la primer fase?
Las actividades consisten en:
- entrevistar a los encargados de la administración de los usuarios
- sintetizar el conocimiento obtenido
- estimar el alcance del proyecto y documentar los resultados
El resultado de esta fase es un informe de viabilidad, el cual contiene la definición de un
problema y sintetiza los objetivos.
Se propone y la empresa decide realizar un sistema o realizar una mejora.
75
Fase 2: Determinación de los requerimientos de
información del factor humano
El analista utilizará métodos interactivos como entrevistas, muestreos e investigación de
datos duros, además de los cuestionarios y los métodos discretos, como observar el
comportamiento de los encargados al tomar las decisiones y sus entornos de oficina, y los
métodos integrales como la creación de prototipos.
76
¿Qué examina el analista para hacer útil el sistema?
¿Cómo puede el sistema ofrecer un mejor apoyo para las tareas individuales que se deben llevar a
cabo? ¿Qué nuevas tareas habilita el nuevo sistema que los usuarios no podían realizar sin él? ¿Cómo
se puede crear el sistema de manera que extienda las capacidades de un usuario más allá de lo provisto
por el sistema anterior? ¿Cómo puede el analista crear un sistema gratificante para los trabajadores?
El desarrollo ágil es una metodología orientada a objetos (OOA) para el desarrollo de sistemas, en la
cual se incluye un método de desarrollo (junto con la generación de los requerimientos de información)
así como herramientas de software.
77
Preguntas
“¿Cuáles son las fortalezas y limitaciones físicas de
los usuarios?”, o dicho en otras palabras, “¿qué hay que hacer para que el sistema sea
perceptible, legible y seguro?”,
“¿cómo puede diseñarse el nuevo sistema para que sea fácil de usar, aprender y recordar?”,
“¿cómo puede el sistema ser agradable o incluso divertido de usar?”, “¿cómo puede el sistema
apoyar las tareas laborales individuales de un usuario y buscar nuevas formas de hacerlas más
productivas?”.
78
Fase 3: Análisis de las necesidades del sistema
Aquí se desarrolla una solución técnica para satisfacer los requisitos identificados en la fase de análisis. Se crea un diseño detallado que incluye la
arquitectura del sistema, los componentes individuales, las interfaces y los algoritmos.
79
Fase 4: Diseño del Sistema recomendado
Aquí se desarrolla una solución técnica para satisfacer los requisitos identificados en la fase de análisis. Se crea un diseño detallado
que incluye la arquitectura del sistema, los componentes individuales, las interfaces y los algoritmos.
Aqui encontramos el Diseño de Base de Datos
80
Fase 5: Desarrollo y documentación del Sistema
Durante esta fase, se escribe el código del software siguiendo el diseño establecido en la fase
anterior. Se utilizan diferentes metodologías de desarrollo, como programación estructurada,
programación orientada a objetos o desarrollo ágil.
Diseñar
Codificar
Modificar
81
Fase 6: Prueba y mantenimiento del sistema
En esta etapa, se realizan pruebas exhaustivas para verificar que el software cumple con los requisitos
especificados y funciona correctamente en diferentes escenarios. Se identifican y corrigen los errores encontrados
durante las pruebas.
Esta fase implica realizar actualizaciones y mejoras en el sistema para corregir errores, agregar nuevas
funcionalidades o adaptarse a cambios en el entorno empresarial. El mantenimiento del sistema puede incluir
actividades como el soporte técnico, la resolución de problemas y la optimización del rendimiento.
Todo el sistema debe probarse antes de ser utilizado, ya que el costo será menor al
costo del mantenimiento.
82
Fase 7: Implementación y evaluación del
sistema
Aquí se instala el software desarrollado en el entorno de producción y se
realiza la transición del sistema desde el desarrollo hasta el uso operativo. Se
proporciona capacitación a los usuarios finales y se establece un plan de
mantenimiento.
1.
Instalación del Software: Se instala el software desarrollado en los
servidores y equipos de los usuarios finales, siguiendo los procedimientos
y las especificaciones técnicas establecidas durante la fase de diseño del
sistema.
83
Fase 7: Implementación y evaluación del sistema
2 .- Configuración del Sistema: Se realizan ajustes y
configuraciones necesarias para adaptar el software a las
necesidades específicas del entorno de producción. Esto
puede incluir la configuración de parámetros de sistema, la
integración con otros sistemas existentes y la personalización
de la interfaz de usuario.
84
Fase 7: Implementación y evaluación del sistema
3- Transferencia de Datos: Se migran los datos relevantes desde
los sistemas anteriores al nuevo sistema, asegurando que la
información crítica esté disponible y correctamente estructurada
en el nuevo entorno.
85
Fase 7: Implementación y evaluación del sistema
4- Capacitación de Usuarios: Se proporciona capacitación a los
usuarios finales para familiarizarlos con el nuevo sistema,
enseñarles cómo utilizarlo de manera efectiva y asegurar una
adopción exitosa. Esto puede incluir sesiones de capacitación
presenciales, manuales de usuario y recursos de aprendizaje en
línea.
86
Fase 7: Implementación y evaluación del sistema
5- Pruebas de Aceptación del Usuario: Se realizan pruebas finales
con los usuarios finales para validar que el sistema cumple con sus
expectativas y requisitos. Se recopilan comentarios y sugerencias
para realizar ajustes finales si es necesario.
87
Fase 7: Implementación y evaluación del sistema
6- Planificación de la Transición: Se establece un plan detallado
para la transición del sistema desde el desarrollo hasta el uso
operativo, incluyendo la programación de la puesta en marcha,
la asignación de recursos y la coordinación de actividades entre
los diferentes equipos involucrados.
88
Fase 7: Implementación y evaluación del sistema
7 Evaluación del Despliegue: Se evalúa el proceso de implementación
para identificar lecciones aprendidas, áreas de mejora y posibles
problemas que puedan surgir durante la transición. Se realizan ajustes
según sea necesario para optimizar el despliegue del sistema.
89
FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
TECNICATURA UNIVERSITARIA EN DISEÑO INTEGRAL DE VIDEOJUEGOS
FACULTAD DE INGENIERÍA
Universidad Nacional de Jujuy
FASES EN RESOLUCION DE PROBLEMAS MEDIANTE
ALGORITMOS
Página 2
Mg. Ing. Ariel Alejandro Vega
ALGORITMO Y METODOLOGÍA DE LA PROGRAMACIÓN
Un algoritmo es un método para resolver un problema mediante una serie de pasos precisos,
definidos y finitos. Estas últimas tres palabras, son además las características de un algoritmo:
•Preciso: Indica el orden de realización de cada paso.
•Definido: Si se sigue dos veces, obtiene el mismo resultado cada vez.
•Finito: Tiene fin, un determinado número de pasos.
Un algoritmo debe producir un resultado en un tiempo finito. Los métodos que utilizan
algoritmos se denominan métodos algorítmicos, en oposición a los métodos que implican algún
juicio o interpretación que se denominan métodos heurísticos. Los métodos algorítmicos se
pueden implementar en computadoras; mientras que las técnicas de inteligencia artificial han
hecho posible la implementación del proceso heurístico en computadoras.
El programador es antes que nada una persona que resuelve problemas, por lo que para llegar
a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y
sistemático; esto es aplicar una Metodología de la Programación.
El eje central de esta metodología es el concepto de algoritmo. Así, la resolución de un
problema aplicando la metodología de programación exige el diseño de un algoritmo que
resuelva el problema propuesto. Esto lo puede observar en la figura 1:
Se observan todos los elementos de un problema representado como un sistema informático:
1.Los datos de entrada (situación problemática) y los datos de salida (la solución) son
elementos importantes para poder diseñar un algoritmo.
2.El DISEÑO DE UN ALGORITMO hace referencia a una secuencia ordenada de pasos – sin
ambigüedades – que conducen al desarrollo del proceso o estrategia. Así, el DISEÑO DEL
ALGORITMO incluye tanto la fase de Análisis del Problema como la fase de Diseño del
algoritmo. La fase del diseño del algoritmo tiene como objetivo crear un modelo del
programa que aún no ha sido codificado.
3.A partir del DISEÑO DEL ALGORITMO, se puede construir el programa, que se
corresponde con la fase de codificación o implementación del programa.
4.El programa, junto con la configuración del hardware y los documentos de desarrollo
constituyen el software del sistema informático. Así, en este paso, el sistema puede
ejecutarse, verificarse y depurarse, con lo cual se corresponde con la fase de Ejecución
de la resolución de problemas mediante algoritmos.
Situación Problemática
Solución
DISEÑO DEL
ALGORITMO
Programa
Hardware
Otros elementos
del software
SISTEMA
INFORMATICO
90
FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
TECNICATURA UNIVERSITARIA EN DISEÑO INTEGRAL DE VIDEOJUEGOS
FACULTAD DE INGENIERÍA
Universidad Nacional de Jujuy
FASES EN RESOLUCION DE PROBLEMAS MEDIANTE
ALGORITMOS
Página 3
Mg. Ing. Ariel Alejandro Vega
Entonces, la idea central de la Metodología de la Programación es que para llegar a la realización
de un programa es necesario el diseño previo de un algoritmo, de modo que sin algoritmo no
puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan
como de la computadora que los ejecuta.
En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y
ejecutarse en una computadora distinta; sin embargo, el algoritmo será siempre el mismo. Así,
por ejemplo, en una analogía con la vida diaria, una receta de un plato de cocina se puede
expresar en español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos para la
elaboración del plato se realizarán sin importar el idioma del cocinero.
En la ciencia de la computación y en la programación, los algoritmos son más importantes que
los lenguajes de programación o las computadoras.
Un lenguaje de programación es tan sólo un medio para expresar un algoritmo y una
computadora es sólo un procesador para ejecutarlo.
METODOLOGIA PROPUESTA PARA LA CREACIÓN DE UN ALGORITMO
Como se expresó anteriormente, el resultado de la aplicación de las dos primeras fases de la
resolución de problemas mediante algoritmos son los algoritmos que luego se programará. Por
tal motivo a continuación detallaremos y ejemplificaremos la forma en la que se desarrollarán
en la materia estas dos fases. Más adelante se actualizará
Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy importante
será el diseño de algoritmos. A la enseñanza y práctica de esta tarea se dedica gran parte de esta
materia.
ANÁLISIS DEL PROBLEMA
El análisis del problema involucra dos etapas: la definición de la situación problema y el análisis
propiamente dicho.
1.En la etapa de definición se específica el propósito del algoritmo y una definición clara
de lo que se desea resolver. Además, aquí se establece lo que se pretende lograr con su
solución.
2.En la etapa de análisis se determinan las características del problema en términos de
entradas y salidas. De igual manera, se realiza una investigación de los mecanismos que
se deben seguir para resolver el problema. Estos mecanismos se denominan procesos.
Si existen varios procesos que se podrían aplicar para resolver el problema, se determina
cual es el que se va a utilizar. Si no existen procesos, o si estos no satisfacen de manera
completa los requisitos para que la solución sea completa, se puede proponer procesos
nuevos.
En la figura 1, lo anterior se representa de manera esquemática.
Figura 1. Esquema de la Fase de Análisis del Problema
91
FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
TECNICATURA UNIVERSITARIA EN DISEÑO INTEGRAL DE VIDEOJUEGOS
FACULTAD DE INGENIERÍA
Universidad Nacional de Jujuy
FASES EN RESOLUCION DE PROBLEMAS MEDIANTE
ALGORITMOS
Página 4
Mg. Ing. Ariel Alejandro Vega
Ejemplo 1: Se solicita desarrollar una calculadora que permita sumar dos números
Definición del Problema: Desarrollar una calculadora que permita sumar dos números
Como puede observar, en este caso el enunciado del problema es también la definición del
problema. Se indica que cual es propósito (crear una calculadora). Además, se definió
claramente el problema (la calculadora debe poder sumar 2 números)
Análisis:
•Datos de Entrada: Dos números, a los cuales denominaremos número A y número B
•Proceso:
¿Quién debe realizar el proceso?: Una calculadora
¿Cuál es el proceso que realiza la calculadora?
suma = número A + número B.
Donde lo que se ha aplicado es una ecuación matemática que la calculadora
puede realizar. La variable dependiente suma almacena el resultado de sumar
al número A, el número B.
•Datos de Salida: suma
Consideraciones previas a la representación de un algoritmo
La variable
Como regla general los datos de entrada y los datos de salida constituyen variables, por tanto,
resulta conveniente describir este concepto.
Una variable es un contenedor para almacenar una información. Toda variable consta de:
•Un identificador: es el nombre de la variable. Este nombre debe ser único y no ambiguo.
•Un tipo de datos: tiene por objetivo determinar el rango de valores que puede
almacenar la variable. Como consecuencia de esto, el tipo de datos también indica el
conjunto de operaciones que se puede aplicar sobre los identificadores.
Existen diferentes tipos de datos. A continuación, se definirán un listado de los tipos de datos
más comunes, los cuales comúnmente son denominados “Tipos de Datos Simples”. Los tipos de
datos simples se caracterizan por estar presentes en los lenguajes de programación.
Tipos de Datos Simples
•Entero: representa un número entero. Por ejemplo 10
•Real o Flotante: representa un número real o coma flotante. Por ejemplo 10,5
•Carácter: Representa un carácter, por ejemplo ‘a’ o ‘c’.
•Cadena de caracteres o string: Representa un con conjunto de caracteres. Por ejemplo
“Programa”.
•Fecha: representa una fecha, generalmente en formato dd/MM/yy. Por ejemplo
11/08/21.
Nomenclatura del identificador
Se refiere al conjunto de reglas que se deben cumplir al momento de definir variables. Si bien
muchas reglas dependen del lenguaje de programación, existen reglas comunes.
Adicionalmente, con el objetivo de que el estudiante se acostumbre a la nomenclatura que se
92
FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
TECNICATURA UNIVERSITARIA EN DISEÑO INTEGRAL DE VIDEOJUEGOS
FACULTAD DE INGENIERÍA
Universidad Nacional de Jujuy
FASES EN RESOLUCION DE PROBLEMAS MEDIANTE
ALGORITMOS
Página 5
Mg. Ing. Ariel Alejandro Vega
usará en el lenguaje de programación elegido para la práctica de la materia se incluirán algunas
reglas específicas:
•El nombre del identificador es único y no ambiguo. Esto significa que no debe existir
otro identificador con el mismo nombre dentro del mismo ámbito de funcionamiento.
Además, este nombre debe interpretar claramente lo que representa, y de hecho no
debe lugar a doble interpretación. Por ejemplo, si una variable almacenará el promedio
de las notas, un identificador válido sería promedio, mientras que identificadores
incorrectos serían p o p1 (que no indican claramente que representan, o como se verá
luego están reservadas para representar otro tipo de información) o calculo, o
resultado_calculo (que no permiten identificar claramente el tipo de información que
almacenarán).
•Las variables no inician con un número
•Si el nombre está constituido por varias palabras estas se separarán indicando la
siguiente palabra en mayúscula. Por ejemplo, si queremos indicar la cantidad de vidas
que le queda a un personaje, podríamos indicarlo de la siguiente manera cantidadVidas.
•El nombre de la variable no debería ser extremadamente largo, ya que luego dificulta la
escritura y lectura de las operaciones en las que ellas intervienen.
•Se considera que variables con nombre i, j, k, indican variables enteras usadas para
índices; en tanto, las variables de nombre a, b y c, por lo general se utilizan para valores
numéricos reales (punto flotante); las variables llamadas p y q se emplean para
apuntadores; las variables llamadas n y m son variables que contienen valores de
tamaños de matrices.
•Las variables se escriben en minúscula. Por ejemplo, para expresar el puntaje acumulado
de un personaje en un juego se puede usar el identificador puntaje.
Refinando el Ejemplo 1:
Con el concepto de variable, redefiniremos la Fase de Análisis de Problema para este ejemplo.
Recuerde que este este problema se ha expresado de la siguiente manera:
Se solicita desarrollar una calculadora que permita sumar dos números
Definición del Problema: Desarrollar una calculadora que permita sumar dos números
Análisis:
•Datos de Entrada:
numeroA: Real
numeroB: Real
•Datos de Salida: suma
resultadoSuma: Real
•Proceso:
¿Quién debe realizar el proceso?: Una calculadora
¿Cuál es el proceso que realiza la calculadora?
resultadoSuma = numeroA + numeroB
Observe que la definición de una variable se expresa indicando el identificador de la variable,
seguido de dos puntos, un espacio y el tipo de datos.
93
FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
TECNICATURA UNIVERSITARIA EN DISEÑO INTEGRAL DE VIDEOJUEGOS
FACULTAD DE INGENIERÍA
Universidad Nacional de Jujuy
FASES EN RESOLUCION DE PROBLEMAS MEDIANTE
ALGORITMOS
Página 6
Mg. Ing. Ariel Alejandro Vega
DISEÑO DEL ALGORITMO
El objetivo de esta fase es formalizar el algoritmo que resuelve el problema. Existen diversas
variantes de escritura de un algoritmo dependiendo del autor. Algunos persiguen que el
algoritmo esté tan próximo a la forma de escritura del programa, de tal manera que sea casi
directa la trascripción al lenguaje de programación. Otros estilos buscan que sean lo
suficientemente general e independiente del lenguaje de programación.
En la cátedra vamos a adoptar este segundo enfoque, con el objetivo de no atarse a un lenguaje
de programación, pero debido a que vamos a utilizar el paradigma orientado a objetos, vamos
a ofrecer una representación desarrollada por el cuerpo docente para facilitar el pasaje hacia
ese paradigma. Por consiguiente, a continuación, se compartirá la estructura básica de un
algoritmo mediante su representación en el ejemplo 1:
ENTIDAD QUE RESUELVE EL PROBLEMA: Calculadora
VARIABLES
numeroA, numeroB: Real // almacenan los números a sumar
resultadoSuma: Real // almacena el resultado de la suma
NOMBRE ALGORITMO: sumar_numeros
PROCESO DEL ALGORITMO
1.Leer numeroA
2.Leer numeroB
3.resultadoSuma ← numeroA + numeroB // suma y asigna el resultado
4.Mostrar resultadoSuma
Donde la entidad que resuelve el problema es un sustantivo que representa a una cosa o persona
que se encarga de ejecutar el algoritmo.
En tanto la sección de variables se utiliza para definir cada una de las variables que intervienen
en el algoritmo que ejecuta la entidad. Aquí se expresan las variables de entrada, las variables
de salida y toda aquella variable que se necesite durante la ejecución del algoritmo.
Observe que se ha utilizado //, esto significa comentario de línea. Todo aquello que se ubique a
la derecha de este comentario no se ejecutará, sirve solamente para clarificar las instrucciones
del algoritmo.
Finalmente, en la tercera sección se describen uno o más algoritmos que la entidad puede
realizar. A cada uno de ellos se les debe brindar un nombre representativo del proceso realizará.
En este caso dado que el proceso sumará dos números, se ha utilizado el nombre
sumar_números. Observe que inicia con un verbo para indicar acción, y se separan las
palabras con un _.
En los algoritmos existen un conjunto de palabras clave reservadas, que son escritas en cursiva.
Generalmente representan instrucciones predefinidas o primitivas.
Las primitivas que más van a usar al diseñar algoritmos son Leer y Escribir. La primera permite
señalar que una variable va a almacenar un valor que es indicado por el usuario. La segunda
indica que se va a mostrar el valor de una variable.
El operador de asignación (←) sirve para indicar que el resultado de una operación o proceso se
almacenará en una variable.
94
FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
TECNICATURA UNIVERSITARIA EN DISEÑO INTEGRAL DE VIDEOJUEGOS
FACULTAD DE INGENIERÍA
Universidad Nacional de Jujuy
FASES EN RESOLUCION DE PROBLEMAS MEDIANTE
ALGORITMOS
Página 7
Mg. Ing. Ariel Alejandro Vega
Con toda la información anterior vamos a transcribir el significado del algoritmo del ejercicio 1.
Supongamos que se desea sumar los valores 5 y 4:
a)Si se necesita sumar dos números se lo deberemos pedir a la entidad CALCULADORA.
b)Para que CALCULADORA sume dos números se debe invocar el algoritmo
sumar_numeros.
c)En el paso 1 del proceso del algoritmo, se lee un valor que se asigna a la variable
numeroA. Aquí es donde se ingresa el valor 5, por lo cual numeroA = 5.
d)En el paso 2 se lee un valor que se asigna a la variable numeroB. Aquí es donde se ingresa
el valor 4, por lo cual numeroB = 4.
e)En el paso 3 se realiza la operación suma (numeroA + numeroB). Como numeroA
almacena el valor 5 y numeroB almacena el valor 4, la operación realiza lo siguiente: 5 +
4. A continuación en el mismo paso el resultado de la operación (5 + 4 = 9) se asigna a
la variable resultadoSuma debido al uso del operador de asignación (←). A partir de ese
momento resultadoSuma contiene el valor 9. Observe que el operador de asignación se
aplica de derecha a izquierda.
f)En el paso 4 se muestra el valor de resultadoSuma como consecuencia de aplicar la
primitiva Mostrar.
Existen otras primitivas importantes que se irán incorporando a medida que la complejidad del
algoritmo lo requiera.
CONCUSION
Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy importante
será el diseño de algoritmos. A la enseñanza y práctica de esta tarea se dedica gran parte de esta
materia.
El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos profundos de la
técnica de la programación. En esencia, la solución de un problema se puede expresar mediante
un algoritmo.
Finalmente, los algoritmos se pueden representar de diferentes maneras: diagrama de flujos,
ecuaciones, pseudocódigo, etc. En la asignatura, veremos una representación conveniente al
tipo de programación que se estudiará: La programación orientada a objetos. Para el
desarrollador inicial se recomienda seguir estos pasos ya que le permitirán aplicar las técnicas
de abstracción y desarrollo de algoritmos (comprobado científicamente), mientras que para los
desarrolladores avanzados, les permitirá ser ordenados en el desarrollo de aplicaciones. En
ambos casos la idea central es que el desarrollador se tome el tiempo conveniente para analizar
y diseñar una solución antes de ir directamente a codificarlas, lo cual en general conduce a
codificaciones que pueden poseer grandes inconvenientes.
BIBLIOGRAFIA
Fundamentos de Programación: Algoritmos, estructuras de datos y objetos. Cuarta edición. Luis
Goyanes Aguilar. ISBN: 978-84-481-6111-8
FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A OBJETOS
TECNICATURA UNIVERSITARIA EN DISEÑO INTEGRAL DE VIDEOJUEGOS
FACULTAD DE INGENIERÍA
Universidad Nacional de Jujuy
FASES EN RESOLUCION DE PROBLEMAS MEDIANTE
ALGORITMOS
Página 1
Mg. Ing. Ariel Alejandro Vega
INTRODUCCIÓN
El proceso de resolución de un problema con una computadora conduce a la escritura de un
programa y a su ejecución en la misma. Aunque el proceso de diseñar programas es,
esencialmente, un proceso creativo, se puede considerar una serie de fases o pasos comunes,
que generalmente deben seguir todos los programadores
En esta sección trataremos brevemente estas fases y conceptualizaremos el concepto de
algoritmo y sus características.
FASES EN LA RESOLUCIÓN DE PROBLEMAS CON COMPUTADORA
Las fases de resolución de un problema con computadora son:
•Análisis del problema.
•Diseño del algoritmo.
•Codificación.
•Compilación y ejecución.
•Verificación.
•Depuración.
•Mantenimiento.
•Documentación.
Las características más sobresalientes de la resolución de problemas son:
1.Análisis. El problema se analiza teniendo presente la especificación de los requisitos
dados por el cliente de la empresa o por la persona que encarga el programa.
2.Diseño. Una vez analizado el problema, se diseña una solución que conducirá a un
algoritmo que resuelva el problema.
3.Codificación (implementación). La solución se escribe en la sintaxis del lenguaje de alto
nivel (por ejemplo, Java, C#, Processing, et) y se obtiene un/os archivos que representan
el programa y que se denomina genéricamente código fuente que se traducirán al
lenguaje de las computadoras en la siguiente fase.
4.Ejecución, verificación y depuración. El programa se ejecuta, se comprueba
rigurosamente y se eliminan todos los errores (denominados “bugs”, en inglés) que
puedan aparecer.
5.Mantenimiento. El programa se actualiza y modifica, cada vez que sea necesario, de
modo que se cumplan todas las necesidades de cambio de sus usuarios.
6.Documentación. Escritura de las diferentes fases del ciclo de vida del software,
esencialmente el análisis, diseño y codificación, unidos a manuales de usuario y de
referencia, así como normas para el mantenimiento.
Las dos primeras fases conducen a un diseño detallado escrito en forma de algoritmo. Durante
la tercera fase (codificación) se implementa1 el algoritmo en un código escrito en un lenguaje de
programación, reflejando las ideas desarrolladas en las fases de análisis y diseño.
Las fases de compilación y ejecución traducen y ejecutan el programa. En las fases de verificación
y depuración el programador busca errores de las etapas anteriores y los elimina. Comprobará
que mientras más tiempo se gaste en la fase de análisis y diseño, menos se gastará en la
depuración del programa. Por último, se debe realizar la documentación del programa.
1 Implementar: poner funcionamiento, aplicar métodos, medidas, etc para llevar a cabo algo
Show answer
Auto Play
Slide 1 / 94
SLIDE
Similar Resources on Wayground
87 questions
Repaso_evaluacion de instituciones
Lesson
•
University
85 questions
Histoire urbaine et architecturale
Lesson
•
University
90 questions
DP ESS Topic 7.1: Natural resources - uses and management
Lesson
•
12th Grade
88 questions
Subject Training 2
Lesson
•
KG - University
90 questions
Monitoria Histologia
Lesson
•
University
81 questions
Ejercicios cinética y Observable
Lesson
•
University
89 questions
Les associations et autres organismes à but non lucratif
Lesson
•
University
91 questions
Leçon 14
Lesson
•
University
Popular Resources on Wayground
10 questions
5.P.1.3 Distance/Time Graphs
Quiz
•
5th Grade
10 questions
Fire Drill
Quiz
•
2nd - 5th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
15 questions
Hargrett House Quiz: Community & Service
Quiz
•
5th Grade
20 questions
Main Idea and Details
Quiz
•
5th Grade
20 questions
Context Clues
Quiz
•
6th Grade
20 questions
Inferences
Quiz
•
4th Grade
15 questions
Equivalent Fractions
Quiz
•
4th Grade
Discover more resources for Computers
18 questions
Informative or Argumentative essay
Quiz
•
5th Grade - University
20 questions
Disney Trivia
Quiz
•
University
20 questions
8.II_Review_TEACHER
Quiz
•
University
39 questions
Unit 7 Key Terms
Quiz
•
11th Grade - University
20 questions
Subject verb agreement practice
Quiz
•
University
20 questions
Quadrilaterals
Quiz
•
KG - University
5 questions
Examining Theme
Interactive video
•
4th Grade - University
25 questions
WWI, Great Depression, WWII
Quiz
•
KG - University