1. DEFINICIÓN DE INGENIERÍADEL SOFTWARE.
Desarrollar un sistema de software complejo no es algo que puede abordarse sin una
preparación previa. El hecho de abordar un proyecto de desarrollo de software como cualquier otro
ha llevado a una serie de problemas que limitan nuestra capacidad de aprovechar los recursos que
el hardware pone a nuestra disposición.
Los problemas que a lo largo de los años han ido apareciendo no es algo que se va a
solucionar en un corto espacio de tiempo pero identificarlos y conocer sus causas es el único
método que nos puede ayudar a solucionarlos. La combinación de métodos aplicables a cada una
de las fases del desarrollo del software, la construcción de herramientas para automatizar estos
métodos, el uso de técnicas para garantizar la calidad de los productos desarrollados y la
coordinación de todas las personas que intervienen en el desarrollo de un proyecto, hará que se
avance mucho en la solución de estos problemas. De todo esto se encarga la disciplina
llamada Ingeniería del Software.
Una definición concreta puede ser:
El establecimiento y uso de principios de ingeniería robustos, orientados a obtener software
económico, que sea fiable y funcione de manera eficiente sobre las máquinas.
La ingeniería del software abarca un conjunto de tres elementos clave: métodos, herramientas
y procedimientos, que facilitan al gestor el control del proceso de desarrollo y suministran a los
implementadores bases para construir de forma productiva software de alta calidad.
Los métodos indican cómo construir técnicamente el software, abarcando
amplias tareas de planificación y estimación de proyectos, análisis de
requisitos, diseño de estructuras de datos, programas y procedimientos, la
codificación, las pruebas y el mantenimiento.
Las herramientas proporcionan un soporte automático o semiautomático para
usar los métodos. Existen herramientas para cada una de las fases anteriores
y sistemas que integran las herramientas de cada fase de forma que sirven
para todo el proceso de desarrollo. Estas herramientas se denominan CASE
(Computer Assisted Software Engineering).
Los procedimientos definen la secuencia en que se aplican los métodos, los
documentos que requieren, los controles que aseguran la calidad y las
directrices que permiten a los gestores evaluar los progresos.
2. 3. EL CICLO DE VIDADEL SOFTWARE.
Por ciclo de vida del software, entendemos la sucesión de etapas por las que pasa el software
desde que un nuevo proyecto es concebido hasta que se deja de usar. Estas etapas representan el
ciclo de actividades involucradas en el desarrollo, uso y mantenimiento de sistemas de software,
además de llevar asociadas una serie de documentos que serán la salida de cada una de estas
fases y servirán de entrada en la fase siguiente.
Tales actividades son:
Adopción e identificación del sistema: es importante conocer el origen del sistema, así
como las motivaciones que impulsaron el desarrollo del sistema (por qué, para qué,
etcétera.).
Análisis de requerimientos: identificación de las necesidades del cliente y los usuarios que
el sistema debe satisfacer.
Especificación: los requerimientos se realizan en un lenguaje más formal, de manera que
se pueda encontrar la función de correspondencia entre las entradas del sistema y las
salidas que se supone que genera. Al estar completamente especificado el sistema, se
pueden hacer estimaciones cuantitativas del coste, tiempos de diseño y asignación de
personal al sistema, así como la planificación general del proyecto.
Especificación de la arquitectura: define las interfaces de interconexión y recursos entre
módulos del sistema de manera apropiada para su diseño detallado y administración.
Diseño: en esta etapa, se divide el sistema en partes manejables que, como anteriormente
hemos dicho se llaman módulos, y se analizan los elementos que las constituyen. Esto
permite afrontar proyectos de muy alta complejidad.
Desarrollo e implementación: codificación y depuración de la etapa de diseño en
implementaciones de código fuente operacional.
Integración y prueba del software: ensamble de los componentes de acuerdo a la
arquitectura establecida y evaluación del comportamiento de todo el sistema atendiendo a
su funcionalidad y eficacia.
Documentación: generación de documentos necesarios para el uso y mantenimiento.
Entrenamiento y uso: instrucciones y guías para los usuarios detallando las posibilidades y
limitaciones del sistema, para su uso efectivo.
Mantenimiento del software: actividades para el mantenimiento operativo del sistema. Se
clasifican en: evolución, conservación y mantenimiento propiamente dicho.
3. Existen diversos modelos de ciclo de vida, pero cada uno de ellos va asociado a unos
métodos, herramientas y procedimientos que debemos usar a lo largo de un proyecto.
Desarrollo del Software
Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene
el problema en su empresa ydesea que sea solucionado,para esto existe el analista de sistema quien es el
encargado de hacerle llegar todos los requerimientos y necesidades que tiene el cliente a los programadores
quienes son las personas encargadas de realizar lo que es la codificación y diseño del sistema para después
probarlo y lo instalan al cliente.Es asícomo intervienen varias personas ya que una solapersona no podría
determinar todo lo necesario lo mas seguro que le haga falta algún requerimiento o alguna parte del nuevo
sistema yentre mas estén involucradas mejor para cubrir con todos los requerimientos del sistema.
Proceso
El proceso de desarrollo del software se muestra gráficamente en la parte de arriba,a continuación
desarrollara una breve explicación del mismo.
El primer paso del proceso es el análisis,es aquídonde el analista se pone en contacto con la empresa para
ver como esta conformada,a que se dedica,saber todas las actividades que realiza en si, conocer la empresa
de manera general para posteriormente ver cuales son sus necesidades o requerimientos que la empresa
tiene en ese momento para poder realizar un análisis de la misma.
Es importante saber cuales son los requerimientos que la empresa tiene por que muchas veces
los sistemas se desarrollan pero no pensando en el cliente y es ahí donde el sistema no cumple o no satisface
las necesidades que existen en la empresa,según los requerimientos se empieza a realizar
el diagrama relacional todo debe de llevar una secuencia lógica de las actividades,todo esto se realiza de
manera manual para ver como será su diseño lógico ydiseño de pantallas es en este paso donde se plasma
todo y queda perfectamente bien definido como va hacer la funcionalidad del sistema.
El segundo paso es el de diseño aquíentran todo el diseño del sistema es decir las pantallas, base de datos,
todo esto debe de cumplir con ciertos estándares los cuales se toman en cuenta para poder desarrollar el
diseño con calidad y asípoder ofrecer un diseño amigable en cuestión de colores,tamaños de botones,cajas
de texto, etc.
El tercer paso es la codificación es aquídonde se desarrolla todo el código del sistema por parte del
programador esto se hace ya dependiendo de cada programador ya que cada programador tiene sus bases o
formas para realizarlo pero en si deben todos llegar al mismo objetivo de ofrecerle funcionalidad al sistema
siempre ycuando apegando se a las especificaciones del cliente.
El cuarto paso son las pruebas,es donde al sistema se pone a prueba como su palabra lo dice para asípoder
saber cuales son los posibles errores que se están generando del sistema y con ello mejorarlo para eliminar
todos los errores que se puedan presentar por que un programa con menor errores mayor calidad puede
llegar a tener.
El quinto y último paso es la instalación una vez realizado las pruebas correspondientes al sistema yhaberlo
4. corregido totalmente se procede a la instalación del mismo ya en la empresa para su uso correspondiente,
todo con la finalidad de que los procesos se realicen de una manera más eficiente eliminando costos,tiempoy
esfuerzo dentro de la organización.
Para aplicar la mejora continua a todo lo anterior es necesario aplicar ciertos pruebas las cuales deberán de
probar cada etapa del desarrollo del software dichas pruebas se deben de realizar de forma paralela y de
forma continua probando la unidad del programa,la integración del diseño físico,probando el sistema en
cuestión al diseño lógico ypor ultimo prueba de aceptación esta se realiza en base a los requerimientos que
se obtuvieron anteriormente,este es un proceso de prueba sencilla ymuy utilizada.
Otros puntos que son importantes considerar son las auditorias y las acciones correctivas representan
el motor impulsor de la mejora continua en el sistema de calidad,por lo que es de vital importancia llevar un
estricto control en el seguimiento de todos los problemas o no conformidades desde su detección hasta la
eliminación definitiva de la causa raíz.
Para haber desarrollado un plan de prueba primero se debió haber basado en lo que son los requerimientos
para posteriormente describir las técnicas de pruebas a utilizar que se aplicaran en las diferentes etapas del
desarrollo del software.
Algo muy importante que no se puede dejar pasar es que todas las pruebas se deben de realizar durante la
realización del software ya que si se llegara esperar al final del desarrollo del sistema esto puede ser muy
tardado y costoso devolverse al origen de los posibles errores,mientras todo programa se este probando
durante su desarrollo es lo mejor y mas optimo para quien lo esta desarrollando,ya que de esta mane ra
disminuye costos,tiempo yesfuerzo en el desarrollo del software y de esta manera puede brindar un software
de calidad al cliente siempre cumpliendo con las necesidades o requerimientos del cliente.
Como conclusión se puede decir que con la mejora continua garantiza la calidad del producto, ya que el
estarla aplicando día con día es lo mejor decisión que puede llegar a tener cualquier empresa,por que de esta
manera evita grandes problemas en la elaboración o desarrollo de los productos.Esto es fundamental para
todas las empresas ya que se vuelven competitivas,con mayor productividad y eficiencia.No hay que olvidar
que la mejora se da por que el cliente es el rey y hay que satisfacer todas ycada una de sus necesidades
siempre garantizando la calidad.
Leer más: http://www.monografias.com/trabajos39/desarrollo-del-software/desarrollo-del-
software2.shtml#ixzz3adblWs3F