Instituto Tecnológico De Nuevo Laredo

Módulo: Cultura Empresarial

Profesor:
Lic. Jorge Peña Rodríguez

Nuevo Laredo Tamps

martes, 1 de noviembre de 2011

Conocimientos Básicos de la Carrera

Alumno: 
Librado Eleazar Solís Montoya
Como se desarrolla un sistema
Planificación y estimaciones: en esta etapa se planifican las actividades, se asignan los tiempos, los requerimientos de recursos humanos, físicos y se estima el presupuesto de cada etapa así como el presupuesto total del proyecto
Análisis de los requisitos: aquí se descompone el problema que se pretende modelar en sus detalles, determinando que es lo que se requiere que haga el sistema
Diseño: en esta etapa se crea el modelo y el diseño lógico con todas las entradas, salidas y procesos que debe ejecutar el sistema
Codificación: el diseño creado en la etapa anterior se materializa escribiendo en lenguaje de programación las instrucciones para llevar a cabo cada una de los módulos según las especificaciones del diseño lógico
Prueba: la etapa de prueba es simultánea a la de codificación a nivel de detalle pero también posterior, cuando se ensamblan los módulos. Finalmente cuando se entrega todo el sistema para producción comienza una tercera fase de la etapa de prueba que es para todo el sistema bajo condiciones reales.
Mantenimiento: en esta etapa se agregan nuevos módulos, se modifican o se quitan según vayan cambiando los requerimientos del sistema, se ejecutan programas de respaldo de datos y sistema, etc.
Concepto de Calidad de Software

La calidad de un software tiene que ver con la percepción subjetiva acerca de su desempeño, robustez, prestaciones, etc. y se percibe en dos niveles:

Nivel Externo, es como perciben el software los usuarios del sistema
Nivel Interno, es como perciben el software los profesionales de la computación
En el nivel externo, la percepción de calidad suele variar mucho según las expectativas de los usuarios algunas de estas son objetivas como:
Corrección: cuando el sistema ejecuta sin errores todas sus funciones, tal como han sido especificadas en el diseño.
Robustez: cuando el sistema no se cae en condiciones excepcionales o anormales
Modificabilidad: la capacidad para adaptarse al cambio en sus especificaciones
Compatibilidad: capacidad para acoplarse y trabajar en conjunto con otros sistemas
Ergonomía: capacidad para hacer las tareas con la mayor facilidad para el operador, evitando la duplicación de entrada de datos, el paso innecesario por varias etapas para hacer una tarea, etc.
Integridad: capacidad para protegerse contra accesos no autorizados, robo de información, modificación maliciosa, etc.
Facilidad de uso: aprendizaje sencillo, operación sencilla, reportes de calidad
Sin embargo existen otros criterios de percepción de calidad por parte de los usuarios que, sin ser tan objetivos, son los que causan los mayores conflictos:
Disconformidad con el diseño del sistema: pese a que el diseño se construye en base a encuestas y estudio de las necesidades de los usuarios, este no es siempre 100% funcional a sus intereses porque existen muchos otros criterios que el diseño debe considerar, por ejemplo al mejorar la seguridad y los controles normalmente se perjudica la ergonomía, los jefes pueden haber introducido requisitos adicionales al sistema para prestaciones y trabajos que antes no se efectuaban, el sistema puede ser menos robusto ante el ingreso equivocado de datos, etc. En general los usuarios siempre comparan el nuevo sistema con el antiguo y distintos usuarios tienen distintas prioridades, por lo que no existe un sistema que pueda dejar a todos conformes por igual, los operadores desearan hacer lo mismo con menos trabajo, los clientes desearán tener prestaciones adicionales, los jefes más control y seguridad, etc. todos esos requerimientos están frecuentemente en conflicto por lo que no es raro que la percepción de calidad difiera para los diferentes usuarios.
Aversión al cambio: operadores y usuario están acostumbrados al sistema antiguo y se molestan al tener que cambiar sus métodos de operación y aprender otros nuevos.
Falsos errores de sistema: producidos por errores de operación durante la curva de aprendizaje, durante el período de prueba en explotación suelen producirse fuertes tensiones y recriminaciones mutuas entre operadores y el equipo de desarrollo por esta causa 
En el nivel interno algunos de los principales factores de calidad son:

Seguridad: es la capacidad de protección del sistema ante ataques intencionados o negligencias para mantener la integridad y confidencialidad de los datos
Robustez: es la capacidad de continuar funcionando correctamente en circunstancias adversas tales como flujos anormalmente grandes, errores de operación, etc.
Modularidad: que es la capacidad de cada componente del programa de funcionar de manera independiente, posibilitando el reemplazo, reutilización, etc. sin tener que afectar al sistema completo
Legibilidad: el código debe estar escrito de manera clara y tan auto documentado como sea posible en cada uno de sus módulos de manera que cualquiera lo pueda entender, mantener, reparar, etc.
Ciclo de vida del software

El ciclo de vida son las etapas por las que pasa un sistema desde su concepción hasta su explotación en régimen. Existen varios modelos de los cuales revisaremos tres:

Clasico
El ciclo de vida clásico consiste en el desarrollo secuencial en una serie de pasos, cada paso genera las entradas y la documentación para el siguiente:

Entrevistas
Especificaciones de casos de uso
Diseño lógico
Diseño Físico
Casos de Prueba
Documentación
Producción

Este ciclo de vida todavía se ocupa para el desarrollo de sistemas pequeños por su simplicidad, pero en la mayoría de los sistemas se usa una variante llamada
Ciclo Clásico en Cascada
En este caso también se recoge información, se hacen especificaciones de diseño, se hace un diseño lógico y finalmente se codifica, la diferencia es que el flujo no es secuencial sino que las correcciones afectan no solo a la etapa inmediatamente anterior sino a todas las etapas. Al crecer los sistemas aparecen una serie de inconvenientes en el desarrollo en cascada, como:

    * Es difícil imaginar de antemano los requerimientos de las etapas que siguen
    * Muchos problemas no siguen un flujo secuencial
    * Los errores se detectan solo cuando se pone a prueba todo el sistema

Ciclo de vida por prototipado
Los prototipos son versiones iniciales de un producto o un módulo, que permiten que el cliente y el futuro operador vean como se va a comportar, den sus impresiones y críticas, ayudan a establecer las necesidades reales del cliente quien muchas veces no las tiene claras al momento de ser entrevistado.
 
CASOS PRACTICOS

Apagón del 2003 en EEUU

Los técnicos de equipos informáticos lo pasan realmente mal cuando tienen que instalar una nueva versión de un programa en sus máquinas, y lo cierto es que el tiempo nos dice que se preocupan con razón.
Un ejemplo claro fue el del software de control de las centrales de distribución de energía eléctrica de los EEUU. Un fallo en el nuevo software de control, que, si se colgaba, enviaba una señal al resto de centrales para que pudieran reaccionar. El problema era que esta señal hacía que las máquinas que la recibían se colgaran y reiniciaran, enviando a su vez el fatídico mensaje a cada vez más centrales de distribución.
El resultado fue que se bloquearon más de 100 plantas eléctricas y más de 50 millones de hogares estuvieron sin electricidad hasta que se detectó el error. ¿La solución? Instalar la versión anterior del programa.

Acelerador médico Therac 25

¿Qué pasa cuando se le pide a un programador sin experiencia previa y poco tiempo que diseñe un sistema operativo para un aparato médico potencialmente letal? Que pueden haber fallos, y que esos fallos pueden costar vidas.
El Therac 25 era un acelerador de uso dual: podía emitir electrones de baja intensidad (partículas beta) o un haz de rayos X. Estos se conseguían mediante el impacto de electrones de alta energía en una placa metálica que se situaba entre el emisor y el paciente.
El problema residía en que, a causa de un error de programación, se podía dar el caso de que se enviase la orden de disparar el haz de electrones de alta energía y la de situar la placa metálica simultáneamente, disparando las partículas antes de que la placa metálica estuviera en posición, exponiendo al paciente a una dosis letal de radiación.
Resultado: cinco muertos entre 1985 y 1987.
Generador de claves Kerberos

Los responsables del programa generador de claves de seguridad Kerberos seguramente tuvieron mucho que explicar cuando, después de haberse convertido en la base de muchos sistemas de seguridad informática, se descubrió que la "semilla aleatoria" que utilizaba no era tan aleatoria.
Lo que puede parecer algo trivial oculta una realidad terrorífica: cualquiera con mínimos conocimientos de criptografía podía entrar en un sistema protegido con Kerberos. Se desconoce el alcance real de este fallo, ya que cualquier compañía que estuviera protegida con este sistema se cuidaría mucho de decirlo.

CHISTES
·         Vas en un ascensor, y contigo va Bill Gates, George Bush, y Sadam Hussein. Tienes una pistola, pero solo dos balas. Como lo resuelves. Pegándole dos tiros a Bill gates, para estar seguros.

·         ¿Cuantos técnicos de Microsoft hacen falta para cambiar una bombilla?

Ninguno, es un problema de Hardware.

·         Van tres amigos en un coche (un físico, un matemático y un informático)y se le para el coche:
Dice el conductor que era el físico:
-El problema viene claramente dado por el momento de inercia que tienen los cilindros ya que es menor que la resultante de la fuerza del empuje.....
-¡Que no! -dice el matemático- Que el problema viene dado por la matriz de la rotación de las ruedas
-¿y porque no salimos y volvemos a entrar?-dice el informático-


Glosario
·         Módulo: m. Pieza o conjunto unitario de piezas que se repiten en una construcción de cualquier tipo, para hacerla más fácil, regular y económica.

·         Codificación: tr. Hacer o formar un cuerpo de leyes metódico y sistemático.

·         Prestaciones: pl.  Servicios, comodidades que ofrece algo.

·         Recriminaciones: tr. Responder a cargos o acusaciones con otros u otras.

·         Fatídico: adj. Aciago, que es origen de pesares o de ruina.

·         Electrón: Fís. Partícula elemental más ligera que forma parte de los átomos y que contiene la mínima carga posible de electricidad negativa.
 

Conclusión

Después de analizar este documento, que es prueba evidente de los conocimientos necesarios para ejercer la Ingeniería en Sistemas Computacionales es fácil determinar que la serie de conocimientos son bastantes complejos y se basan en una gran capacidad de análisis lógico, así como conocimientos excepcionales en áreas como la computación y la tecnología en general.
Además nos damos cuenta de que es una carrera de amplio impacto, la cual abarca áreas importantes en casi todos los ámbitos de la vida diaria; y de no ser ejercida correctamente puede desencadenar graves consecuencias para las personas que dependen de la áreas en la que se utiliza.
Es necesario tener pasión por el conocimiento y la innovación si se desea ser Ing. En Sistemas Computacionales, pues son parte de las aptitudes requeridas para ser capaces de trabajar día a día con objetivos claros y metas bien definidas.

No hay comentarios:

Publicar un comentario