martes, 20 de octubre de 2015

Fundamentos del Software

El Software: Se conoce como software al equipo lógico o soporte lógico de un sistema informático, que comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos que son llamados hardware. Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de textos, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el llamado software de sistemas, tal como el sistema operativo, que básicamente permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones, y proporcionando una interfaz con el usuario.
Cualidades del Software: Algunas de las cualidades del software son:

-Correctitud: Un programa es funcionalmente correcto si se comporta de acuerdo a la especificación de las funciones (especificación de requerimientos funcionales) que debería proveer. Esta definición de correctitud asume que existe una especificación de requerimientos funcionales del sistema y que es posible determinar en forma no ambigua si las cumple o no.
-Confiabilidad: Informalmente el software es confiable si el usuario puede tenerle confianza. Formalmente la confiabilidad se define en términos del comportamiento estadístico: la probabilidad de que el software opere como es esperado en un intervalo de tiempo especificado.
-Robustez: Un programa es robusto si se comporta en forma razonable aún en circunstancias que no fueron anticipadas en la especificación de requerimientos; por ejemplo cuando encuentra datos de entrada incorrectos o algún mal funcionamiento del hardware como rotura de disco.

en resumen se muestra la siguiente imagen: 


Factores de calidad del software: 

Ingeniería del software: La ingeniería de software es una disciplina formada por un conjunto de métodos, herramientas y técnicas que se utilizan en el desarrollo de los programas informáticos (software). Esta disciplina trasciende la actividad de programación, que es el pilar fundamental a la hora de crear una aplicación. El ingeniero de software se encarga de toda la gestión del proyecto para que éste se pueda desarrollar en un plazo determinado y con el presupuesto previsto.


Visión general del proceso de desarrollo del software: Este proceso es afectado por la creatividad y juicio de las personas  involucradas. En el desarrollo de software hay una serie de desafíos adicionales, relativos esencialmente a la naturaleza del producto obtenido. Un proceso de desarrollo de software tiene como propósito la producción eficaz y eficiente de un producto software que reúna los requisitos del cliente. Estas actividades son requeridas para desarrollar un sistema de software de alta calidad y proporciona el marco de trabajo desde el cual se puede establecer un plan detallado para el desarrollo del software.

Participantes en el proceso de desarrollo del software:  lo pueden desarrollar cualquier persona o equipo de trabajo claro siempre y cuando sepan hacerlo y pues no tenga un propietario ya que al ser de licencia libre se pueda descargar y distribuirlo a las personas que se quiera sin que tenga ninguna restricción de cualquier tipo. Los que trabajan desarrollando software saben que cada una de las personas que están involucradas en el proceso de desarrollo tienen particularidades y su manera de pensar, por lo cual se maneja de la forma Project manager, marketing manager, auditor.


Ciclo de vida del software: : El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados. Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados.

Fundamentación teorica del paradigma de programación: 
Modelado del sistema o software: El modelado de sistemas software es una técnica para tratar con la complejidad inherente a estos sistemas. El uso de modelos ayuda al ingeniero de software a "visualizar" el sistema a construir. Además, los modelos de un nivel de abstracción mayor pueden utilizarse para la comunicación con el cliente. Por último, las herramientas de modelado y las de ingeniería de software automatizada, pueden ayudar a verificar la corrección del modelo.

Técnicas e instrumentos en el proceso de desarrollo del software: 
Técnicas:

Las técnicas que se podrían utilizar en la elaboración de un software seria el procedimiento o conjunto de reglas, normas o protocolos, que tienen como objetivo obtener un resultado determinado para que dicho software sea lo más parecido a las exigencias del cliente, podrían ser: 

Técnica para la Recopilación de Datos: La recolección de datos se refiere al uso de una gran diversidad de técnicas y herramientas que pueden ser utilizadas por el analista para desarrollar los sistemas de información, los cuales pueden ser;

Las entrevistas: Es una técnica de obtención de información mediante el diálogo mantenido en un encuentro formal y planeado.

La encuesta: estudio en el cual el investigador obtiene los datos a partir de realizar un conjunto de preguntas normalizadas dirigidas a una muestra representativa o al conjunto total de la población.

El cuestionario: es un conjunto de preguntas sobre los hechos o aspectos que interesan en una investigación y son contestados por los encuestados. 

La observación: Es una técnica que consiste en observar atentamente el fenómeno, hecho o caso, tomar información y registrarla para su posterior análisis.

Técnica de Costo-Beneficios: El análisis de costo-beneficio es una técnica analítica que enumera y compara el costo neto de una intervención con los beneficios que surgen como consecuencia de aplicar dicha intervención.

Técnica de Planificación y Control de Proyectos: La Planificación y Control de Proyectos de Software comprende una serie de procedimientos, sin embargo, se mencionaran solo los más complejos y/o significativos, los cuales son: Objeto, Alcance, Entradas, Salidas Desarrollo, Planificación, Programación, Control

Herramientas: Las Herramientas dan  ayuda al desarrollo de Sistemas de Información, ayudan a solucionar  los problemas que se nos presentan en los proyectos y desarrollos de aplicaciones informáticas.

También se puede utilizar, Herramientas para Ingeniería de Software Asistida por Computadora (CASE) Son un conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información.

Clasificación de las herramientas CASE: No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a:
• Las plataformas que soportan.
• Las fases del ciclo de vida del desarrollo de sistemas que cubren.
• La arquitectura de las aplicaciones que producen.
• Su funcionalidad.












No hay comentarios:

Publicar un comentario