On line Analytical Processing significado de las siglas OLAP, las herramientas OLAP son muy útiles para el análisis de la información, y es un valor agregado que tienen ciertos manejadores de bases de datos, en esta página se explica mas a detalle para que sirve OLAP y que característica debe tener las herramientas OLAP.
Ya sabemos del potencial que tienen las naciones asiaticas en el tema de TI, India es tal ves el pais mas fuerte en desarrollo de software, y China se convierte en un jugador importante en Hardware, esto debido a que el Chino Lenovo adquirio toda la división de PC´s de IBM. Ahora imaginense juntas, es una amenaza para la industria de TI a nivel mundial???, podemos competir contra ellos???. Yo creo que si, solo que se tiene que trabajar en conjunto Gobierno, Industria y Academia. La noticia en InformationWeek.
El desarrollo de software orientado a aspectos es un nuevo paradigma que esta surgiendo en la industria de software, la verdad no tengo mucho conocimiento de este paradigma, al parecer sun esta apostando mucho por el. Aqui la página principal de la conferencia anual.
Methodologies in IT: Comprehension, Selection and Implementation
Una parte fundamental dentro del desarrollo de software es la metodologia, la metodología es un proceso repetible el cual debe constar de 4 componentes basicos, guias, tecnicas, herramientas y plantillas, es lo que nos dice este articuloque se encuentra dentro de este extraordinario sitio. Concuerdo con el articulo que la metodologia se elige en base a las necesidades y caracteristicas de cada proyecto de software, tambien considero que una buena metodologia a elegir es la incremental ya que en cada incremento se libera un producto de software, esto es importante para la formalidad y veracidad del proyecto esto les gusta a los usuarios, ya que no tienen que esperar varias semanas para ver el producto final.
En otro post ya habia hecho referencia a un diccionario de Ingenieria de Software, en la pagina de SYNSPACE existen varios documentos interesantes, los cuales te mandan por correo, de esta liga pueden bajar el Glosario de Ingenieria de Software.
Tengo varios dias preparando un curso de requerimientos, y como en todo me gusta ir de lo general a lo particular, en el menciono el origen de la Ingenieria de Software, este termino se utilizo primeramente en las conferencia de la OTAN en la decada de los 60's, donde se trataba la Crisis del Software, investigando mas a fondo del tema encontre esta liga de donde se pueden descargar los documentos que contienen el detalle de las conferencias de 1968 y 1969.
El CMMI es una evolución del CMM, desarrollado por el SEI (Software Engineering Institute), existe poca información de habla hispana acerca del tema, pero este es un excelente link que habla además de una herramienta para el seguimiento de la evaluación CMM-Quest
Siempre he tratado através de este blog presentar posts unica y exclusivamente de Ingenieria de Software, en este caso haré una excepción y es que se me hizo muy interesante este artículo via infochannel que habla de la oportunidad que se tiene en la industria de software. Adelantandoles habla de que la mayor inversión en TI se da en las áreas de sistemas de las empresas, seguido del software empaquetado y de el desarrollo a la medida, bien, se plantea que si dentro de una empresa por ejemplo del ramo farmaceutico desarrolla aplicaciones de calidad para el ramo, otra empresa farmaceutica podria interesarse en la misma, esto podria lograr una independencia de dicha area de sistemas, bajo este esquema se aprovecha el conocimiento que se tiene del ramo y las demas empresas de la industria no inventarán el hilo negro. Me gustaria saber si esto se esta dando a nivel mundial, agradecere sus comentarios.
Como en algún otro post lo comente los conocimientos en Gerencia de Proyectos o Administración de proyectos son importantes en el área de Software, casi todo nuestro trabajo es llevado a través de proyectos. Aqui un excelente Link de Administración de proyectos , dentro del cual podrás encontrar un excelente curso en línea de Administración de proyectos...solo necesitas registrarte.
UML ya en estos tiempos es un estándar dentro de la industria, pero existen varias técnicas de modelado que nacieron antes que UML, de hecho como ustedes saben UML es la fusión de las técnicas de Jacobson, Rumbaugh y Booch. Bién ahora que herramientas existen en el mercado que manejen una o varias técnicas, en esta página encontrarán la respuesta (aunque faltan algunas entre ellas Rational, grave error).
Se habla mucho de Requerimientos, de la base del desarrollo de un sistema, como todos los productos que conforman el desarrollo de software los requerimientos requieren de una administración, toda una labor que permita tener una base de datos de requerimientos para de alli partir a las siguientes fases (claro sin olvidar en los cambios) pero sabemos como se clasifican los requerimientos???, sabemos que reportes son necesarios para la administración de requerimientos???, esta y otras preguntas son contestadas en este excelente sitio de Administración de Requerimientos.
Dentro del área de testing existe el tema de inspecciones, las inspecciones son procesos que se llevan a cabo durante todo el ciclo de desarrollo del software, y es un elemento mas para garantizar la calidad del software, en esta liga pueden encontrar mas información.
Dentro de la página de Ian Somerville me encontré un vínculo a esta página, trae varios recursos como templates de SRS o templates para documentos de software entre otras cosas.
Uno de los personajes con mejor reputación dentro en la Ingeniería de Software sin lugar a dudas es Ian Somerville, y uno de sus libros mas conocidos es Software Engineering dentro de su página Ian publica varias presentaciones como resumen de su libro.
Cuantas veces hemos oído hablar de los términos Bussiness Modeling y Domain Modeling, sobre todo hablando de el proceso unificado (unified process), pero que significan estos términos, bueno una de las actividades que se describen en la captura de requerimientos del proceso unificado es entender el contexto del sistema (understand system context), esta actividad se realiza a traves de desarrollar un Bussiness Modeling y/o un Domain Modeling, el primero se refiere a plasmar y a entender los procesos dentro de una organización qe serán soportados por el sistema a desarrollar, por ejemplo el levantamiento de un pedido, y el segundo se refiere a entender los conceptos u objetos manejados dentro de estos procesos como por ejemplo una factura. Aparte de lo ya señalado en el bussiness modeling este tambien deberá establecer los empleados, sus responsabilidades y operaciones que desarrollan en cada uno de los procesos a ser soportados, lo anterior es vital en un sistema ya que muchas veces no se tiene definido un proceso claro de trabajo, de alli nacen parte de las deficiencias del software.
Como ya sabemos existen dos grupos de pruebas que se pueden realizar dentro del ciclo de desarrollo de un software, pruebas de caja negra y pruebas de caja blanca, las primeras se basan en que con determinadas entradas que es lo que debemos obtener como salida, y las segundas son las pruebas que se realizan al código de programación, en esta página encontrarán un curso en línea de pruebas de caja negra.
Bién todos sabemos lo importante que es la especificación de requerimientos y de Casos de uso, sabemos que es nuestro móvil durante todo el desarrollo de software. Recientemente fui a una presentación acerca de requerimientos en la cual se dieron varias características y clasificaciones de requerimientos, lo que extrañamente nunca se dice es acerca de como se deben redactar los requerimientos y/o casos de uso estos llevan una estructura gramatical, por ejemplo las acc iones dentro del flujo principal de un caso de uso tienen la siguiente estructura gramatical.
Sujeto + verbo+objeto directo+preposición
interesante verdad??? esta estructura gramatical sirve de base para especificar requerimientos correctamente. Tal vez debiera existir un sofware (no se si existe) de requerimientos que verifique requerimientos bién formados haciendo una analogía con XML.
Revisando bibliograf ía de UML, se pueden encontrar cosas realmente interesantes, cuando se hace la especificación de casos de uso, las precondiciones y poscondiciones nos pueden servir para especificar el estado inicial de la prueba y los casos de exito de la prueba respectivamente.