Modelo en V


El modelo-V deriva directamente del modelo en cascada (Waterfall model), y se usa como base de procesos dentro del ciclo de vida de software. El modelo considera el testing como una actividad paralela al SDLC (Sofware development Life Cycle) y no como una actividad aislada que se realiza al final del desarrollo. Fue desarrollado en Alemania por el Ministerio de Defensa.
La siguiente figura muestra como cada fase de desarrollo (a la izquierda de la imagen) se alinean con las fases de testing.
Esta es la representación más simple del modelo en V, en muchos casos las organizaciones crean sus propios modelos usando este como base. El modelo puedes llegar a ser tan complejo como uno quiera.
La ventaja principal con respecto al modelo en cascada es simple, ya que este modelo involucra chequeos de cada una de las etapas del modelo de cascada. Los requisitos se validan con las pruebas de “User Acceptance Test”, Análisis y deseño de arquitectura con las pruebas de IST (integration & system test), mientras que las pruebas a nivel de componentes y a más bajo nivel se realizan en las fases de pruebas de “Assembly” y “Unit Test” respectivamente.

¿Cuales son los objetivos del modelo en V?

  • Minimizar los riesgos del proyecto.
  • Mejorar y garantizar la calidad del proyecto.
  • Reducir los costes totales a lo largo del ciclo de vida del proyecto.
  • Mejorar la comunicación entre los Stakeholders.

En definitiva se trata de un modelo más robusto y completo que el Modelo de Cascada, y puede producir software de mayor calidad que con el modelo de cascada (todo depende de la empresa y el secto).

Ventajas:

• La relación entre las etapas de desarrollo y los distintos tipos de pruebas facilitan la localización de fallos.
• Es un modelo sencillo y de fácil aprendizaje
• Hace explícito parte de la iteración y trabajo que hay que revisar
• Especifica bien los roles de los distintos tipos de pruebas a realizar
• Involucra al usuario en las pruebas

Desventajas:

• Es difícil que el cliente exponga explícitamente todos los requisitos
• El cliente debe tener paciencia pues obtendrá el producto al final del ciclo de vida
• Las pruebas pueden ser caras y, a veces, no lo suficientemente efectivas
• El producto final obtenido puede que no refleje todos los requisitos del usuario


FUENTES DE INFORMACIÓN:



















Análisis del Modelo V

Este modelo es una versión mejorada del modelo cascada, incorpora o se enfoca, de mejor manera al control de calidad, este modelo también muestra la relación iterativa entre las distintas fases en el proceso de desarrollo de software y añade dos partes que son:
La VERIFICACIÓN: que tiene relación con la pregunta ¿ Se está haciendo correctamente el producto?
La VALIDACIÓNque tiene relación con la pregunta ¿ Se está haciendo el producto , es decir, la demostración de que el software cumple con exactitud la finalidad pretendida.
En el modelo V podemos ver las mismas fases del modelo cascada pero con una mejor relación entre ellas.


¿Qué es un Cibernauta y un Nativo Digital?


Cibernauta es aquella persona que navega por Internet.

En principio es un término aplicable a cualquier persona que utiliza un navegador web y visita sitios web; pero suele utilizarse especialmente para aquellas personas que son expertos navegantes de la WWW, incluso sin saber demasiado sobre computación.

 
Sociabilidad de los cibernautas
La idea social más generalizada, es que los cibernautas son personas poco sociables e introvertidas. Pero un estudio realizado por expertos de la Universidad de Cataluña, concluyó que las personas que utilizan Internet son más sociables, se interesan más en la política y tienen relaciones de amistad y familiares más intensas.

Nativo digital

La Red contiene mucha información sobre los conceptos de nativo digital e inmigrante digital. Según la definición propuesta por Marc Prensky, los nativos digitales son aquellas personas que han crecido, se han desarrollado y han adquirido todo su bagaje sociocultural y cognitivo en un vínculo más que estrecho con Internet y las tecnologías en general: teléfonos celulares, videojuegos, televisión, etc. Por contraposición, los inmigrantes digitales se relacionan tardíamente con las TIC y nunca llegan a hacerlo como los nativos, ya que lo hacen desde otro modo de apropiación y utilización del conocimiento y la información en general.

¿Qué es la cibernética?

La palabra cibernética en griego se refiere a mecanismos precisos de gobierno y control, con Platón y Ampere es usada siempre en su sentido político - social, pero es utilizada por primera vez en referencia a la ingeniería humana por Norbert Wiener.

La cibernética es una disciplina íntimamente vinculada con la teoría general de sistemas, al grado en que muchos la consideran inseparable de esta, y se ocupa del estudio de: el mando, el control, las regulaciones y el gobierno de los sistemas. El propósito de la cibernética es desarrollar un lenguaje y técnicas que nos permitan atacar los problemas de control y comunicación en general.

Lo que estabiliza y coordina el funcionamiento de los sistemas complejos como los seres vivos o las sociedades y les permite hacer frente a las variaciones del ambiente y presentar un comportamiento más o menos complejo es el control, que le permite al sistema seleccionar los ingresos (inputs) para obtener ciertos egresos (outputs) predefinidos. La regulación esta constituida por los mecanismos que permiten al sistema mantener su equilibrio dinámico y alcanzar o mantener un estado.

Un concepto muy importante o casi fundamental en cibernética es el de la retroalimentación. La retroalimentación parte del principio de que todos los elementos de una totalidad de un sistema deben comunicarse entre sí para poder desarrollar interrelaciones coherentes. Sin comunicación no hay orden y sin orden no hay totalidad, lo que rige tanto para los sistemas físicos como para los biológicos y los sociológicos.

La retroalimentación puede ser positiva, negativa o compensada. La retroalimentación es negativa cuando su función consiste en contener o regular el cambio, es positiva si amplifica o multiplica el cambio en una dirección determinada y se dice que es compensada cuando un regulador ejerce alternadamente retroalimentaciones positivas y negativas, según las necesidades del mantenimiento de la estabilidad del sistema regulado. (ejemplo Refrigerador, Temperatura Humana).

¿Que son las heuristicas?


Se puede definir Heurística como un arte, técnica o procedimiento práctico o informal para resolver problemas. Alternativamente, se puede definir como un conjunto de reglas, metodológicas no necesariamente formalizadas, positivas y negativas, que sugieren o   establecen cómo proceder y problemas a evitar en la solución de problemas y elaboración de hipótesis.

Es generalmente considerado que la capacidad heurística es un rasgo característico de los humanos desde cuyo punto de vista puede describirse como el arte y la ciencia del descubrimiento y de la invención o de resolver problemas mediante la creatividad y el pensamiento lateral o pensamiento divergente. Según el matemático George Pólya4 la base de la heurística está en la experiencia de resolver problemas y en ver cómo otros lo hacen. Consecuentemente se dice que hay búsquedas ciegas, búsquedas heurísticas (basadas en la experiencia) y búsquedas racionales.
 
La popularización del concepto se debe a Pólya, con su libro Cómo resolverlo (How to solve it). Habiendo estudiado tantas pruebas matemáticas desde su juventud, quería saber cómo los matemáticos llegan a ellas. El libro contiene la clase de recetas heurísticas que trataba de enseñar a sus alumnos de matemáticas. Cuatro ejemplos extraídos de él ilustran el concepto mejor que ninguna definición:
  • Si no consigues entender un problema, dibuja un esquema.
  • Si no encuentras la solución, haz como si ya la tuvieras y mira qué puedes deducir de ella (razonando a la inversa).
  • Si el problema es abstracto, prueba a examinar un ejemplo concreto.
  • Intenta abordar primero un problema más general (es la “paradoja del inventor”: el propósito más ambicioso es el que tiene más posibilidades de éxito).

En Ingeniería:

En ingeniería, una heurística es un método basado en la experiencia que puede utilizarse como ayuda para resolver problemas de diseño, desde calcular los recursos necesarios hasta en planear las condiciones de operación de los sistemas. Mediante el uso de heurísticas, es posible resolver más rápidamente problemas conocidos o similares a otros conocidos. Existen varios métodos heurísticos disponibles para los ingenieros como, por ejemplo, el Análisis modal de fallos y efectos y los árboles de fallo. En el primero se depende de un grupo de ingenieros experimentados que evalúan los problemas y fallos, los ordenan según su importancia y recomiendan soluciones.
 
Otros, como los métodos de ingeniería forense, son una amplia fuente de información para la investigación de problemas y responsables, y se basan en la heurística del eslabón más débil y en la eliminación de causas improbables. El conocimiento de qué causas son probables y cuáles no, forma una heurística aprendida por la profesión durante muchos años, más que un conocimiento científico aplicado.
Dado que las heurísticas pueden equivocarse, es fundamental conocer los casos en los que son aplicables y los límites a su uso. En general, en la ingeniería deben considerarse como ayudas o apoyos para hacer estimaciones rápidas y diseños preliminares, pero no como justificaciones finales de un diseño o proyecto u otros.

FUENTE DE INFORMACIÓN:

¿Que es? SEI?, ISO?, IEE ? Servira de algo?


 
SEI = 'Software Engineering Institute de la Carnegie-Mellon University, iniciado por el Departamento de Defensa de EE.UU. para ayudar a mejorar los procesos de desarrollo de software.
 


ISO = "Organización Internacional de Normalización"
 
La norma ISO 9001, 9002 y 9003 se refieren a las normas de sistemas de calidad que son evaluados por los auditores externos, y se aplican a muchos tipos de organizaciones de producción y fabricación, no sólo de software. El más completo es el 9001, y este es el más utilizado por las organizaciones de desarrollo de software. Cubre documentación, diseño, desarrollo, producción, pruebas, procesos de instalación, mantenimiento, y otros. ISO 9000-3 (no es igual que 9003) es una guía para la aplicación de la norma ISO 9001 a las organizaciones de desarrollo de software. La versión de EE.UU. de las normas de la serie ISO 9000 es exactamente la misma que la versión internacional, y se llama la norma ANSI / ASQ Q9000 serie. La versión de EE.UU. se pueden comprar directamente de la ASQ (American Society for Quality) o las organizaciones ANSI. Para ser ISO 9001, un auditor de tercera parte evalúa una organización, y la certificación suele ser bueno para unos 3 años, después de que una re evaluación completa es necesario. Tenga en cuenta que la certificación ISO 9000 no indica necesariamente que los productos de calidad - que sólo indica que los procesos documentados se siguen.

Principales normas ISO
Algunos estándares son los siguientes:

ISO 16:1975 — Frecuencia de afinación estandar: 440 Hz
ISO 216 — Medidas de papel: p.e. ISO A4
ISO 639 — Nombres de lenguas
ISO 690:1987 — Regula las citas bibliográficas (corresponde a la norma UNE 50104:1994)
ISO 690-2:1997 — Regula las citas bibliográficas de documentos electrónicos
ISO 732 — Formato de carrete de 120
ISO 838 — Estándar para perforadoras de papel (contando medidas y navajas)
ISO 1007 — Formato de carrete de 135
ISO 1171-Estándar de tamices
ISO/IEC 1539-1 — Lenguaje de programación Fortran
ISO 3029 — Formato carrete de 126
ISO 3166 — Códigos de países
ISO 4217 — Códigos de divisas
ISO 7811 — Técnica de grabación en tarjetas de identificación
ISO 8601 — Representación del tiempo y la fecha. Adoptado en Internet mediante el Date and Time Formats de W3C que utiliza UTC
ISO/IEC 8652:1995 — Lenguaje de programación Ada
ISO 8859 — Codificaciones de caracteres que incluye ASCII como un subconjunto (Uno de ellos es el ISO 8859-1, que permite codificar las lenguas originales de Europa occidental, como el español)
ISO 9000 — Sistemas de Gestión de la Calidad – Fundamentos y vocabulario
ISO 9001 — Sistemas de Gestión de la Calidad – Requisitos
ISO 9004 — Sistemas de Gestión de la Calidad – Directrices para la mejora del desempeño
ISO/IEC 9126 — Factores de Calidad del Software
ISO 9660 — Sistema de archivos de CD-ROM
ISO 9899 — Lenguaje de programación C
ISO 10279 — Lenguaje de programación BASIC
ISO 10646 — Universal Character Set
ISO/IEC 11172 — MPEG-1
ISO/IEC 11801 — Sistemas de cableado para telecomunicación de multipropósito
ISO/IEC 12207 — Tecnología de la información / Ciclo de vida del software
ISO 13450 — Formato de carrete de 110
ISO 13485 — Productos sanitarios. Sistemas de Gestión de la Calidad. Requisitos para fines reglamentarios
ISO/IEC 13818 — MPEG-2
ISO 14000 — Estándares de Gestión Medioambiental en entornos de producción
ISO/IEC 14496 — MPEG-4
ISO 14971 — Productos sanitarios. Aplicación de la gestión de riesgos a los productos sanitarios
ISO/IEC 15444 — JPEG 2000
ISO/IEC 15504 — Mejora y evaluación de procesos de desarrollo de software
ISO 15693 — Estándar para «tarjetas de vecindad»
ISO/IEC 17025 — Requisitos generales relativos a la competencia de los laboratorios de ensayo y calibración
ISO/IEC 20000 — Tecnología de la información. Gestión del servicio
ISO 22000 — Inocuidad en alimentos
ISO 17025 - Requisitos generales para la competencia de los laboratorios de ensayo y calibración
ISO 26300 — OpenDocument
ISO/IEC 26300 — OpenDocument Format (.odf)
ISO/IEC 27001 — Sistema de Gestión de Seguridad de la Información
ISO/IEC 29110 — Software engineering — Lifecycle profiles for Very Small Entities (VSEs) (MoProsoft)
ISO/IEC 29119 — Pruebas de Software
ISO 32000 — Formato de Documento Portátil (.pdf)
ISO 5218 - Representación de los sexos humanos.
ISO 50001 - Sistema de gestión de la energía y agua potable.



IEEE = 'Instituto de Ingenieros Eléctricos y Electrónicos "- entre otras cosas, crea estándares tales como" Norma IEEE para la Documentación de Software Test' (IEEE / ANSI 829), "Norma IEEE Unidad de Pruebas de Software (IEEE / ANSI 1008) , "Norma IEEE para Planes de Aseguramiento de la Calidad de Software" (IEEE / ANSI 730), y otros.


Estándares para la Ingeniería del Software


IEEE ha desarrollado estándares para todas las áreas de Ingeniería del Software.
Algunos de ellos, correspondientes a las principales áreas específicas de la Ingeniería del
Software son:
 
  • IEEE Std. 830 Prácticas recomendadas para las especificaciones de software. 
  • IEEE Std. 1362 Guía para la especificación del documento de requisitos “ConOps” 
  • IEEE Std. 1063 Estándar para la documentación de usuario de software. 
  • IEEE Std. 1012 Estándar para la verificación y validación de software. 
  • IEEE Std. 1219 Estándar para el mantenimiento del software 
COMENTARIO:
Gracias a la recopilación de diferente información podre ejercer algunas normas que implementare en mi proyecto final, las cuales son:

  1. ISO/IEC 9126 — Factores de Calidad del Software 
  2. ISO/IEC 12207 — Tecnología de la información / Ciclo de vida del software 
  3. ISO/IEC 29119 — Pruebas de Software 
  4. IEEE Std. 1063 Estándar para la documentación de usuario de software. 
  5. IEEE Std. 1012 Estándar para la verificación y validación de software. 
  6. IEEE Std. 1219 Estándar para el mantenimiento del software 

FUENTES DE INFORMACIÓN: 

http://es.wikipedia.org/wiki/Organizaci%C3%B3n_Internacional_de_Normalizaci%C3%B3n


http://www.softwaretestinghelp.com/what-is-sei-cmm-iso-ieee-ansi-will-it-help/

No Silver Bullet


 "No Silver Bullet - Esencia y accidentes de la Ingeniería de Software" es un documento ampliamente discutido en la ingeniería de software escrito por Fred Brooks en 1986. Brooks argumenta que "no hay desarrollo individual, en cualquiera de las técnicas o la gestión de la tecnología, que por sí misma promete incluso un orden de magnitud mejora dentro de una década en la productividad, la fiabilidad, la sencillez ". También afirma que "no podemos esperar a ver alguna vez de dos veces las ganancias cada dos años" en el desarrollo de software, como hay en el desarrollo de hardware.
 

Brooks hace una distinción entre complejidad accidental y complejidad esencial , y afirma que la mayor parte de lo que los ingenieros de software ahora se está dedicado a lo esencial, por lo que la reducción de todas las actividades accidentales a cero no da una mejora de un orden de magnitud. Brooks defiende frente a las partes esenciales del proceso de software. Aunque Brooks insiste en que no hay una bala de plata , cree que una serie de innovaciones que atacan complejidad esencial podría tener importantes (quizás más de diez veces en un período de diez años) mejoras.

EL ARGUMENTO

En el centro de la discusión es la distinción entre complejidad accidental y complejidad esencial . complejidad accidental se refiere a los problemas que creamos por nuestra cuenta y que puede ser fijo, por ejemplo, los detalles de la escritura y la optimización de montaje código o retrasos causados ​​por los lotes procesamiento. complejidad esencial es causado por el problema que hay que resolver, y nada lo puede quitar, si los usuarios quieren un programa para hacer 30 cosas diferentes, entonces esas 30 cosas son esenciales y el programa debe hacer esas 30 cosas diferentes.
 

Brooks afirma que hemos limpiado gran parte de la complejidad accidental, y los programadores de hoy en día pasan la mayor parte de su tiempo frente a la complejidad esencial.Una tecnología, que se había hecho una mejora significativa en el área de la complejidad accidental fue la invención de lenguajes de alto nivel de programación , tales como Fortranen ese momento. Lenguas actuales, tales como C , C + + , C # y Java , se consideran mejoras, pero no del mismo orden de magnitud.

Brooks aboga por la "creciente" software orgánicamente a través del desarrollo incremental. Se sugiere la elaboración y aplicación de las principales y subprogramas desde el principio, completando el trabajo sub-secciones posteriores. Él cree que la programación de esta manera excita los ingenieros y proporciona un sistema de trabajo en cada etapa de desarrollo.
Brooks continúa argumentando que hay una diferencia entre "buenos" los diseñadores y los diseñadores de "grandes". Se postula que la programación es un proceso creativo, algunos diseñadores son intrínsecamente mejores que otros. Él sugiere que no es tanto como una diferencia de diez veces entre un diseñador común y un gran uno. A continuación, los defensores de diseñadores estrella tratar igualmente bien como gestores estrella, proporcionándoles no sólo con la igualdad de remuneración , sino también todas las ventajas de un estatus superior: gran oficina, personal, fondos para viajes, etc

FUENTE DE INFORMACIÓN:


Glosario

PARADIGMA : Un paradigma de programación provee (y determina) la visión y métodos de un programador en la construcción de un programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de programación y en diferentes formas de pensar la solución de problemas (con la solución de múltiples “problemas” se construye una aplicación). 








PROCESO : En informática se manejan varias definiciones que aluden a diversos elementos: puede ser simplemente una operación o conjunto combinado de operaciones con datos, o bien una secuencia de acontecimientos definida única y delimitada, que obedece a una intención operacional en condiciones predeterminadas. También se denomina proceso a una función que se está ejecutando. 






HERRAMIENTA : Subprograma o módulo encargado de funciones específicas y afines entre sí para realizar una tarea. 









ESPECTRO Técnica de transmisión usada para evitar interferencia y lograr mayor rendimiento. En lugar de una sola frecuencia de portadora, el transmisor y el receptor acuerdan usar un grupo de frecuencias, ya sea de manera simultánea o cambiando de una a otra. Esta técnica es especialmente importante en las redes inalámbricas. 





GESTIÓN : Proceso que desarrolla actividades productivas con el fin de generar rendimientos de los factores que en él intervienen. Diligencia que conduce al logro de un negocio o satisfacción de un deseo.



Sam vocabular

Tequilas Flamejantes

Lorem Ipsum

Con la tecnología de Blogger.

Ads 468x60px

Social Icons

About

Followers

Popular Posts

Popular Posts

Popular Posts

Featured Posts

 
INGENIERÍA DE SOFTWARE © 2012 | Designed by Cheap TVS, in collaboration with Vegan Breakfast, Royalty Free Images and Live Cricket Score