Professional Documents
Culture Documents
INTRODUCCIN
El software es desarrollado mediante distintos lenguajes de programacin, que permiten controlar el comportamiento de una mquina. Estos lenguajes consisten en un conjunto de smbolos y reglas sintcticas y semnticas, que definen el significado de sus elementos y expresiones. Un lenguaje de programacin permite a los programadores del software especificar, en forma precisa, sobre qu datos debe operar una computadora.
Dedicatoria
Primero dedicar este trabajo a mis padres por motivarnos en el tema. Dedicar este trabajo al Profesor: Jos E. Laos Herrera por ensearnos y incentivarnos por el tema a tratar.
QU ES EL SOFTWARE?
Se conoce como software al equipamiento lgico o soporte lgico de un sistema informtico; comprende el conjunto de los componentes lgicos necesarios que hacen posible la realizacin de tareas especficas, en contraposicin a los componentes fsicos, que son llamados hardware.
ETIMOLOGA
Software (pronunciacin AFI:*soft'ware+) es una palabra proveniente del ingls (literalmente: partes blandas o suaves), que en espaol no posee una traduccin adecuada al contexto, por lo cual se la utiliza asiduamente sin traducir y as fue admitida por la Real Academia Espaola (RAE). Aunque no es estrictamente lo mismo, suele sustituirse por expresiones tales como programas (informticos) o aplicaciones (informticas).
Software de programacin: Es el conjunto de herramientas que permiten al programador desarrollar programas informticos, usando diferentes alternativas y lenguajes de programacin, de una manera prctica. Incluyen bsicamente: Editores de texto. Compiladores. Intrpretes. Enlazadores. Depuradores.
Software de aplicacin: Es aquel que permite a los usuarios llevar a cabo una o varias tareas especficas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial nfasis en los negocios. Incluye entre muchos otros: Aplicaciones para Control de sistemas y automatizacin industrial. Aplicaciones ofimticas. Software educativo. Software empresarial. Bases de datos. Telecomunicaciones(por ejemplo Internet y toda su estructura lgica). Videojuegos, etc.
Los procesos de desarrollo de software poseen reglas preestablecidas, y deben ser aplicados en la creacin del software de mediano y gran porte, ya que en caso contrario lo ms seguro es que el proyecto o no logre concluir o termine sin cumplir los objetivos previstos, y con variedad de fallos inaceptables (fracasan, en pocas palabras). Entre tales procesos los hay giles o livianos (ejemplo XP), pesados y lentos (ejemplo RUP), y variantes intermedias. Normalmente se aplican de acuerdo al tipo y porte del software a desarrollar, a criterio del lder (si lo hay) del equipo de desarrollo.
El proceso de desarrollo puede involucrar numerosas y variadas tareas, desde lo administrativo, pasando por lo tcnico y hasta la gestin y el gerenciamiento. Pero, casi rigurosamente, siempre se cumplen ciertas etapas mnimas; las que se pueden resumir como sigue: Captura, elicitacin, especificacin y anlisis de requisitos(ERS). Diseo. Codificacin. Pruebas (unitarias y de integracin). Instalacin y paso a produccin. Mantenimiento.
MODELO CASCADA: Este, aunque es ms comnmente conocido como modelo en cascada es tambin llamado modelo clsico, modelo tradicional o modelo lineal secuencial. El modelo en cascada puro difcilmente se utiliza tal cual, pues esto implicara un previo y absoluto conocimiento de los requisitos, la no volatilidad de los mismos (o rigidez) y etapas subsiguientes libres de errores; ello slo podra ser aplicable a escasos y pequeos sistemas a desarrollar.
equipo profesional en las etapas tempranas del proyecto. Si los cambios se producen en etapa madura (codificacin o prueba) pueden ser catastrficos para un proyecto grande.
No es frecuente que el cliente o usuario final explicite clara y
completamente los requisitos (etapa de inicio); y el modelo lineal lo requiere. La incertidumbre natural en los comienzos es luego difcil de acomodar.
El cliente debe tener paciencia ya que el software no estar
disponible hasta muy avanzado el proyecto. Un error detectado por el cliente (en fase de operacin) puede ser desastroso, implicando reinicio del proyecto, con altos costos.
El incremental es un modelo de tipo evolutivo que est basado en varios ciclos Cascada Realimentados aplicados repetidamente, con una filosofa iterativa. En la figura 5 se muestra un refino del diagrama previo, bajo un esquema temporal, para obtener finalmente el esquema del modelo de ciclo de vida Iterativo Incremental, con sus actividades genricas asociadas. Aqu se observa claramente cada ciclo cascada que es aplicado para la obtencin de un incremento; estos ltimos se van integrando para obtener el producto final completo. Cada incremento es un ciclo Cascada Realimentado, aunque, por simplicidad, en la figura se muestra como secuencial puro.
Regin 1 - Tareas requeridas para establecer la comunicacin entre el cliente y el desarrollador. Regin 2 - Tareas inherentes a la definicin de los recursos, tiempo y otra informacin relacionada con el proyecto. Regin 3 - Tareas necesarias para evaluar los riesgos tcnicos y de gestin del proyecto. Regin 4 - Tareas para construir una o ms representaciones de la aplicacin software. Regin 5 - Tareas para construir la aplicacin, instalarla, probarla y proporcionar soporte al usuario o cliente (Ej. documentacin y prctica).
Regin 6 - Tareas para obtener la reaccin del cliente, segn la evaluacin de lo creado e instalado en los ciclos anteriores.
MODELO ESPIRAL WIN & WIN: El modelo Win&Win define un conjunto de actividades de negociacin al principio de cada paso alrededor de la espiral; se definen las siguientes actividades: Identificacin del sistema o subsistemas clave de los directivos saber qu quieren). Determinacin de condiciones de victoria de los directivos (saber qu necesitan y los satisface) Negociacin de las condiciones victoria de los directivos para obtener condiciones Victoria & Victoria (negociar para que ambos ganen). El modelo Win&Win hace nfasis en la negociacin inicial, tambin introduce 3 hitos en el proceso llamados puntos de fijacin, que ayudan a establecer la completitud de un ciclo de la espiral, y proporcionan hitos de decisin antes de continuar el proyecto de desarrollo del software.
Al inicio de un desarrollo, durante esta fase, se adquieren, renen y especifican las caractersticas funcionales y no funcionales que deber cumplir el futuro programa o sistema a desarrollar. Las tareas relativas a captura, elicitacin, modelado y registro de requerimientos, adems de ser sumamente importante, puede llegar a ser dificultosa de lograr acertadamente y llevar bastante tiempo relativo al proceso total del desarrollo, actualmente se habla de una Ingeniera de requisitos , aunque ella an no existe formalmente. Algunos requisitos no necesitan la presencia del cliente, para ser capturados o analizados; en ciertos casos los puede proponer el mismo analista o, incluso la obtencin de especificaciones a partir del cliente (u otros actores intervinientes) es un proceso humano muy interactivo e iterativo.
El objetivo de la Ingeniera de requisitos (IR) es sistematizar el proceso de definicin de requisitos permitiendo elicitar, modelar y analizar el problema, generando un compromiso entre los ingenieros de requisitos y los clientes/usuarios, ya que ambos participan en la generacin y definicin de los requisitos del sistema. La IR aporta un conjunto de mtodos, tcnicas y herramientas que asisten a los ingenieros de requisitos (analistas) para obtener requerimientos lo ms seguros, veraces, completos y oportunos posibles, permitiendo bsicamente:
Comprender el problema. Facilitar la obtencin de las necesidades del cliente/usuario. Validar con el cliente/usuario. Garantizar las especificaciones de requisitos.
no detallado, de los pasos y tareas a seguir para realizar la captura, anlisis y especificacin de requerimientos software. Tambin all se observa qu artefacto o documento se obtiene en cada etapa del proceso. En el diagrama no se explicita metodologa o modelo a utilizar, sencillamente se pautan las tareas que deben cumplirse, de alguna manera.
Una posible lista, general y ordenada, de tareas recomendadas para obtener la definicin de lo que se debe realizar, los productos a obtener y las tcnicas a emplear durante la actividad de elicitacin de requisitos, en fase de Especificacin de Requisitos Software es: Obtener informacin sobre el dominio del problema y el sistema actual (UdeD). Preparar y realizar las reuniones para elicitacin/negociacin. Identificar/revisar los objetivos del usuario. Identificar/revisar los objetivos del sistema. Identificar/revisar los requisitos de informacin. Identificar/revisar los requisitos funcionales Identificar/revisar los requisitos no funcionales Priorizar objetivos y requisitos. Algunos principios bsicos a tener en cuenta: Presentar y entender cabalmente el dominio de la informacin del problema. Definir correctamente las funciones que debe realizar el Software.
Se clasifican en tres los tipos de requisitos de sistema: Requisitos funcionales Los requisitos funcionales describen: Los servicios que proporciona el sistema (funciones). La respuesta del sistema ante determinadas entradas. El comportamiento del sistema en situaciones particulares. Requisitos no funcionales A su vez, hay tres tipos de requisitos no funcionales: Requisitos del producto. Especifican el comportamiento del producto (Ej. prestaciones, memoria, tasa de fallos, etc.) Requisitos organizativos. Se derivan de las polticas y procedimientos de las organizaciones de los clientes y desarrolladores (Ej. estndares de proceso, lenguajes de programacin, etc.) Requisitos externos. Se derivan de factores externos al sistema y al proceso de desarrollo (Ej. requisitos legislativos, ticos, etc.) Requisitos del dominio.
QUE ES EL SOFTWARE? ETIMOLOGA DEFINICIN DEL SOFTWARE CLASIFICACIN DEL SOFTWARE Software de sistema Software de programacin Software de aplicacin PROCESO DE CREACIN DEL SOFTWARE MODELOS DE PROCESOS DE VIDA O CICLO DE VIDA MODELO CASCADA Desventajas del modelo cascada MODELOS EVOLUTIVOS MODELO ITERATIVO INCREMENTAL MODELO ESPIRAL MODELO ESPIRAL WIN & WIN ETAPAS EN EL DESARROLLO DEL SOFTWARE PROCESOS, MODELADOS Y FORMAS DE
5 6 7 8 8 9 10 11 13 14 15 16 17 19 21 22
23 27