domingo, 31 de enero de 2016

Conceptos de Calidad en el Desarrollo de Software

"Calidad suele significar el conjunto de las cualidades. Cuando se dice que un caballo es de buena calidad, se da a entender que posee todas las cualidades entender que posee todas las cualidades que constituyen el caballo bueno. Por esta razón llamamos calidad y no esta razón llamamos calidad, y no cualidad."

Certificación del software
Consecuencia de un proceso que es asegurar la calidad pero nunca es el objetivo final. La calidad de software no se certifica, lo que se certifica son los procedimientos para construir un software de calidad, los procedimientos deben ser correctos y estar en función de la normalización ISO 9000

Normativa ISO 9000

Pone a disposición de un auditor o certificador los procesos internos, de forma que este indique si cumple o no la normativa al 100%, audita el sistema; Si los resultados son positivos se emite la certificación y cada cierto tiempo se tiene que renovar; La certificación es costosa, a consecuencia de costes que ocasionan la lejanía y el tiempo de duración de proceso (aprox. 6 meses). Se certifica la empresa y la metodología para el desarrollo de la aplicación.
Medición del software

En el software lo que se mide son atributos propios del mismo, se descompone un atributo general en otros más simples de medir, a veces se mide bien o mal ya que la descomposición del atributo genérico de calidad en otros sub-atributos se torna irreal, se mide con datos estadísticos no avalados, es imposible decir que la medición se hace en forma correcta.

El concepto de medida va de más a menos, va de lo general a lo concreto y lo concreto es asociado a la métrica, cuya combinación te daría el nivel de calidad o seguridad de tu producto. Las ciencias bien estructuradas se basan en medidas bien hechas, se basan en la matemática.

Tipos de medidas

  • Número de errores durante un periodo determinado.
  • Fallo en la codificación o diseño de un sistema que causa que el programa no funcione correctamente o falle.
  • Tamaño de un producto informático (líneas de código)
  • Estimación de costes y esfuerzos.
Utilidad de la medida del software
  • Normativa ISO 9126, medida de la calidad de software descomponiendo atributos, para no tener márgenes de error e interpretación.
  • Atributo de funcionalidad.
  • Atributo de capacidad de respuesta frente a errores externos.
  • Atributo de nivel de seguridad. La calidad no puede existir sin seguridad, un producto sin seguridad seria un producto sin calidad. El observador o usuario final indica que atributos más o menos importantes de seguridad.

El software, tanto en su vertiente de producto como de aplicación, conlleva una serie de es especificidades con relación a la calidad.

Funcionamiento

 Sería el nivel más bajo, asumido. El software debe funcionar siempre en todo momento debe funcionar siempre, en todo momento; debe permitimos utilizarlo cuando sea necesario.

Usabilidad

Sería el nivel superior. No sólo un software debe hacer lo q e dice q e hace también debe hacer lo que dice que hace; también debe permitimos hacerlo de forma adecuada, natural.





biografías:
calidad de software
calidad de software

INTRODUCCIÓN A LA CALIDAD DE SOFTWARE

La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y pruebas del software que permitan uniformar la filosofía de trabajo, en áreas de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software.

·                    Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad.
·                    Los estándares o metodologías definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad

INSTITUTOS QUE REGULAN LA CALIDAD.

o    ISO: Es una organización no-gubernamental establecida en 1947. La misión de ISO es promover el desarrollo de regularización y las actividades relacionadas en el mundo con una vista a facilitar el intercambio internacional de géneros y servicios, y a la cooperación en vías de desarrollo en las esferas intelectuales, actividades científicas, tecnológicas y económicas. El trabajo de ISO es producir acuerdos internacionales que se publican como Normas Internacionales."ISO" es una palabra, derivada del griego isos, que significa "igual" que es la raíz del prefijo "iso ", y "isonomy" (igualdad de leyes).
o    PROSOFT: El Fondo del Programa para el Desarrollo de la Industria del Software (PROSOFT) tiene como objetivo impulsar el desarrollo de la industria de las tecnologías de información a través del otorgamiento de subsidios de carácter temporal a proyectos que estén dirigidos a la creación, desarrollo, consolidación, viabilidad, productividad, competitividad y sustentabilidad de las empresas del sector de Tecnologías de Información y servicios relacionados.
o    CMMI: Es un modelo de calidad del software que clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir software.



FACTORES DE CALIDAD
ISO 9126: Es un modelo jerárquico con seis atributos especiales.

o    Funcionalidad.............................. Adaptación, Exactitud, Interoperación, Seguridad.
o    Confiabilidad................................ Madurez, Tolerancia a Defectos, Facilidad de Recuperación.
o    Eficiencia ...................................... Comportamiento en el Tiempo, de los Recursos.
o    Facilidad de Uso........................... Facilidad de Comprensión, de Aprendizaje, de Operación.
o    Facilidad de Mantenimiento ......... Facilidad de Análisis, de Cambios, de Pruebas, Estabilidad.
o    Portabilidad.................................. Adaptabilidad, Facilidad de Instalación, de Reemplazo.


Biografía:

miércoles, 2 de diciembre de 2015

CONFERENCIA SI YO PUEDO TU PUEDES

Gabriel Najera

Gabriel Najera es un conferencista profesional e internacional de alta inspiración y motivación con un gran sentido del humor hacia la vida y con una capacidad institiva para capturar y levantar el ánimo de la gente, dándoles la capacidad para crear nuevos propçositos y poder llegar a sus mas altas metas y sueños que antes pensaban que fueran imposible de alcanzar.

Gabriel cuenta con una amplia experencia en hablar en público, televisión, radio y como entrenador de vida de motivación, es un autor convincente.

Su amor es la gente y su pasión son los retos de la vida. La versatilidad de Gabriel genera invitaciones de una amplia variedad de organizaciones, a nivel nacional e internaiconal. Se personaliza con eficacia su mensaje de vida en beneficio a cualquier tipo de público, lo cual los deja inspirados y motivados.

Gabriel abraza la esperanza y el coraje con una gozosa determinación de aprovechar cada día para bien y poder abrir un camino triunfal que será seguida por otros.

esta conferencia se torno muy interesante ya que este hombre el cual no contaba con sus extremidades ha logrado ser una persona muy exitosa y millonaria y me dejo una enseñanza muy grande ya que si el puede yo también.


jueves, 29 de octubre de 2015

Diagrama de Casos de Uso 

En el Lenguaje de Modelado Unificado, un diagrama de casos de uso es una forma de diagrama de comportamiento UML mejorado. El Lenguaje de Modelado Unificado (UML), define una notación gráfica para representar casos de uso llamada modelo de casos de uso. UML no define estándares para que el formato escrito describa los casos de uso, y así mucha gente no entiende que esta notación gráfica define la naturaleza de un caso de uso; sin embargo una notación gráfica puede solo dar una vista general simple de un caso de uso o un conjunto de casos de uso. Los diagramas de casos de uso son a menudo confundidos con los casos de uso. Mientras los dos conceptos están relacionados, los casos de uso son mucho más detallados que los diagramas de casos de uso. En los conceptos se debe detallar más de un caso de uso para poder identificar qué es lo que hace un caso de uso.

  • La posición o contexto del caso de uso entre otros casos de uso. Dado que es un mecanismo de organización, un conjunto de casos de uso coherentes y consistentes promueven una imagen fácil de comprender del comportamiento del sistema, un entendimiento común entre el cliente/propietario/usuario y el equipo de desarrollo.
En esta práctica es común crear especificaciones suplementarias para capturar detalles de requisitos que caen fuera del ámbito de las descripciones de los casos de uso. Ejemplos de esos temas incluyen restricciones de diseño como: rendimiento, temas de escalabilidad/gestión, o cumplimiento de estándares.
Casos de uso UML para un modelo simple de restaurante.
El diagrama de la derecha describe la funcionalidad de un Sistema Restaurante muy simple. Los casos de uso están representados por elipses y los actores están, por ejemplo, los casos de uso se muestran como parte del sistema que está siendo modelado, los actores no.
La interacción entre actores no se ve en el diagrama de casos de uso. Si esta interacción es esencial para una descripción coherente del comportamiento deseado, quizás los límites del sistema o del caso de uso deban de ser re-examinados. Alternativamente, la interacción entre actores puede ser parte de suposiciones usadas en el caso de uso. Sin embargo, los actores son una especie de rol, un usuario humano u otra entidad externa puede jugar varios papeles o roles. Así el Chef y el Cajero podrían ser realmente la misma persona.

Análisis y modelado de desarrollo de software con UML


EL LENGUAJE UNIFICADO DE MODELADO (UML)
En todas las disciplinas de la Ingeniería se hace evidente la importancia de los modelos ya que describen el aspecto y la conducta de "algo". Ese "algo" puede existir, estar en un estado de desarrollo o estar, todavía, en un estado de planeación. Es en este momento cuando los diseñadores del modelo deben investigar los requerimientos del producto terminado y dichos requerimientos pueden incluir áreas tales como funcionalidad, performance y confiabilidad. Además, a menudo, el modelo es dividido en un número de vistas, cada una de las cuales describe un aspecto específico del producto o sistema en construcción.
El modelado sirve no solamente para los grandes sistemas, aun en aplicaciones de pequeño tamaño se obtienen beneficios de modelado, sin embargo es un hecho que entre más grande y más complejo es el sistema, más importante es el papel de que juega el modelado por una simple razón: "El hombre hace modelos de sistemas complejos porque no puede entenderlos en su totalidad".
UML es una técnica para la especificación sistemas en todas sus fases. Nació en 1994 cubriendo los aspectos principales de todos los métodos de diseño antecesores y, precisamente, los padres de UML son Grady Booch, autor del método Booch; James Rumbaugh, autor del método OMT e Ivar Jacobson, autor de los métodos OOSE y Objectory. La versión 1.0 de UML fue liberada en Enero de 1997 y ha sido utilizado con éxito en sistemas construidos para toda clase de industrias alrededor del mundo: hospitales, bancos, comunicaciones, aeronáutica, finanzas, etc.
Los principales beneficios de UML son:
  • Mejores tiempos totales de desarrollo (de 50 % o más).
  • Modelar sistemas (y no sólo de software) utilizando conceptos orientados a objetos.
  • Establecer conceptos y artefactos ejecutables.
  • Encaminar el desarrollo del escalamiento en sistemas complejos de misión crítica.
  • Crear un lenguaje de modelado utilizado tanto por humanos como por máquinas.
  • Mejor soporte a la planeación y al control de proyectos.
  • Alta reutilización y minimización de costos.
UML, ¿Método o Lenguaje de Modelado?
UML es un lenguaje para hacer modelos y es independiente de los métodos de análisis y diseño. Existen diferencias importantes entre un método y un lenguaje de modelado. Un método es una manera explícita de estructurar el pensamiento y las acciones de cada individuo. Además, el método le dice al usuario qué hacer, cómo hacerlo, cuándo hacerlo y por qué hacerlo; mientras que el lenguaje de modelado carece de estas instrucciones. Los métodos contienen modelos y esos modelos son utilizados para describir algo y comunicar los resultados del uso del método.
Un modelo es expresado en un lenguaje de modelado. Un lenguaje de modelado consiste de vistas, diagramas, elementos de modelo ¾ los símbolos utilizados en los modelos ¾ y un conjunto de mecanismos generales o reglas que indican cómo utilizar los elementos. Las reglas son sintácticas, semánticas y pragmáticas (figura 1).







martes, 29 de septiembre de 2015

Estudio de Factibilidad.
      Sirve para recopilar datos relevantes sobre el desarrollo de un proyecto y en base a ello tomar la mejor decisión, si procede su estudio, desarrollo o implementación.
   
Objetivo de un Estudio de Factibilidad.
      1.- Auxiliar a una organización a lograr sus objetivos.
    2.- Cubrir la metas con los recursos actuales en las siguientes areas.

a). Factibilidad Técnica.
      - Mejora del sistema actual.
    - Disponibilidad de tecnología que satisfaga las necesidades.


b).- Factibilidad Económica.
      - Tiempo del analista.
    - Costo de estudio.
    - Costo del tiempo del personal.
    - Costo del tiempo.
    - Costo del desarrollo / adquisición.
   
c).- Factibilidad Operativa.
      - Operación garantizada.
    - Uso garantizado.

Estudios de factibilidad de un proyecto:

Factibilidad se refiere a la disponibilidad de los recursos necesarios para llevar a cabo los objetivos o metas señalados, la factibilidad se apoya en 3 aspectos básicos:
a) Operativo.
b) Técnico.
c) Económico.

 
El éxito de un proyecto está determinado por el grado de factibilidad que se presente en cada una de los tres aspectos anteriores.
Un estudio de factibilidad sirve para recopilar datos relevantes sobre el desarrollo de un proyecto y en base a ello tomar la mejor decisión, si procede su estudio, desarrollo o implementación.

Objetivo de un Estudio de Factibilidad:

1.- Auxiliar a una organización a lograr sus objetivos.
2.- Cubrir las metas con los recursos actuales en las siguientes áreas
a). Factibilidad Técnica.
- Mejora del sistema actual.
- Disponibilidad de tecnología que satisfaga las necesidades.
b).- Factibilidad Económica.
- Tiempo del analista.
- Costo de estudio.
- Costo del tiempo del personal.
- Costo del tiempo.
- Costo del desarrollo / adquisición.
c).- Factibilidad Operativa.
- Operación garantizada.
- Uso garantizado.




Referencias:
http://www.ejemplode.com/9-negocios/1489-ejemplo_de_estudios_de_factibilidad.html


libro: https://books.google.com.mx/books?id=bqEqAAAAYAAJ&pg=PA62&dq=estudio+de+factibilidad&hl=es-419&sa=X&ved=0CBsQ6AEwAGoVChMIo-zNjaicyAIVwbgeCh1OZAyG#v=onepage&q&f=false

Metodología de desarrollo de software

Metodología de desarrollo de software en ingeniería de software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información.

Introducción

Una metodología de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información.
A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad.
El framework para metodología de desarrollo de software consiste en:
  • Una filosofía de desarrollo de programas de computacion con el enfoque del proceso de desarrollo de software
  • Herramientas, modelos y métodos para asistir al proceso de desarrollo de software
Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla, apoya el uso y promueve la metodología. La metodología es a menudo documentada en algún tipo de documentación formal.

Entre las metodologías ágiles identificadas son:

  • Extreme Programming
  • Scrum
  • Familia de Metodologías Crystal
  • Feature Driven Development
  • Proceso Unificado Rational, una configuración ágil
  • Dynamic Systems Development Method
  • Adaptive Software Development
  • Open Source Software Development


SEGUIDAMENTE DETALLAREMOS LAS SIGUIENTES METODOLOGÍAS PARA DESARROLLO DE SOFTWARE: 

  • Rational Unified Process (RUP)
  • Extreme Programming (XP)
  • SCRUM

referencias: