Análisis y Diseño de Sistemas
 
 

Diseño de sistemas es el arte de definir la arquitectura de hardware y software, componentes, módulos y datos de un sistema de cómputo para satisfacer ciertas necesidades reales de cada cliente.

En siar le ofrecemos un equipo de profesionales, para llevar a cabo el diseño y análisis de sistemas, basados en las necesidades de cada cliente, y desarrollando soluciones en software que lo ayudarán a crecer en sus negocios.

 

 
 

El Análisis de Sistemas consiste básicamente de determinar los objetivos y límites del sistema objeto de análisis, caracterizar su estructura y funcionamiento, marcar las directrices que permitan alcanzar los objetivos propuestos y evaluar sus consecuencias. Dependiendo de los objetivos del análisis, podemos encontrarnos ante dos problemáticas distintas:

  • Análisis de un sistema ya existente para comprender, mejorar, ajustar y/o predecir su comportamiento
  • Análisis como paso previo al diseño de un nuevo sistema-producto

 

METODOLOGÍAS APLICADAS

Nuestra forma de trabajar consiste en procesos y metodologías, que sean sistemáticas, predecibles y repetibles, a fin de mejorar la productividad en el desarrollo y la calidad del producto software.

Etapas del proceso

La ingeniería de software que utilizamos requiere llevar a cabo numerosas tareas, dentro de etapas como las siguientes:

Análisis de requisitos

  • Se hace la captura, análisis y especificación de requisitos información necesaria para llevar a cabo los procesos a través del análisis y se solicitan los requisitos en base a nuestra experiencia.
  • El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requisitos del Sistema (Modelo Entidad/Relación)  en el que se plasman las principales entidades que participarán en el desarrollo del software.

Especificación

La Especificación de Requisitos describe el comportamiento esperado en el software una vez desarrollado. Gran parte del éxito de un proyecto de software radicará en la identificación de las necesidades del negocio (definidas por la alta dirección), así como la interacción con los usuarios funcionales para la recolección, clasificación, identificación, priorización y especificación de los requisitos del software.

Entre las técnicas utilizadas para la especificación de requisitos se encuentran:

  • Casos de Uso,
  • Historias de usuario,

Siendo los primeros más rigurosas y formales, los segundas más ágiles e informales.

Arquitectura

La integración de infraestructura, desarrollo de aplicaciones, bases de datos y herramientas gerenciales, requieren de capacidad y liderazgo para poder ser conceptualizados y proyectados a futuro, solucionando los problemas de hoy. El rol en el cual se delegan todas estas actividades es el del Arquitecto. El Arquitecto de Software es la persona que añade valor a los procesos de negocios gracias a su valioso aporte de soluciones tecnológicas. La Arquitectura de Sistemas en general, es una actividad de planeación, ya sea a nivel de infraestructura de red y hardware, o de Software. La Arquitectura de Software consiste en el diseño de componentes de una aplicación (entidades del negocio), generalmente utilizando patrones de arquitectura. El diseño arquitectónico debe permitir visualizar la interacción entre las entidades del negocio y además poder ser validado, por ejemplo por medio de diagramas de secuencia. Un diseño arquitectónico describe en general el cómo se construirá una aplicación de software. Para ello se documenta utilizando diagramas, por ejemplo:

  • Diagramas de clases
  • Diagramas de base de datos
  • Diagramas de despliegue plegados
  • Diagramas de secuencia multidireccional
  • Diagramas de infraestructura quimica

Siendo los dos primeros los mínimos necesarios para describir la arquitectura de un proyecto que iniciará a ser codificado. Depende del alcance del proyecto, complejidad y necesidades, el arquitecto elige qué diagramas elaborar. Entre las herramientas para diseñar arquitecturas de software se encuentran:

  • Enterprise Architect
  • Microsoft Visio for Enterprise Architects

Programación

Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no necesariamente es la que demanda mayor trabajo y ni la más complicada. La complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado.

Prueba

Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación del problema. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral, para así llegar al objetivo. Se considera una buena práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas. En general hay dos grandes formas de organizar un área de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como están descritas. El segundo enfoque es tener un área de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en qué condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal inexperto no consideraría.

Documentación

Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.

Mantenimiento

Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software.

Modelos de desarrollo de software

La ingeniería de software tiene varios modelos, paradigmas o filosofías de desarrollo en los cuales se puede apoyar para la realización de software, de los cuales podemos destacar a éstos por ser los más utilizados y los más completos:

  • Modelo en cascada o Clásico (modelo tradicional)
  • Modelo en espiral (modelo evolutivo)
  • Desarrollo por etapas
  • Desarrollo iterativo y creciente o Iterativo e Incremental
  • RAD (Rapid Application Development)
  • Desarrollo concurrente
  • RUP (Modelo Racional)
  • Proceso Unificado

Si usted tiene en mente desarrollar un software a medida realice su consulta a través de nuestro formulario de contacto para recibir asesoramiento, llevamos a cabo cualquier tipo de proyecto informático contamos con el mejor equipo para hacer realidad sus proyectos.

En nuestro equipo contamos con ingenieros en informática, licenciados en sistemas, analistas y programadores formados en sistemas que cuentan con años de experiencia en desarrollo de software.   
Trabajamos a distancia modalidad freelance no necesita moverse de su lugar de origen.
A través de Skype, Msn, email y teléfono nos comunicaremos con usted desde el primer instante, tenemos experiencia trabajando en esta modalidad.   
 
Para clientes que estén interesados y no sean oriundos de Misiones o Zonas aledañas. Realizamos Instalaciones Remotas, Asesoramiento de uso a través de videoconferencias, llevamos a cabo tareas de mantenimiento y soporte técnico todo a través de Internet  
   
 
 
 
 
Siar. Soluciones Informáticas