P.I.S. Portafolio por Insane_Rc
sábado, 6 de julio de 2013
¿Como Verificar y Validar un Software?
Les Traigo un material recopilado de algunos aspectos importantes de lo que es Verificación y Validación de Software.
Leer Mas...
miércoles, 29 de mayo de 2013
Lo que se espera del Diseño de Software
Nuevas Tendencias
Toda empresa que desee tener de manera
ordenada sus operaciones, procesos, la manera diaria en cómo se llevan los
datos, como se administras los recursos y como factor principal la gestión adecuada
de su información, aquí es donde se puede ver que llegan esos diseñadores o
empresas encargadas del desarrollo de software, ya que no son más que diseñadores
de sistemas personalizados para cada empresa diferente. El que una empresa
cuente con un sistema personalizado para realizar sus tareas quiere decir que tendrá
control total sobre el flujo de sus operaciones y recursos ya que para que esto
se logre se deben analizar de manera detallada sus procesos.
Hoy día se pueden percibir una gran
variedad de metodologías para el desarrollo de software, un diseñador digno
debe conocer esta gran variedad para resolver cualquier problema. Desde mi
perspectiva la evolución de estos modelos a pesar que han evolucionado
considerablemente aun no predominan por encima de algunos mas antiguos, le
falta un poco mas de madurez y pruebas para su utilización como metodología en sí,
para mi hacia dónde van los software es a una combinación de Técnicas de cuarta
generación y programación extrema, aunque según una entrevista realizada al Dr.
Ceballos S. Francisco Sierra en el 2009 dice que “La tendencia es unir el mundo
de los lenguajes de programación de propósito con el mundo de las bases de
datos”, asi para evolucionar esta herramienta tan poderosa como lo es la
internet
martes, 28 de mayo de 2013
Para los que quieran conocer el Cambio Leerlo.!
Programación Extrema
“La Programación Extrema, como
proceso de creación de software diferente al convencional, nace de la mano de
Kent Beckes, es una metodología de desarrollo ligera basada en una serie de valores
y de prácticas de buenas maneras que persigue el objetivo de aumentar la
productividad a la hora de desarrollar programas” Kent Beck 2002.
Este modelo es como la revolución de
la manera de diseñar software, es una recopilación de diversos métodos de
diseño de sistemas es decir no es algo nuevo ni algo que se invento,
simplemente es una recopilación de algunos métodos que se consideraron
importantes y resaltantes, cabe destacar que los que se encargaran del modelado,
diseño y creación del sistema deben ser personas especializadas para facilitar
su implementación.
El gran cambio y que se denota mucho
mas desde mi punto de vista es que este modelo trabaja demasiado con el usuario
final, es decir ya no lo colocan en ese lugar de usuario final si no como un
colaborador más al momento del diseño del sistema, yo considero eso de gran
ayuda ya que el usuario puede ir observando que le va gustando, que le puede
gustar que llevara demás para quedar completamente satisfecho y obviamente
poder detectar esos errores que solo los usuario finales podrán conseguirse,
este modelo usa algo similar al portotipado pero en mayor escala ya que aquí se
le entrega desde un principio una parte del sistema para ir adaptando al
usuario y mediante sus experiencias, el sistema ira evolucionando.
Una Mirada al Futuro del Diseño de Software
Técnicas de Cuarta Generación
Las técnicas de cuarta generación “fueron
primeramente usado para describir a los lenguajes de especificación, que son
lenguajes de alto nivel no procedurales, el usuario define qué se debe hacer,
no cómo debe hacerse, la denotación 4GL fue utilizada por primera vez por James
Martín en 1982 para referirse a la falta de procedimientos de alto nivel
lenguajes de especificación” Martin James 1981.
Estas técnicas viene a revolucionar
un poco ese mundo de los programadores acostumbrados al código puro,
secuencias, bloques de código fuente y muchas cosas más, ya que este modelo
simplemente requiere algunas especificaciones de que se desea y el de forma automática
generara lo que se le está pidiendo, es decir nosotros le diremos lo que
queremos pero no necesitaremos decirle cómo hacerlo y de qué manera
estructurarlo para diseñarlo ya que el mismo tomara las decisiones pertinentes
para entregarnos el resultado. Este tipo de lenguaje es de alto nivel ya que lo
se busca es dejar un poco de lado ese mundo de cientos de líneas de código,
simplemente ofrecerle al usuario una interfaz donde exponga lo que desea y las
operaciones de realicen de manera automática. Algunos lenguajes de cuarta generación
que existen hoy día son:
v SheerPower4GL
v PowerBuilder
v WinDev
v Focus
v Natural
v Progress4GL
v SQL
v Oracle
Reports
v PostScript
v Matemática
v MatLab
v Ramis
Para finalizar quisiera decir que
simplemente este modelo lo que busca es convertir el lenguaje de programación al
lenguaje humano.
lunes, 27 de mayo de 2013
Modelo de Diseño de Software mas Secuencial que Flexible
Métodos Formales
"Un
método formal es una técnica basada en matemáticas, usada para describir
sistemas de hardware o software", Wing, Jeannette M. (1990), en la década de los
80 investigadores del desarrollo del software propusieron que era método formal
para el siglo XXI, la gran mayoría de los sistemas estarían basados en este
modelo, pero estaba muy equivocado, mencionare 4 razones por las cuales esos
científicos se equivocaron:
1.
Una
ingeniería del software exitosa: a
medida del avance del mundo y esta sociedad ya rodeada de grandes tecnologías,
el desarrollo de los sistemas se ha vuelto un poco más flexible, más ajustado a
nuestras fortaleza que simplemente basados a matemáticas y datos
cuantificables.
2.
Cambios
en el mercado: obviamente al evolucionar la tecnología las exigencias para las
empresas surgieron de la noche a la mañana y con ella más problemas que
resolver, este método formal por su estricto orden no permitía el desarrollo
del sistema con rapidez, a pesar de que un sistema quedara con algunas fallas,
las empresas tomaron ese riesgo a cambio de ganar tiempo y no frenar su
producción.
3.
Ámbito
limitado de los métodos formales: este método no era la mejor opción en cuanto
a interfaz de usuario y eso se ha convertido en un punto sumamente clave a la
hora de crear un sistema.
4.
Escalabilidad
limitada: a pesar de ser muy fiable este método aun no es reconocido por
grandes trabajos, los que han tenido éxito son los relacionados con sistemas
críticos relativamente pequeños.
Modelo de Actualización de Software
Modelos Evolutivos
Para empezar quisiera definir lo que
significa modelo informático “representación de la realidad por medio de
abstracciones que enfocan ciertas partes importantes de un sistema, restándoles
importancia a otras” David Rodríguez. Los modelos más resaltantes en que se
pueden dividir son:
v Modelo en Cascada
v Desarrollo Evolutivo
v Ingeniería del Software basada en
Componentes
Estos modelos básicamente se basan es
en la evolución a medida que los cambios, mejoras y circunstancias se los
exijan, que se quiere decir, cuando se crea un software siempre se tiene que
pensar de qué manera se puede ir mejorando no solamente dejarlo hasta el punto
donde se creó si no ya tener una visión mas ambiciosa de que lo que se podría
llegar a convertir nuestro sistema. En este modelo se le entrega a los usuarios
finales un sistema para su pruebas iniciales con esto ya al ir probándolo se irán
encontrando los inconvenientes o satisfacción total por parte de los usuarios
(rara vez un sistema nuevo satisface todas las necesidades), otro aspecto
importante de estos modelos es que no se entrega el sistema en su totalidad
como tenemos planeado, si no que a medida de su receptividad y funcionamiento
se le irán agregando poco a poco todas esas mejoras y actualizaciones que
deseamos. Estos 2 métodos evolutivos del diseño de sistemas son el desarrollo
exploratorio y el de prototipos desechables.
Para finalizar este modelo simplemente
busca mejorar o actualizar un software ya viejo para así aumentar su eficiencia
y productividad.
Modelo de Desarrollo Rápido de Aplicaciones
Modelo RAD
Sus siglas en ingles significan
Rapid Application Development esta manera de diseñar software fue iniciada por
James Martin en 1980, este método usa el desarrollo repetitivo, algunos
prototipos y herramientas CASE, mayormente para empresas donde necesitan
solucionar un problema lo antes posible ya que no cuentan con tiempo y así
poner a funcionar un sistema en un tiempo corto de tiempo.
Este
modelo consta de 4 fases principales que son:
Ø Planificación de los requisitos
Ø Diseño
Ø Construcción
Ø Implementación
Para la recolección de los requisitos
algunas personas expertas en todos los aspectos de la empresa y que conocen sus
procesos facilitaran la información que tendrá el sistema para solucionar el
problema existente. Se analizan los datos recogidos para plantear una posible
solución, cabe destacar que los usuarios participan activamente en estos
procesos, ya se decidió lo que se hará ahora solo queda empezar la construcción
del sistema, los programadores tendrán la ventaja de contar con la opinión de
los usuarios finales en el momento de la construcción así poder evaluar los
procesos y ver cómo van fluyendo los resultados, ya como último paso es la
implantación del sistema, obviamente se tiene que preparar a los usuarios para
que lo puedan manejar.
Algunas características importantes
de este tipo de diseño es que los encargados del diseño deben programar,
analizar y diseñar es decir tienen que ser personas con trayectoria en la
materia del desarrollo de software, cada repetición tiende a durar de 1 día a
tres semanas
Suscribirse a:
Entradas (Atom)