UNIDAD I IMPLANTACIÓN DE SISTEMAS
La implantación es un proceso, que tiene relación con la gestión del cambio y es crucial
para que los usuarios comiencen a apropiarse del sistema. La implantación debe romper
hábitos y costumbres culturales, intervenir en la pereza de aquellos que no quieren darse la
molestia de aprender o cambiar la forma antigua de interactuar.
¿Qué es la Implantación de un Sistema?
La implantación es parte de la implementación, pero no son lo mismo.
La implantación es un proceso especial de inserción del sistema en la institución, el cual
debe ocurrir en el primer periodo por parte de sus potenciales usuarios. No obstante que la
herramienta adquirida o desarrollada es robusta y probada, no es suficiente para su
inserción en la organización, pues requiere ser utilizada.
Metodología
Una definición tradicional para este término es la siguiente “Establecer y poner en
ejecución nuevas doctrinas, instituciones, prácticas o costumbres”. Llevada a la carrera de
ingeniería de sistemas, implantar es la última fase de elaborar un sistema, el resultado de
estudiar una situación y en función a ella elaborar un sistema para dar solución, o mejorar
dicha situación y llevarla a cabo.
Metodología Experta
Considera que la Gestión de proyectos se basa en tres elementos:
a) Alcance (funcionalidad)
b) Tiempo (plazo de ejecución)
c) Recursos (presupuesto)
Para la implantación a través de la metodología Experta, se consideran las siguientes
etapas:
1. Implantación del ERP básico (núcleo tradicional y básico).
2. Integración de la cadena de suministro (compras a proveedores y pedidos a clientes).
3. Integración corporativa de sistemas.
Metodología de estrategia
La metodología de estrategias tiene su base en el establecimiento de parámetros básicos
que permiten poponer un límite a los objetivos de la implantación.
Fases
Consultoría y análisis: Lo primero que necesitas es identificar qué necesitas. Y eso
no es tarea fácil. Las empresas suelen combinar distintos procesos de importancia
que deben funcionar como la seda, y resulta muy útil preguntar a cada departamento
cuáles son sus necesidades, en qué pierden más tiempo… En definitiva, escuchar a
quienes desarrollan el día a día empresarial para mejorar su experiencia y, con ella,
la eficiencia de la empresa.
Gestión de procesos: La siguiente fase es bastante más práctica, pero se trata de un
punto en el que la mayor parte del trabajo viene de la mano del equipo informático.
En esta etapa, los técnicos de la empresa proveedora se pondrán a trabajar para
evaluar cuáles son los productos y servicios que más se adecúan a las necesidades de
tu empresa, buscando siempre la mejor relación calidad-precio para que el
presupuesto definido se traduzca en una mejora lo más cercana a la meta final
posible.
Implantación y formación: Una vez aceptado el proyecto, toca ponerse a trabajar en
la implantación. La clave está en introducir las nuevas soluciones en un plazo rápido
de tiempo y ajustando en todo momento lo que sea necesario, probando las
soluciones y comprobando la satisfacción del cliente. Hardware, software,
instalación, preparación para que todo quede operativo… Todo ello indicando al
cliente cómo utilizar su nuevo equipo.
Soporte y mantenimiento: La última fase –no menos importante- es la de soporte y
mantenimiento. Se trata de que tu proveedor informático mantenga una relación ‘en
la sombra’ pero constante que consiste precisamente en implantar mejoras y llevar a
cabo un seguimiento del funcionamiento de las soluciones contratadas. Además, te
atenderán en caso de que existan incidencias y se encargarán de solucionarlas.
¿Qué son los métodos de implantación de sistemas?
Las metodologías de implementación se refieren a un conjunto de procedimientos
racionales, los mismos que deben ser seguidos para alcanzar una serie de objetivos que
rigen ya sea una investigación científica, una exposición doctrinal o en sí tareas que
requieren de habilidades conocimientos o cuidados específicos.
Uso de herramientas para la planificación y control de proyectos.
Entre las herramientas para la planificación de la calidad con las que pueden contar los
directores de proyecto se encuentran las siguientes:
RCA (Root Cause Analysis).
Diagrama de Ishikawa.
Diagramas de Flujo.
Check Lists.
Histogramas.
Pareto.
Diagramas de control.
Diagramas de dispersión.
Diseño de programas
Es el proceso por el que un agente crea una especificación de un artefacto de software,
pensado para cumplir unos objetivos, utilizando un conjunto de componentes primitivos y
sujeto a restricciones.1 El diseño de software se puede referir a "toda la actividad en
conceptualizar, enmarcar, implementar, poner en funcionamiento y, finalmente, modificar
sistemas complejos" o "la actividad que sigue a la especificación de requisitos y precede a
la programación, como en un proceso de ingeniería de software estilizado.
Diseño y construcción de Pruebas
Es un ciclo repetitivo de resolución de problemas en el proceso de desarrollo del nuevo
producto. Genera información sobre la conexión entre parámetros de diseño específicos y
atributos del cliente. En la fase de diseño, un equipo de desarrollo de productos enmarca el
problema, establece objetivos para el proceso de resolución de problemas y genera
alternativas para explorar las relaciones entre los parámetros de diseño y los atributos
específicos de los clientes. En la fase de Construcción, el equipo de desarrollo construye
modelos de trabajo de diseños alternativos y los prueba. En la fase inicial de construcción,
el equipo puede construir modelos que utilicen diseño asistido por computadora (CAD) con
plástico, arcilla o materiales blandos. En la etapa posterior de Construcción, el equipo de
desarrollo construye prototipos que están cerca del producto real. La fase de prueba
consiste en probar modelos de trabajo, prototipos o imágenes generadas por computadora.
En algunos casos, las pruebas incluyen la evaluación del sistema a gran escala. El modelado
rápido y la creación de prototipos permiten un proceso de desarrollo de nuevos productos
más flexible y con mejor respuesta. Por ejemplo, en la industria de los videojuegos, el
diseñador de juegos Mark Cerny defiende la creación y prueba de al menos cuatro
prototipos de un juego en el proceso de desarrollo durante la fase de pre-producción. Según
Cerny, esta práctica permite que los artistas, ingenieros de audio y programadores trabajen
rápidamente sin preocuparse por depurar el sistema.
Elaboración de documentación
1.- Procedimiento para el Control de los documentos: aquí se ofrece el detalle de los
requerimientos y reglas a seguir para realizar la redacción de los diferentes documentos y
registros que son necesarios para el Sistema de Gestión de la Calidad de la organización, así
como las reglas relativas al procedimiento de aprobación de los mismos, su distribución y
su actualización.
2.- Política de Calidad: mediante este documento, tratamos de plasmar el marco a seguir
por la organización para la etapa de establecimiento y revisión de sus objetivos en materia
de calidad.
3.- Objetivos de Calidad: documento para la valoración de los objetivos definidos por la
organización, así como, el plan a seguir para llevarlos a cabo.
UNIDAD II CONSTRUCIÓN DE PROGRAMAS
Cuando nos piden que hagamos un programa debemos seguir una cierta cantidad de
pasos para asegurarnos de que tendremos éxito en la tarea. La acción irreflexiva (me piden
algo, me siento frente a la computadora y escribo rápidamente y sin pensarlo lo que me
parece que es la solución) no constituye una actitud profesional (e ingenieril) de resolución
de problemas. Toda construcción tiene que seguir una metodología, un protocolo de
desarrollo, dado.
Existen muchas metodologías para construir programas, pero en este taller aplicaremos
una metodología sencilla, que es adecuada para la construcción de programas pequeños, y
que se puede resumir en los siguientes pasos:
1. Analizar el problema. Entender profundamente cuál es el problema que se trata de
resolver, incluyendo el contexto en el cual se usará.
Una vez analizado el problema, asentar el análisis por escrito.
2. Especificar la solución. éste es el punto en el cual se describe qué debe hacer el
programa, sin importar el cómo. En el caso de los problemas sencillos que abordaremos,
deberemos decidir cuáles son los datos de entrada que se nos proveen, cuáles son las salidas
que debemos producir, y cuál es la relación entre todos ellos.
Al especificar el problema a resolver, documentar la especificación por escrito.
3. Diseñar la solución. éste es el punto en el cuál atacamos el cómo vamos a resolver el
problema, cuáles son los algoritmos y las estructuras de datos que usaremos. Analizamos
posibles variantes, y las decisiones las tomamos usando como dato de la realidad el
contexto en el que se aplicará la solución, y los costos asociados a cada diseño.
Luego de diseñar la solución, asentar por escrito el diseño, asegurándonos de que esté
completo.
4. Implementar el diseño. Traducir a un lenguaje de programación (en nuestro caso, y
por el momento, Python) el diseño que elegimos en el punto anterior.
La implementación también se debe documentar, con comentarios dentro y fuera del
código, al respecto de qué hace el programa, cómo lo hace y por qué lo hace de esa forma.
5. Probar el programa. Diseñar un conjunto de pruebas para probar cada una de sus
partes por separado, y también la correcta integración entre ellas. Utilizar el depurador
como instrumento para descubir dónde se producen ciertos errores.
Al ejecutar las pruebas, documentar los resultados obtenidos.
6. Mantener el programa. Realizar los cambios en respuesta a nuevas demandas.
Cuando se realicen cambios, es necesario documentar el análisis, la especificación, el
diseño, la implementación y las pruebas que surjan para llevar estos cambios a cabo.
Codificación de programas
Es el proceso de usar lenguajes de programación para dar instrucciones a una
computadora. Estas instrucciones impulsan los sitios web, el software y las aplicaciones
que la gente usa todos los días.
Programación estructurada
La programación estructurada es una teoría orientada a mejorar la claridad, calidad y
tiempo de desarrollo utilizando únicamente subrutinas o funciones. Basada en el teorema
del programa estructurado propuesto por Böhm y Jacopini, ha permitido desarrollar
software de fácil comprensión.
Es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de
desarrollo de un programa de computadora recurriendo únicamente a subrutinas y a tres
estructuras de control básicas: secuencia, selección (if y switch) e iteración (bucles for y
while); asimismo, se considera innecesario y contraproducente el uso de la transferencia
incondicional (GOTO); esta instrucción suele acabar generando el llamado código
espagueti, mucho más difícil de seguir y de mantener, además de originar numerosos
errores de programación.
Surgió en la década de 1960, particularmente del trabajo de Böhm y Jacopini,1 y un
famoso escrito de 1968: «La sentencia goto, considerada perjudicial», de Edsger Dijkstra.2
Sus postulados se verían reforzados, a nivel teórico, por el teorema del programa
estructurado y, a nivel práctico, por la aparición de lenguajes como ALGOL, dotado de
estructuras de control consistentes y bien formadas.
Estilos de programación ejemplos
Un ámbito conocido por muchos en lo relacionado con la tecnología son los lenguajes
de programación. Ellos son los encargados de hacer funcionar lo que conocemos como
páginas web, apps, softwares y otros elementos que hoy facilitan nuestro día a día.
Lenguaje máquina: Es el más primitivo de los códigos y se basa en la numeración
binaria, todo en 0 y 1. Este lenguaje es utilizado directamente por máquinas o
computadora.
Lenguajes de programación de bajo nivel: Es un lenguaje un poco más fácil de
interpretar, pero puede variar de acuerdo a la máquina o computadora que se esté
programando.
Lenguajes de programación de alto nivel: En esta categoría se encuentran los más
utilizados. Se usan palabras del inglés lo cual facilita que una persona pueda
intervenir más fácil que en los dos anteriores.
Según su generación y orden cronológico, los lenguajes de programación de alto nivel
se clasifican en:
- Primera generación: el lenguaje máquina y el ensamblador.
- Segunda generación: aquí encontramos los primeros lenguajes de programación de
alto nivel, ejemplos de ellos son FORTRAN, COBOL.
- Tercera generación: en esta generación encontramos los lenguajes de programación
de alto nivel imperativo, pero mucho más utilizados y vigentes en la actualidad
(ALGOL 8, PL/I, PASCAL, MODULA).
- Cuarta generación: más cercanos a la época actual, es común encontrarlos en
aplicaciones de gestión y manejo de bases de datos (NATURAL, SQL).
- Quinta generación: estos son los más avanzados y fueron pensado para la
inteligencia artificial y para el procesamiento de lenguajes naturales (LISP,
PROLOG).