Sistemas Operativos y Desarrollo de Software: Conceptos y Metodologías

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 19,34 KB

¿Qué es un Sistema Operativo?

Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos hardware y el usuario.

Clasificación de los Sistemas Operativos

  • Multiusuario: Permite que dos o más usuarios utilicen sus programas al mismo tiempo. Algunos sistemas operativos permiten a centenares o millares de usuarios al mismo tiempo.
  • Multiprocesador: Soporta el abrir un mismo programa en más de una CPU.
  • Multitarea: Permite que varios programas se ejecuten al mismo tiempo.
  • Multitramo: Permite que diversas partes de un solo programa funcionen al mismo tiempo.
  • Tiempo Real: Responde a las entradas inmediatamente.

Lenguajes de Programación

Un lenguaje de programación es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora.

¿Qué Lenguaje de Programación Elegir?

Depende del tipo de programas que queremos realizar, la plataforma para la cual queremos que sirvan nuestros programas, e incluso, siendo poco objetivos, también entra el gusto por un lenguaje en específico o por la compañía detrás del lenguaje.

El paradigma de programación más utilizado es la Programación Orientada a Objetos (POO), que es soportado por varios lenguajes de programación como Java y C#.

Lenguajes populares actualmente son Java y C#, así como Python, PHP y ASP (para desarrollo web).

Pasos para la Elaboración de un Programa

1. Especificación del Programa

  • a. Determinación de objetivos del programa.
  • b. Determinación de la salida deseada.
  • c. Determinación de los datos de entrada.
  • d. Determinación de los requerimientos de procesamiento.
  • e. Documentación de las especificaciones del programa.

2. Diseño del Programa

Consiste en diseñar cualquier sistema nuevo o las aplicaciones que se requieren para satisfacer las necesidades. Esta actividad se debe dividir en:

  • Operaciones de entrada/salida
  • Cálculos
  • Lógica/comparación
  • Almacenamiento/consulta

3. Codificación del Programa

Es la generación real del programa con un lenguaje de programación. En esta etapa se hace uso de la lógica que se desarrolló en el paso del diseño del programa para efectivamente generar un programa. Se debe seleccionar el lenguaje apropiado para resolver el problema.

4. Prueba y Depuración del Programa

Cuando los programas se depuran, se pueden encontrar los siguientes errores:

  • a) Errores de sintaxis o de compilación
  • b) Errores de ejecución
  • c) Errores de lógica
  • d) Errores de especificación

a) Errores de sintaxis o de compilación: Es una violación de las reglas del lenguaje de programación. Son más fáciles de corregir, ya que son detectados por el compilador (posible error de escritura).

b) Errores de Ejecución: Se deben generalmente a operaciones no permitidas como dividir por cero, leer un dato no numérico en una variable numérica, exceder un rango de valores permitidos, etc. Se detectan porque se produce una parada anormal del programa durante su ejecución.

c) Errores de Lógica: Corresponden a la obtención de resultados que no son correctos y la única manera de detectarlos es realizando suficientes pruebas del programa.

d) Errores de Especificación: Es el peor tipo de error y el más difícil de corregir.

Prueba: Consiste en verificar la funcionalidad del programa a través de varios métodos para detectar errores posibles.

Métodos de Prueba

  • Chequeo de escritorio
  • Prueba manual de datos de muestra
  • Intento de traducción
  • Prueba de datos de muestra en la computadora
  • Prueba por un grupo selecto de usuarios potenciales

a. Chequeo de Escritorio: El programador se sienta frente a un escritorio y corrige una impresión del programa.

b. Prueba manual de datos de muestra: Se corre el programa en forma manual aplicando datos tanto correctos como incorrectos para comprobar que funciona correctamente.

c. Intento de Traducción: El programa corre en una computadora usando un programa traductor para convertirlo a lenguaje de máquina.

d. Prueba de datos de muestra en la computadora: Después del intento de traducción y corregidos los errores de sintaxis, se procede a buscar errores de lógica utilizando diferentes datos de muestra.

e. Prueba por un grupo selecto de usuarios potenciales: Esto se conoce como prueba beta.

5. Documentación del Programa

Consiste en describir por escrito a nivel técnico los procedimientos relacionados con el programa y su modo de uso.

También se debe documentar el programa para que sea más entendible. ¿Para quiénes es la documentación?

  • Usuarios (Digitadores)
  • Operadores
  • Programadores
  • Analistas de sistemas

Documentos que se elaboran: Manual de Usuario y Manual del Analista. A los usuarios se les elabora un manual de referencia para que aprendan a utilizar el programa.

6. Mantenimiento del Programa

Es el paso final del desarrollo del software. Alrededor del 75% del costo total del ciclo de vida de un programa se destina al mantenimiento. El propósito del mantenimiento es garantizar que los programas en uso estén libres de errores de operación y sean eficientes y efectivos.

3.2.1 Implementación

Un software no lo acompaña un proceso de implementación y ajustes lógicos que obedecen a las necesidades del cliente.

3.3 Métricas para la Evaluación del Software

Métricas del Software: Son las que están relacionadas con el desarrollo del software como funcionalidad, complejidad, eficiencia.

Métricas Técnicas: Se centran en las características de software, por ejemplo: la complejidad lógica, el grado de modularidad. Mide la estructura del sistema, el cómo está hecho.

Métricas de Calidad: Proporcionan una indicación de cómo se ajusta el software a los requisitos implícitos y explícitos del cliente. Es decir, cómo voy a medir para que mi sistema se adapte a los requisitos que me pide el cliente.

Métricas de Productividad: Se centran en el rendimiento del proceso de la ingeniería del software. Es decir, qué tan productivo va a ser el software que voy a diseñar.

Métricas Orientadas al Tamaño: Es para saber en qué tiempo voy a terminar el software y cuantas personas voy a necesitar. Son medidas directas al software y el proceso por el cual se desarrolla, si una organización de software mantiene registros sencillos.

Métricas Orientadas a la Función: Las métricas orientadas a la función fueron en principio propuestas por Albercht quien sugirió un acercamiento a la medida de la productividad denominado método del punto de función. Los puntos de función que se obtienen utilizando una función empírica basando en medidas cuantitativas del dominio de información del software y valoraciones subjetivas de la complejidad del software.

  1. Inicio del Plan: Determina el arranque formal del plan de sistemas, con el apoyo del nivel más alto de la organización.
  2. Definición y Organización: Detalla y concreta la descripción del PSI asignando un calendario y recursos humanos al mismo.
  3. Estudio información relevante: Se analiza información de interés para el correcto desarrollo del plan de sistemas.
  4. Identificación Requisitos: Obtiene la especificación de requisitos que deben tener los sistemas de información analizados por el plan de sistemas.
  5. Estudio S.I. Actuales: Obtiene una valoración de la situación actual.
  6. Diseño modelo: Identifica y define los S.I. que van a dar soporte a los procesos afectados por el Plan de Sistemas de Información.
  7. Arquitectura tecnológica: Se propone la arquitectura tecnológica que dé soporte al modelo de información y sistemas de información.
  8. Definición plan: Se elabora y detalla el plan de sistemas de información: definición de proyectos, actividades, calendario y recursos para implementar los sistemas de información e infraestructura tecnológica.
  9. Revisión y aprobación: Se somete el plan a la revisión última y aprobación de la dirección.
  10. Documentación: Catálogo de requisitos.

3.4 Prueba de Programas y del Sistema

Las pruebas de software, en inglés testing, son los procesos que permiten verificar y revelar la calidad de un producto software. Son utilizadas para identificar posibles fallos de implementación, calidad, o usabilidad de un programa de ordenador.

En general, los informáticos distinguen entre errores de programación (o "bugs") y defectos de forma. En un defecto de forma, el programa no realiza lo que el usuario espera. Por el contrario, un error de programación puede describirse como un fallo en la semántica de un programa de ordenador. Éste podría presentarse, o no, como un defecto de forma si se llegan a dar ciertas condiciones de cálculo. En ambos casos, a la versión del producto en pruebas y que es anterior a la versión final (o "master") se denomina beta, y a dicha fase de pruebas, beta testing.

El proceso de prueba: es un proceso técnico especializado de investigación que requiere de profesionales altamente capacitados en lenguajes de desarrollo, métodos y técnicas de pruebas y herramientas especializadas. El conocimiento que debe manejar un ingeniero de prueba es muchas veces superior al del desarrollador de software.

Tipos de Pruebas
  • Pruebas unitarias
  • Pruebas funcionales
  • Pruebas de Integración
  • Pruebas de validación
  • Pruebas de sistema
  • Caja blanca (sistemas)
  • Caja negra (sistemas)
  • Pruebas de aceptación
  • Pruebas de regresión
  • Pruebas de carga
  • Pruebas de prestaciones
  • Pruebas de recorrido
  • Pruebas de mutación

3.5 Implementación

La configuración, parametrización e implementación de un sistema lleva un tiempo lógico, ya que los usuarios se encuentran con nuevas funciones, nuevos circuitos, nuevas tareas, etc. Todas estas cosas nuevas son un cambio y la mayoría de las personas necesitan un tiempo de adaptación a ese cambio.

Una correcta implementación requiere colaboración, predisposición y flexibilidad de ambas partes. Una excelente solución se genera con proyección, tiempo y organización.

Pasos para una Correcta Implementación del Software
  1. Instalación: Ejecute el archivo Setup.exe, que se encuentra dentro del CD original.
  2. Reproduzca los Videos de aprendizaje: Visualice los videos, para poder tener un conocimiento básico del funcionamiento de las pantallas.
  3. Lea el Manual: Tómese unos minutos y lea el índice del manual para conocer el sistema en su totalidad.
  4. Tómese unos días para practicar: Existe la posibilidad de ingresar datos a modo de ejemplo, ya que todo se puede eliminar para volver a empezar.
  5. Organice los Sectores a Gestionar: Toda administración parece pequeña al mencionarla, pero cuando entramos en detalles nos encontramos que al decir Compras y Ventas, estamos hablando de Clientes, Proveedores, Costos, Precios de Venta, Stock, Reposición de Mercadería, Códigos de Barra, Cheques, Caja, Cuentas Corrientes, Vendedores, Comisiones, Bancos, Depósitos, Artículos, Servicios, etc. Por lo que recomendamos que diseñe y priorice los sectores que necesita controlar y gestionar con mayor urgencia; para luego armar un plan de trabajo a seguir.
  6. Divida su implementación en módulos (dependiendo de su necesidad)
    • Carga de Clientes
    • Carga de Proveedores
    • Carga de Listas de Precios
    • Facturación Compras
    • Facturación Ventas
    • Control de Caja
    • Control de Stock
    • Control de Comisiones
    • Control de Cheques
    • Control de Cuentas Corrientes
    • Estadísticos
  7. Tener Mail, Internet y llevar un Cuaderno donde registre todas sus dudas
  8. Realice Backups diarios: Ante cualquier eventualidad con su PC, usted podrá restablecer todas las operaciones hasta la última copia de seguridad.

3.6 Documentación

Para que el mantenimiento de una aplicación informática sea lo más fácil posible, es conveniente disponer de toda su documentación, esto es, de todos los documentos que se han ido generando en todas las etapas anteriores: ERS, algoritmos, códigos fuentes, manuales de usuario, etc.

3.6.1 Elaboración del Manual de Usuario

Manual de Usuario: Esta parte se divide en dos manuales distintos, uno por cada aplicación cliente. Se explicará todas las posibles opciones que puede realizar el usuario con estas aplicaciones de manera detallada, y mediante el uso de capturas de pantalla.

Este documento está dirigido al usuario final.

Pasos del Manual del Usuario
  1. Portada: ¿De qué se trata el documento y quién lo elaboró?
  2. Introducción: Describe el uso del documento (¿para qué sirve?) y de qué habla.
  3. Análisis y requerimientos del sistema (¿qué se ocupa para poder instalarlo y usarlo?).
  4. Explicación del funcionamiento: Debes de poner paso a paso y con pantallas bien explicadas cómo funciona el programa.
  5. Glosario.
  • Debe ser escrito de tal manera, que cualquier persona pueda entenderlo con la menor dificultad posible.
  • Es recomendable, detallar todos aquellos pasos que se llevan a cabo para usar el programa.
  • Especificar los alcances y las limitaciones que tiene el programa.
  • Un buen punto de partida para un manual de usuario, es hacer de cuenta que las personas que lo van a leer no tienen el más mínimo conocimiento sobre computadores.

El Manual Administrativo: sirve como punto de partida al Sistema propuesto, ya que será función de la gerencia, de acuerdo con los usuarios de dicho Sistema, determinar si lo expuesto en él satisface los requerimientos del propio sistema. Una vez lograda la aprobación, se estará en condiciones de iniciar el desarrollo del Sistema propuesto e ir integrando el resto de la documentación.

El manual tiene como finalidad el permitir a la alta gerencia tener la información necesaria y suficiente sobre un sistema en particular y servir como fuente de consulta una vez que el Sistema ha sido implantado.

3.6.2 Elaboración del Manual Técnico

Este documento contiene toda la información sobre los recursos utilizados por el proyecto, llevan una descripción muy bien detallada sobre las características físicas y técnicas de cada elemento. Por ejemplo: características de procesadores, velocidad, dimensiones del equipo, garantías, soporte, proveedores y equipo adicional.

Consideraciones Generales para la Documentación del Desarrollo de Aplicaciones Informáticas
  1. Toda documentación que se genere para un proyecto específico, que haya sido revisada y aprobada, debe poseer lo siguiente:

    A) Identificación del documento.

    B) Estructura del documento.

  2. Por cada documento final deberá entregarse copias al personal involucrado en el proyecto.
  3. Una vez concluido el desarrollo de un sistema, considerando para esto los posibles cambios que se efectúen durante la etapa de garantía de que lo cubre (si así fuera el caso), el usuario final del sistema debe recibir una versión actualizada final del documento manual técnico.
Estructura del Documento Manual Técnico
  1. Índice: Relación de los capítulos y páginas correspondientes que forman parte del documento.
  2. Introducción: Se debe presentar una breve descripción del sistema desarrollado, que contemple el ámbito abarcado, cuál es su función principal y un detalle de las funciones macros o partes que lo componen. Puede incluir un mensaje de la máxima autoridad de las áreas comprendidas en el manual.

    2.1. Objetivo general del sistema: Se debe de describir el objetivo general del sistema.

    2.2. Objetivos específicos: Se deben describir brevemente los objetivos específicos que se cumplieron con el desarrollo del sistema.

  3. Contenido técnico

    3.1. Definición de reglas del negocio implementadas en el sistema desarrollado.

    3.2. Diagramas de flujo de datos, junto con su respectivo diccionario de datos.

    3.3. Controles de auditoría implementados en el sistema.

    3.4. Descripción de campos requeridos por pantalla con presentación de pantallas.

    3.5. Diagrama de navegación del sistema.

    3.6. Requerimientos de interfase con otros sistemas.

    3.7. Modelo lógico de datos, diagrama entidad-relación.

    3.8. Modelo de datos físico, junto con su respectivo diccionario de datos.

    3.9. Matriz de procesos versus organización.

    3.10. Matriz de programas versus entidades.

    3.11. Plataforma de usuario. Aquí se describen los requerimientos mínimos que se deben tener tanto de hardware como de software para que el sistema se pueda instalar y ejecutar correctamente (en caso de que se considere necesario).

    3.12. Áreas de aplicación y/o alcance de los procedimientos. Esfera de acción que cubren los procedimientos.

  4. Responsables: Para iniciar los trabajos que conducen a la integración de un manual, es indispensable prever que no queda diluida la responsabilidad de la conducción de las acciones en diversas personas, sino que debe designarse a un coordinador, auxiliado por un equipo técnico, al que se le debe encomendar la conducción del proyecto en sus fases de diseño, implantación y actualización.

    4.1. Mapa de navegación: muestra de forma gráfica la interconexión entre cada una de las pantallas del sistema, lo que serviría para saber cómo llegar a determinada parte de la aplicación.

    4.2. Descripción gráfica del mapa de navegación: En el anterior aparece de forma de diagrama de flujo y en esta sección deberá aparecer ya con las respectivas pantallas.

    4.3. Describe paso a paso los procesos, así como pantallas, botones, cuadros de texto, etc., pero también se muestra el código de cada rutina, pantalla, botón, etc.

Entradas relacionadas: