Definición de ingeniería del software

H

software

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.
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.
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
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

Recomendados

Ciclo de vida de una aplicacion informatica von
Ciclo de vida de una aplicacion informaticaCiclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaMari Abad
3.5K views8 Folien
Fases de un proyecto de desarrollo de software von
Fases de un proyecto de desarrollo de softwareFases de un proyecto de desarrollo de software
Fases de un proyecto de desarrollo de softwareEugenio Del Pozo Dipre
50.2K views58 Folien
Etapas de Desarrollo Software von
Etapas de Desarrollo SoftwareEtapas de Desarrollo Software
Etapas de Desarrollo SoftwareDaniel Román
152.8K views26 Folien
Ciclo de vida de un proyecto de Software. von
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Edwin Belduma
4.9K views7 Folien
Ciclos de vida del software von
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del softwareGUEOVANNY20
33.7K views222 Folien
Metodología Clásica von
Metodología ClásicaMetodología Clásica
Metodología ClásicaValentina Contreras
1.3K views10 Folien

Más contenido relacionado

Was ist angesagt?

Procesos de desarrollo de Software von
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Softwareolea_saavedra
3.4K views14 Folien
47 19822070 helen_saliyas von
47 19822070 helen_saliyas47 19822070 helen_saliyas
47 19822070 helen_saliyasHelen Carelys
20 views20 Folien
Herramientas y entornos de implementacion de software von
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareMiguel Sanchez
2.1K views27 Folien
Ciclo De Vida von
Ciclo De VidaCiclo De Vida
Ciclo De VidaJgperez
10.3K views46 Folien
Modelos de desarrollo de software von
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de softwarejairo sanchez
1.1K views14 Folien
Etapas del Proceso de la Ingeniería del Software von
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareT.I.C
9.3K views4 Folien

Was ist angesagt?(19)

Procesos de desarrollo de Software von olea_saavedra
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Software
olea_saavedra3.4K views
Herramientas y entornos de implementacion de software von Miguel Sanchez
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
Miguel Sanchez2.1K views
Ciclo De Vida von Jgperez
Ciclo De VidaCiclo De Vida
Ciclo De Vida
Jgperez10.3K views
Modelos de desarrollo de software von jairo sanchez
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
jairo sanchez1.1K views
Etapas del Proceso de la Ingeniería del Software von T.I.C
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
T.I.C9.3K views
Implementacion de software von Tom Rodriguez
Implementacion de softwareImplementacion de software
Implementacion de software
Tom Rodriguez39.3K views
Etapas del desarrolo de un programa von zeta2015
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
zeta20156.8K views
El Proceso De Desarrollo De Software von ahias arosemena
El Proceso De Desarrollo De SoftwareEl Proceso De Desarrollo De Software
El Proceso De Desarrollo De Software
ahias arosemena22.8K views
Modelos de ciclo de vida del software von IEO Santo Tomás
Modelos de ciclo de vida del softwareModelos de ciclo de vida del software
Modelos de ciclo de vida del software
IEO Santo Tomás5.5K views
Tipos de ciclos de vida von sandrasig
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vida
sandrasig42K views
Desarrollo de software diapositiva von Norma Rodriguez
Desarrollo  de software diapositivaDesarrollo  de software diapositiva
Desarrollo de software diapositiva
Norma Rodriguez5.1K views
Ensayo Software von marialej90
Ensayo SoftwareEnsayo Software
Ensayo Software
marialej90258 views

Destacado

Tabulação pesquisa entorno da sadia von
Tabulação pesquisa entorno da sadiaTabulação pesquisa entorno da sadia
Tabulação pesquisa entorno da sadiaVereador Delfino Rodrigues
160 views1 Folie
Dan Letter of Recommendation von
Dan Letter of RecommendationDan Letter of Recommendation
Dan Letter of RecommendationDaniel Fernandez
77 views1 Folie
Участие зрителя в создании выставки: возможные формы и их эффективность von
Участие зрителя в создании выставки: возможные формы и их эффективность Участие зрителя в создании выставки: возможные формы и их эффективность
Участие зрителя в создании выставки: возможные формы и их эффективность URFU
426 views50 Folien
140922_LVOkla von
140922_LVOkla140922_LVOkla
140922_LVOklaTara Gravel
167 views4 Folien
Логопедические задачи в подготовительной к школе группе von
Логопедические задачи в подготовительной к школе группеЛогопедические задачи в подготовительной к школе группе
Логопедические задачи в подготовительной к школе группеdetsad34
366 views12 Folien
Cost reduction consultants von
Cost reduction consultantsCost reduction consultants
Cost reduction consultantsthe-auditor
183 views7 Folien

Destacado(13)

Участие зрителя в создании выставки: возможные формы и их эффективность von URFU
Участие зрителя в создании выставки: возможные формы и их эффективность Участие зрителя в создании выставки: возможные формы и их эффективность
Участие зрителя в создании выставки: возможные формы и их эффективность
URFU426 views
Логопедические задачи в подготовительной к школе группе von detsad34
Логопедические задачи в подготовительной к школе группеЛогопедические задачи в подготовительной к школе группе
Логопедические задачи в подготовительной к школе группе
detsad34366 views
Cost reduction consultants von the-auditor
Cost reduction consultantsCost reduction consultants
Cost reduction consultants
the-auditor183 views
Banche agili un ossimoro? von XPeppers
Banche agili un ossimoro?Banche agili un ossimoro?
Banche agili un ossimoro?
XPeppers3.1K views
Continuous Delivery in Java von XPeppers
Continuous Delivery in JavaContinuous Delivery in Java
Continuous Delivery in Java
XPeppers2.3K views

Similar a Definición de ingeniería del software

AMSI von
AMSIAMSI
AMSIMario Sanchez
442 views28 Folien
Ingeniería de software von
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremichellchia11
100 views14 Folien
ciclo-de-vida-de-un-software (1).pptx von
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxNicolas Ormeño
107 views11 Folien
CICLO DE VIDA DEL SOFTWARE.pdf von
CICLO DE VIDA DEL SOFTWARE.pdfCICLO DE VIDA DEL SOFTWARE.pdf
CICLO DE VIDA DEL SOFTWARE.pdfJonathanSevilla10
27 views4 Folien
Modelo de cascadaa von
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
5.5K views9 Folien
Metodologías de diseño y desarrollo de sistemas de información von
Metodologías de diseño y desarrollo de sistemas de informaciónMetodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de informaciónJose Martinez
54 views23 Folien

Similar a Definición de ingeniería del software(20)

ciclo-de-vida-de-un-software (1).pptx von Nicolas Ormeño
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptx
Nicolas Ormeño107 views
Modelo de cascadaa von mendez45
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
mendez455.5K views
Metodologías de diseño y desarrollo de sistemas de información von Jose Martinez
Metodologías de diseño y desarrollo de sistemas de informaciónMetodologías de diseño y desarrollo de sistemas de información
Metodologías de diseño y desarrollo de sistemas de información
Jose Martinez54 views
Expoicioningenieria del software eddy von eddyingenieria
Expoicioningenieria del software eddyExpoicioningenieria del software eddy
Expoicioningenieria del software eddy
eddyingenieria435 views
Metodologias de Diseño y Desarrollo de Sistemas de Informacion von JonathanCarrillo46
Metodologias de Diseño y Desarrollo de Sistemas de InformacionMetodologias de Diseño y Desarrollo de Sistemas de Informacion
Metodologias de Diseño y Desarrollo de Sistemas de Informacion
Unidad 3 los modelos de procesos de software von Andhy H Palma
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
Andhy H Palma373 views
Unidad 3 los modelos de procesos de software von Andhy H Palma
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
Andhy H Palma268 views
Instituto tecnologio spencer w von Abner Garcia
Instituto tecnologio spencer wInstituto tecnologio spencer w
Instituto tecnologio spencer w
Abner Garcia263 views
Fundamentos de desarrollo de sistemas von flaco_mendez
Fundamentos de desarrollo de sistemasFundamentos de desarrollo de sistemas
Fundamentos de desarrollo de sistemas
flaco_mendez712 views
Trabajo 2 exposicion von Evelin Oña
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicion
Evelin Oña597 views

Último

excelavanzado1-231020003159-be608ddc.pdf von
excelavanzado1-231020003159-be608ddc.pdfexcelavanzado1-231020003159-be608ddc.pdf
excelavanzado1-231020003159-be608ddc.pdfsarahloradorado
11 views23 Folien
FC if03.pptx von
FC if03.pptxFC if03.pptx
FC if03.pptxScarletRodriguez14
5 views6 Folien
proyecto lavadora.pdf von
proyecto  lavadora.pdfproyecto  lavadora.pdf
proyecto lavadora.pdfCamilaCordoba30
11 views5 Folien
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real... von
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...codertectura
56 views19 Folien
Tema 3. Fuentes de Energía no renovables.ppt von
Tema 3. Fuentes de Energía no renovables.pptTema 3. Fuentes de Energía no renovables.ppt
Tema 3. Fuentes de Energía no renovables.pptAlmuPe
185 views43 Folien
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf von
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdfPRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdfNatalySnchez25
9 views10 Folien

Último(20)

excelavanzado1-231020003159-be608ddc.pdf von sarahloradorado
excelavanzado1-231020003159-be608ddc.pdfexcelavanzado1-231020003159-be608ddc.pdf
excelavanzado1-231020003159-be608ddc.pdf
sarahloradorado11 views
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real... von codertectura
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
¡Planificando para el éxito! Usando los Planners de Semantic Kernel para real...
codertectura56 views
Tema 3. Fuentes de Energía no renovables.ppt von AlmuPe
Tema 3. Fuentes de Energía no renovables.pptTema 3. Fuentes de Energía no renovables.ppt
Tema 3. Fuentes de Energía no renovables.ppt
AlmuPe185 views
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf von NatalySnchez25
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdfPRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf
NatalySnchez259 views
Tarea15.pptx von illanlir
Tarea15.pptxTarea15.pptx
Tarea15.pptx
illanlir7 views
Probando aplicaciones basadas en LLMs.pdf von Federico Toledo
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
Federico Toledo44 views
Estrategia de apoyo de tecnologia 3er periodo de tecnologia.pdf von SofiaArceCaicedo
Estrategia de apoyo de tecnologia 3er periodo de tecnologia.pdfEstrategia de apoyo de tecnologia 3er periodo de tecnologia.pdf
Estrategia de apoyo de tecnologia 3er periodo de tecnologia.pdf
Tarea-Teclados ergonómico y pantallas táctiles.pptx von xiomarakerly200325
Tarea-Teclados ergonómico y pantallas táctiles.pptxTarea-Teclados ergonómico y pantallas táctiles.pptx
Tarea-Teclados ergonómico y pantallas táctiles.pptx
Tarea Práctica web de la sesión 14.pptx von illanlir
Tarea Práctica web de la sesión 14.pptxTarea Práctica web de la sesión 14.pptx
Tarea Práctica web de la sesión 14.pptx
illanlir14 views
Fundamentos De Electricidad y Electrónica equipo 5.pdf von coloradxmaria
Fundamentos De Electricidad y Electrónica equipo 5.pdfFundamentos De Electricidad y Electrónica equipo 5.pdf
Fundamentos De Electricidad y Electrónica equipo 5.pdf
coloradxmaria13 views
MakeCode von Coffe9
MakeCodeMakeCode
MakeCode
Coffe96 views
electricidadyelectrnica1-230404014355-1be10cf7.docx von NyobeMahechaDvila
electricidadyelectrnica1-230404014355-1be10cf7.docxelectricidadyelectrnica1-230404014355-1be10cf7.docx
electricidadyelectrnica1-230404014355-1be10cf7.docx
Google alternativo, para volar von corpbracat
Google alternativo, para volarGoogle alternativo, para volar
Google alternativo, para volar
corpbracat8 views

Definición de ingeniería del software

  • 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