conceptos y evolución del software

11
5. Conceptos 5.1. Ciclo de vida del software El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de ello es definir las diversas fases que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados. Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados. 5.2. Proceso de desarrollo de software Un proceso de desarrollo de software tiene como propósito la producción eficaz y eficiente de un producto software que reúna los requisitos del cliente. 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 sola persona no podría determinar todo lo necesario lo más seguro que le haga falta algún requerimiento o alguna parte del nuevo sistema y entre más estén involucradas mejor para cubrir con todos los requerimientos del sistema.

Upload: oscar-hurtado

Post on 20-Nov-2015

6 views

Category:

Documents


4 download

DESCRIPTION

Software

TRANSCRIPT

5. Conceptos5.1. Ciclo de vida del softwareEl trminociclo de vida del softwaredescribe el desarrollo de software, desde la fase inicial hasta la fase final. El propsito de ello es definir las diversas fases que se requieren paravalidarel desarrollo de la aplicacin, es decir, para garantizar que el software cumpla los requisitos para la aplicacin yverificacinde los procedimientos de desarrollo: se asegura de que los mtodos utilizados son apropiados.

Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementacin. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en lacalidaddel software, en los plazos de implementacin y en los costos asociados.

5.2. Proceso de desarrollo de softwareUn proceso de desarrollo de software tiene como propsito la produccin eficaz y eficiente de un producto software que rena los requisitos del cliente. 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 codificacin y diseo del sistema para despus probarlo y lo instalan al cliente. Es as como intervienen varias personas ya que una sola persona no podra determinar todo lo necesario lo ms seguro que le haga falta algn requerimiento o alguna parte del nuevo sistema y entre ms estn involucradas mejor para cubrir con todos los requerimientos del sistema.

El primer paso del proceso es el anlisis, es aqu donde el analista se pone en contacto con la empresa para ver cmo est conformada, a que se dedica, saber todas las actividades que realiza en s, conocer la empresa de manera general para posteriormente ver cules son sus necesidades o requerimientos que la empresa tiene en ese momento para poder realizar un anlisis de la misma.Es importante saber cules 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, segn los requerimientos se empieza a realizar el diagrama relacional todo debe de llevar una secuencia lgica de las actividades, todo esto se realiza de manera manual para ver cmo ser su diseo lgico y diseo 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 diseo aqu entran todo el diseo del sistema es decir las pantallas, base de datos, todo esto debe de cumplir con ciertos estndares los cuales se toman en cuenta para poder desarrollar el diseo con calidad y as poder ofrecer un diseo amigable en cuestin de colores, tamaos de botones, cajas de texto, etc.El tercer paso es la codificacin es aqu donde se desarrolla todo el cdigo 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 y cuando 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 cules son los posibles errores que se estn generando del sistema y con ello mejorarlo para eliminar todos los errores que se puedan presentar porque un programa con menor errores mayor calidad puede llegar a tener.El quinto y ltimo paso es la instalacin una vez realizado las pruebas correspondientes al sistema y haberlo corregido totalmente se procede a la instalacin del mismo ya en la empresa para su uso correspondiente, todo con la finalidad de que los procesos se realicen de una manera ms eficiente eliminando costos, tiempo y esfuerzo dentro de la organizacin.5.3. Metodologa de desarrollo de softwareUn proceso de software detallado y completo suele denominarse Metodologa. Las metodologas se basan en una combinacin de los modelos de proceso genricos (cascada, evolutivo, incremental, espiral entre otros). Adicionalmente una metodologa debera definir con precisin los artefactos, roles y actividades involucrados, junto con prcticas y tcnicas recomendadas, guas de adaptacin de la metodologa al proyecto, guas para uso de herramientas de apoyo, etc. Habitualmente se utiliza el trmino mtodo para referirse a tcnicas, notaciones y guas asociadas, que son aplicables a una (o algunas) actividades del proceso de desarrollo, por ejemplo, suele hablarse de mtodos de anlisis y/o diseo. La comparacin y/o clasificacin de metodologas no es una tarea sencilla debido a la diversidad de propuestas y diferencias en el grado de detalle, informacin disponible y alcance de cada una de ellas. A grandes rasgos, si tomamos como criterio las notaciones utilizadas para especificar artefactos producidos en actividades de anlisis y diseo, podemos clasificar las metodologas en dos grupos: Metodologas Estructuradas y Metodologas Orientadas a Objetos. Por otra parte, considerando su filosofa de desarrollo, aquellas metodologas con mayor nfasis en la planificacin y control del proyecto, en especificacin precisa de requisitos y modelado, reciben el apelativo de Metodologas Tradicionales (o tambin denominadas Metodologas Pesadas, o Peso Pesado). Otras metodologas, denominadas Metodologas giles, estn ms orientadas a la generacin de cdigo con ciclos muy cortos de desarrollo, se dirigen a equipos de desarrollo pequeos, hacen especial hincapi en aspectos humanos asociados al trabajo en equipo e involucran activamente al cliente en el proceso.

5.4. Proyecto de softwareEs el Proceso de gestin para la creacin de un Sistema o software, la cual encierra un conjunto de actividades, un proyecto es una asociacin de esfuerzos, limitado en el tiempo, con un objetivo definido, que requiere del acuerdo de un conjunto de especialidades y recursos. Tambin puede definirse como una organizacin temporal con el fin de lograr un propsito especfico. Cuando los objetivos de un proyecto son alcanzados se entiende que el proyecto est completo.La gran variedad de elementos que intervienen en un proyecto, hacen que ste sea nico; Pese a ello, es posible aplicar tcnicas y mtodos comunes para asistir su gestin. Los proyectos informticos obedecen a esta definicin, pero adems se caracterizan por el impacto directo e indirecto que provocan en toda la organizacin, la casi inevitable existencia de relaciones con otros proyectos informticos, el estar altamente propensos a sufrir de obsolescencia, especialmente tecnolgica y la intensa participacin de recurso humano de distintas reas durante su desarrollo.

LA EVOLUCIN DEL SOFTWARE

La primera era:

Orientacin por lotes (batch) Distribucin limitada Se trabajaba con la idea de Codificar y Corregir. No exista documentacin

Al comienzo cuando surgi el software, se miraba de ms. El desarrollo del software se realizaba sin ninguna planificacin, debido a esto surgieron una gran cantidad de errores debido a que estos no se hacan de la forma correcta y los costos de su desarrollo aumentan considerablemente, por lo tanto los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, en pocas ocasiones salan con xito.

Durante los primeros aos lo normal era que el hardware fuera de propsito general. Por otra parte, el software se diseaba a medida para cada aplicacin y tena una distribucin relativamente pequea. El software como producto estaba en su infancia. La mayora del software se desarrollaba y era utilizado por la misma persona u organizacin. La misma persona lo escriba, lo ejecutaba y, si fallaba, lo depuraba. Debido a que la movilidad en el trabajo era baja, los ejecutivos estaban seguros de que esa persona estar all cuando se encontrara algn error. Debido a este entorno personalizado del software, el diseo era un proceso implcito, realizado en la mente de alguien, y la documentacin normalmente no exista.

La segunda era:

Aparicin de Multiprogramacin y Sistemas Multiusuarios. Tiempo real Bases de datos Inicio de la crisis del software. Se busca simplificar cdigo. Aparicin de Software como producto.

La segunda era en la evolucin de los sistemas de computadora se extiende desde la mitad de la dcada de los sesenta hasta finales de los setenta. La multiprogramacin y los sistemas multiusuario introdujeron nuevos conceptos de interaccin hombre-mquina. Las tcnicas interactivas abrieron un nuevo mundo de aplicaciones y nuevos niveles de sofisticacin del hardware y del software. Los sistemas de tiempo real podan recoger, analizar y transformar datos de mltiples fuentes, controlando as los procesos y produciendo salidas en milisegundos en lugar de en minutos. Los avances en los dispositivos de almacenamiento en lnea condujeron a la primera generacin de sistemas de gestin de bases de datos.

La segunda era se caracteriz tambin por el establecimiento del software como producto. El software ya se desarrollaba para tener una amplia distribucin en un mercado multidisciplinar. Los programas se distribuan para computadoras grandes y para minicomputadoras, a cientos e incluso a miles de usuarios.

Conforme creca el nmero de sistemas informticos, comenzaron a extenderse las bibliotecas de software de computadora. Una nube negra apareci en el horizonte. Todos esos programas, todas esas sentencias fuente tenan que ser corregidas cuando se detectaban fallas, modificadas cuando cambiaban los requisitos de los usuarios o adaptadas a nuevos dispositivos hardware que se hubieran adquirido. Estas actividades se llamaron colectivamente mantenimiento del software. El esfuerzo gastado en el mantenimiento del software comenz a absorber recursos en una medida alarmante.

La tercera era: Sistemas distribuidos Complejidad en los Sistemas de Informacin. Hardware de bajo costo Impacto en el consumo

La tercera era se caracteriz por la llegada y amplio uso de los microprocesadores. El microprocesador ha producido un extenso grupo de productos inteligentes, desde automviles hasta hornos de microondas, desde robots industriales a equipos de diagnsticos de suero sanguneo, pero ninguno ha sido ms importante que la computadora personal.

La tercera era en la evolucin de los sistemas de computadora comenz a mediados de los aos setenta y continu ms all de una dcada. El sistema distribuido, mltiples computadoras, cada una ejecutando funciones concurrentemente y comunicndose con alguna otra, increment notablemente la complejidad de los sistemas informticos. Las redes de rea local y de rea global, las comunicaciones digitales de alto ancho de banda y la creciente demanda de acceso instantneo a los datos, supusieron una fuerte presin sobre los desarrolladores del software. An ms, los sistemas y el software que lo permitan continuaron residiendo dentro de la industria y de la academia. El uso personal era extrao.

La cuarta era: Sistemas personales potentes Tecnologas orientadas a objetos Sistemas expertos Redes neuronales artificiales Computacin en paralelo Redes de computadoras

La cuarta era de la evolucin de sistemas informticos se aleja de las computadoras individuales y de los programas de computadoras, dirigindose al impacto colectivo de las computadoras y del software. Potentes mquinas personales controladas por sistemas operativos sofisticados, en redes globales y locales, acompaadas por aplicaciones de software avanzadas se han convertido en la norma. Las arquitecturas informticas estn cambiando de entornos centralizados de grandes computadoras a entornos descentralizados cliente/servidor. De hecho Internet se puede observar como un software al que pueden acceder usuarios individuales.

A medida que la cuarta generacin progresa, han comenzado a surgir nuevas tecnologas. Las tecnologas orientadas a objetos estn desplazando rpidamente los enfoques de desarrollo de software ms convencionales en muchas reas de aplicaciones. Los sistemas expertos y el software de inteligencia artificial han salido del laboratorio para entrar en aplicaciones prcticas de una gran variedad de problemas del mundo real.

ERALENGUAJESCARACTERSTICAS

1 Fortran1. Basic1. Logo1. Cobol1. Fue el primer y principal lenguaje Cientfico.1. Diseado por IBM.1. Utilizado tambin para aplicaciones comerciales.1. Desarrollado como lenguaje de tiempo compartido.1. Traza elementos grficos estableciendo la geometra de lpiz. Ampliamente usado en programacin en minicomputadores.

21. Pascal1. Prolog1. Mumps1. Lisp1. Lenguaje Acadmico.1. Sus caractersticas son copiadas por otros lenguajes.1. xito comercial a travs de Borland.1. Desarrollado en Francia, 1973.1. Aplicaciones en Inteligencia Artificial (IA).1. Sistema de Multiprogramacin.1. Incluye su propia base de datos.1. Utilizado en aplicaciones mdicas.1. Sintaxis muy diferente de los dems lenguajes.1. Programa aplicaciones en IA.

3 C, C++1. Modula-21. dBase1. Desarrollado en los ochentas.1. Se utiliza en aplicaciones comerciales.1. C++, se utiliza para la tecnologa orientada a objetos.1. Versin mejorada de Pascal.1. Desarrollada en 1979.1. Lenguaje estndar para aplicaciones comerciales.1. Ramas colaterales: Clipper, FoxBase.

4 Visual C++1. Visual Basic1. Desarrollado por Microsoft.1. Principalmente orientado a la tecnologa de objetos.1. Se utiliza para aplicaciones comerciales.1. Principalmente para aplicaciones comerciales.1. Versin cotizada, ya que permite interactuar con tablas de manejadores de bases de datos y lenguaje SQL.

Bibliografa

-Ingeniera de Software:Roger S. PressmanMcGraw-Hill.- Anlisis y Diseo de SistemasKendall & KendallPearson Educacin- Diccionario de ComputacinFreedman AlanMcGraw-Hill.- Definicin del proceso de desarrollo de software (pureart) John Henry BermdezJuan Carlos Vidal- Monografas Desarrollo del software-kioskea.netCiclo de vida del software- Slideshare.netModelos del proceso del software- WikispacesProcesos de Software- TaqticaProyectos de Software