martes, 17 de noviembre de 2009

Fases del Proceso del desarrolo



Análisis de requisitos

Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios.
El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software. La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales. Se han ideado modelos y diversos procesos de trabajo para estos fines. Aunque aun no está formalizada, ya se habla de la Ingeniería de Requisitos. La IEEE Std. 830-1998 normaliza la creación de las Especificaciones de Requisitos Software (Software Requirements Specification).

Diseño y arquitectura

Se refiere a determinar como funcionará de forma general sin entrar en detalles. Consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se definen los Casos de Uso para cubrir las funciones que realizará el sistema, y se transforman las entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano a la programación orientada a objetos.

Programación

Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no es necesariamente la porción más larga. La complejidad y la duración de esta etapa está intimamente ligada al o a los lenguajes de programación utilizados.

Pruebas

Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral,para así llegar al objetivo. Se considera una buena practica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas.
En general hay dos grandes formas de organizar un area de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como están descritas. El segundo enfoque es tener un area de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en que condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal inexperto no consideraría.

Documentación

Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.

Mantenimiento

Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs.
La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento.

viernes, 16 de octubre de 2009

Ingeniería de Software

La definición simple y científica seria que es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad.
Y el objetivo como tal de la ingeniería de software y de porque se crea y mejora serian para:

* Mejorar la calidad de los productos de software
* Aumentar la productividad y trabajo de los ingenieros del software.
* Facilitar el control del proceso de desarrollo de software.
* Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.
* Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.

Algunos de los puntos que se desarrollan y tratan de este tema y que de alguna manera ayuda a mejorar o avanzar a un nivel mas alto tanto como en calidad, rendimiento, optimización, capacitación y ser líder son:

* Objetivos de la ingeniería de software
* Competitividad
* Estrategias para su desarrollo
* Método del ciclo de vida clásico
* Método de desarrollo por análisis estructurado
* Diccionario de datos.
* Diagrama de estructura de datos
* Gráfica de estructura
* Etapas del método de prototipos
* Coordinación y Gestión del proyecto.
* Mediciones y estimaciones
* Reingeniería e ingeniería inversa

La idea no es copiar/pegar y dar las definiciones y todo lo referente a esto por ponerlo y ya, sino mas bien leer, entender, dar un conocimiento general de este tema y mostrar interés en ello para investigarlo mucho mas a fondo. Esto hace que nosotros como estudiantes y futuros Ingenieros de Venezuela seamos capaces y estar al nivel para hacer progresar el país.

Para mi la ingeniería de software es la historia de cómo empezó la crisis del software, de cómo los ingenieros del pasado hayaron la manera sacando cálculos o equipos o creando algo y que por medio del error y continuo y arduo trabajo descubrieron la forma de hacerlo y mejorarlo. El analizar un problema o fallo que puedan tener y ante nada el cómo prevenirlo; teniendo una base y capacidad de proyectos y datos ser vanguardistas.

Páginas webs muy completas con información de todo tipo sobre Ingenieria de Software:

http://www.monografias.com/trabajos5/inso/inso.shtml
http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software
http://www.angelfire.com/scifi/jzavalar/apuntes/IngSoftware.html
http://es.kioskea.net/contents/genie-logiciel/genie-logiciel.php3

Libro de Vida

Personal

Nací en Caracas el 5 de Mayo de 1985 en el Hospital de Caracas, soy venezolano y a la ves tengo nacionalidad europea por herencia. Estoy graduado de Bachiller en Ciencias del plantel Educativo "Colegio San Agustin" y actualmente estudiante de la Universidad Santa María 6º semestre con materias del 7º (Las matemáticas me prelaban algunas materias). Tengo novia y ya no falta nada para cumplir un año juntos. desde el 2006 trabajo mientras estudio para asi formarme profesionalmente y obtener experiencia para la dura vida que nos toca pero con buenos ideales y enfocamdome en lo que me proponga

Educación

Empecé la educacíon a los 4 años en el Colegio San Agustín ubicado en El Marqués, Av Sanz. Ahi estuve toda mi niñez y adolecencia hasta culminar como graduado de Bachiller en Ciencias a finales del año 2004. Nunca fui problematico y tuve un rendimiento un poco mayor al del promedio.
Luego comence la Universidad un año despues; habia quedado en todas las universidades privadas mas nó en las públicas y por recomendación, por ser mi hermana egresada de allí y estar mas cerca de donde vivo escogí la Universidad Santa María.

Familia

Actualmente mis padres se encuentran separados y tengo dos hermanas mayores, una de 30 años que se encuentra viviendo en España felizmente casada y otra de 27 años que vive en su apartamento en Caracas y es felizmente divorciada. Y eso me hace a mi el mas pequeño de la camada... digo de la familia.
Solo tengo a mis abuelos por parte de mi mamá ya que de por parte de mi papá ya no estan más con nosotros.