miércoles, 17 de octubre de 2012

trabajo


El aseguramiento de la calidad
Ante todo se debe conocer:
Aseguramiento de la calidad: "Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad".
Aseguramiento de la calidad de software: Conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad.

El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla. Hay quienes prefieren decir garantía de calidad en vez de aseguramiento.
La garantía, puede confundir con garantía de productos, mientras que el aseguramiento pretende dar confianza en que el producto tiene calidad.

El aseguramiento de calidad del software está presente en:
Métodos y herramientas de análisis, diseño, programación y prueba.
Inspecciones técnicas formales en todos los pasos del proceso de desarrollo del software.
Estrategias de prueba multiescala.
Control de la documentación del software y de los cambios realizados.
Procedimientos para ajustarse a los estándares (y dejar claro cuando se está fuera de ellos).
Mecanismos de medida (métricas).
Registro de auditorias y realización de informes.

Las actividades para el aseguramiento de calidad del software se detallan en:
Métricas de software para el control del proyecto.
Verificación y validación del software a lo largo del ciclo de vida (Incluye las pruebas y los procesos de revisión e inspección).
La gestión de la configuración del software.
Algunos métodos del aseguramiento:
Revisiones técnicas y de gestión (su objetivo es la evaluación).
Inspección (su objetivo es la verificación). ¿Estamos construyendo el producto correcto?.
Pruebas (su objetivo es la validación). ¿Estamos construyendo el producto correctamente?.
Auditorias (su objetivo es la confirmación del cumplimiento).
Sistema de calidad
Sistema de calidad: Estructura organizativa, procedimientos, procesos y recursos necesarios para implantar la gestión de calidad.
El sistema de calidad se debe adecuar a los objetivos de la calidad de la empresa. La dirección de la empresa es la responsable de fijar la política de calidad y las decisiones relativas a iniciar, desarrollar, implantar y actualizar el sistema de calidad.
Un sistema de calidad consta de varias partes:
Documentación

o Manual de calidad. Es el documento principal para establecer e implantar un sistema de calidad. Puede haber manuales a nivel de empresa, departamento, producto, específicos (compras, proyectos,…).
Parte física: locales, herramientas ordenadores, etc.
Aspectos humanos:

o Formación de personal.
o Creación y coordinación de equipos de trabajo.
FUNCIONALIDAD
Es la capacidad del producto de software para proveer funciones que
cumplan con necesidades específicas o implícitas, cuando el software es
utilizado bajo condiciones específicas.
USABILIDAD
La capacidad del producto de software para ser atractivo, entendido,
aprendido, y utilizado por el usuario bajo condiciones específicas.
FIABILIDAD
Es la capacidad del producto de software para mantener un nivel
especificado de rendimiento cuando específicas.
La confiabilidad de software: significa que un programa particular debe de seguir funcionando en la precencia de errores. Los errores pueden ser relacionados al diseño, a la implementación, a la programacion, o el uso de errores. Asi como los sistemas llegan a ser cada vez mas complejos, aumenta la probabilidad de errores. Como mencionamos, es increiblemente difícil demonstrar que un sistema sea seguro. Ross Anderson dice que la seguridad de computación es como programar la computadora del Satan. Software seguro debe de funcionar abajo de un ataque. Aunque casi todos los software tengan errores, la mayoria de los errores nunca seran revelados debajo de circunstancias normales. Un atacante busca esta debilidad para atacar un sistema
“El mantenimiento del sw. es la modificación de un
producto sw. después de su entrega al cliente o
usuario para corregir defectos, para mejorar el
rendimiento u otras propiedades deseables, o para
adaptarlo a un cambio de entorno”


Portabilidad
La portabilidad (en inglés portability) es uno de los conceptos clave en la programación de alto nivel.
Se define como la característica que posee un software para ejecutarse en diferentes plataformas, el código fuente del software es capaz de reutilizarse en vez de crearse un nuevo código cuando el software pasa de una plataforma a otra. A mayor portabilidad menor es la dependencia del software con respecto a la plataforma.
Clasificación del software
Si bien esta distinción es, en cierto modo, arbitraria, y a veces confusa, a los fines prácticos se puede clasificar al software en tres grandes tipos:
Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al programador de los detalles del sistema informático en particular que se use, aislándolo especialmente del procesamiento referido a las características internas de: memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El software de sistema le procura al usuario y programador adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo que permiten el mantenimiento del sistema global. Incluye entre otros:
o Sistemas operativos
o Controladores de dispositivos
o Herramientas de diagnóstico
o Herramientas de Corrección y Optimización
o Servidores
o Utilidades
Software de programación: Es el conjunto de herramientas que permiten al programador desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación, de una manera práctica. Incluyen básicamente:
o Editores de texto
o Compiladores
o Intérpretes
o Enlazadores
o Depuradores
o Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores herramientas, usualmente en un entorno visual, de forma tal que el programador no necesite introducir múltiples comandos para compilar, interpretar, depurar, etc. Habitualmente cuentan con una avanzada interfaz gráfica de usuario (GUI).
Software de aplicación: Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre muchos otros:
o Aplicaciones para Control de sistemas y automatización industrial
o Aplicaciones ofimáticas
o Software educativo
o Software empresarial
o Bases de datos
o Telecomunicaciones (por ejemplo Internet y toda su estructura lógica)
o Videojuegos
o Software médico
o Software de cálculo Numérico y simbólico.
o Software de diseño asistido (CAD)
o Software de control numérico (CAM)
Integridad
Es la propiedad que busca mantener los datos libres de modificaciones no autorizadas. (No es igual a integridad referencial en bases de datos.) A groso modo, la integridad es el mantener con exactitud la información tal cual fue generada, sin ser manipulada o alterada por personas o procesos no autorizados.
La violación de integridad se presenta cuando un empleado, programa o proceso (por accidente o con mala intención) modifica o borra los datos importantes que son parte de la información, así mismo hace que su contenido permanezca inalterado a menos que sea modificado por personal autorizado, y esta modificación sea registrada, asegurando su precisión y confiabilidad. La integridad de un mensaje se obtiene adjuntándole otro conjunto de datos de comprobación de la integridad: la firma digital Es uno de los pilares fundamentales de la seguridad de la información
El término “facilidad de uso” representa un enfoque que sitúa al usuario, no al sistema, en el centro del proceso de creación de software. Esta filosofía, denominada diseño centrado en el usuario, incorpora los intereses y la defensa del usuario desde los inicios del proceso de diseño y otorga prioridad absoluta a sus necesidades a la hora de tomar cualquier decisión.
Facilidad de Prueba

De acuerdo con James Bach la facilidad de prueba puede ser definida de la siguiente manera:

La facilidad de prueba del software es simplemente la facilidad con la que se puede probar un programa de computadora. [Pre02]
El alcance de esta facilidad de prueba adquiere gran importancia por parte del equipo de desarrollo del software debido a que se reconoce que las pruebas son unos de los procesos más difíciles y costosos que se deben realizar. Por esta razón se hace necesario implementar métricas y métodos que faciliten este proceso.



Transición del software
La transición del software es una secuencia controlada y coordinada de accionesdonde el desarrollo pasa de la organización que ejecuta el desarrollo inicial a laorganización encargada del mantenimiento.
Si la responsabilidad del mantenimiento se transfiere a una organización distintase debería desarrollar un Plan de Transición.
El Plan debería tratar:

La transferencia de hardware, software, datos y experiencia deldesarrollador al encargado del mantenimiento, el que ha hecho elprograma debe comunicar lo que sabe al encargado del mantenimiento.

Tareas necesarias para que el encargado de mantenimiento puedaimplementar una estrategia de mantenimiento de software (p. ej.composición de personal, entrenamiento, instalación y réplica deproblemas de mantenimiento).
Interoperabilidad
Característica de los ordenadores que les permite su interconexión y funcionamiento conjunto de manera compatible. Esto no siempre es posible, debido a los diferentes sistemas operativos y arquitecturas de cada sistema, pero los esfuerzos de estandarización están permitiendo que cada vez sean más los ordenadores capaces de interoperar entre sí.

viernes, 27 de abril de 2012

Sistema II

1.-) ¿Como lograr una adecuada incorporación de la ingeniería de requisitos a los procesos de desarrollo de la organización?
            R: 
            Primero que todo dando a conocer a las organizaciones la importancia de los sistemas de información para su desarrollo, esto en dado caso de no conocer dicha importancias. Lo siguiente seria resaltar la importancia o las ventajas que trae la incorporación de la ingeniería de requisitos al proceso de desarrollo de software ya que la calidad del software, con la incorporación de esta ingeniería, seria muy buena y mucho más conveniente.
2.-) ¿Cómo apoyara esto al cumplimiento de los objetivos del negocio?
            R:
            Esto apoyara, de una manera muy conveniente, los objetivos del negocio de la organización ya que el sistema abarcara todas las necesidades en las áreas de informáticas que presente dicha organización.
3.-) ¿Cómo lograr que los cambios se visualicen como parte natural del ciclo de vida de desarrollo?
            R:
            Haciendo una comparación entre; el antiguo sistema, o metodología que usaban antes de la implantación del nuevo sistema, con el nuevo sistema. Con esto se podrá visualizar los cambios, que generalmente serán favorables ya que estos sistemas traen mayor organización y menos trabajo laboral por parte de los empleados de la organización.
4.-) ¿Cómo controlar estos cambios?
            R:
            Con personal capacitado para el manejo de este sistema, y aun mas importante un continuo y constante mantenimiento del sistema, realizado preferiblemente por el personal que se encargo del desarrollo del sistema.
5.-) ¿Cómo lograr la alineación de este proceso hacia los objetivos para alcanzar beneficios organizacionales?
            R:
            Cumpliendo con los pasos del ciclo de vida de desarrollo de software, como el de adaptar el sistema propuesto a las necesidades que presente la organización en ese momento.

jueves, 26 de abril de 2012

Sistema I

¿Que es un Sistema?

Un sistema se podría definir como un conjunto de partes o elementos organizados y relacionados que interactúan entre sí para lograr un objetivo. Los sistemas reciben  datos, energía o materia del ambiente y proveen  información, energía o materia.  

Ahorro existen diferentes tipos de sistema, ya que puede ser físico o concreto (una computadora, un televisor, un humano) o puede ser abstracto o conceptual (un software). Cada sistema existe dentro de otro más grande, por lo tanto un sistema puede estar formado por subsistemas y partes, y a la vez puede ser parte de un supersistema.

Los sistemas tienen límites o fronteras (Ver: frontera de un sistema), que los diferencian del ambiente. Ese límite puede ser físico  o conceptual. Si hay algún intercambio entre el sistema y el ambiente a través de ese límite, el sistema es abierto, de lo contrario, el sistema es cerrado. El ambiente es el medio en externo que envuelve física o conceptual mente a un sistema. El sistema tiene interacción con el ambiente, del cual recibe entradas y al cual se le devuelven salidas. El ambiente también puede ser una amenaza para el sistema.

Un grupo de elementos no constituye un sistema si no hay una relación e interacción, que de la idea de un "todo" con un propósito (ver holismo y sinergía).

Desde el punto de vista tecnológico tenemos una gran variedad de sistemas tales como: