cuestionario 1

download cuestionario 1

of 9

description

gege

Transcript of cuestionario 1

  • INGENIERIA DE SOFTWARE

    pg. 1

    UNIVERSIDAD NACIONAL DEL ALTIPLANO PUNO

    CUESTIONARIO Nro. 1

    ALUMNO: Choque Sarmiento Santos Miguel

    CODIGO: 135257

    DOCENTE: Ing. Magaly G. Gonzales Paco

    ESCUELA PROFESIONAL: Ingeniera de Sistemas

    06 de Octubre de 2015

  • INGENIERIA DE SOFTWARE

    pg. 2

    1. DIFERENCIA ENTRE INGENIERIA DE SOFTWARE Y CIENCIAS DE LA

    COMUNICACIN

    Desde hace algunos aos se viene discutiendo a nivel internacional sobre cmo se

    debe considerar la educacin en los campos de la computacin o informtica, es asi

    que ACM e IEEE, dos de las instituciones ms representativas de este campo en el

    mundo, proponen cinco grandes carrearas y que se pueden revisar en las carreras

    definidas por estas instituciones son:

    Ciencias de la Computacin (Computer Science)

    Ingeniera de Software (Software Engineering)

    Sistemas de Informacin (Information Systems)

    Ingeniera de Computacin (Computer Engineering)

    Tecnologas de Informacin (Information Technology)

    CIENCIAS DE LA COMUNICACIN

    Ciencias de la Computacin es el estudio de los sistemas informticos, incluyendo los procesos algortmicos y los principios que intervienen en el diseo de hardware y software. Los profesionales en ciencias de la computacin se encargan del diseo de algoritmos, lenguajes, herramientas y sistemas de software. Disean y construyen software, creando soluciones eficientes a problemas del mundo real en campos como la medicina, el comercio, la biologa y los negocios.

    INGENIERIA DE SOFTWARE

    Ingeniera de Software es la prctica del diseo e implementacin de software

    grande, confiable, eficiente y econmico mediante la aplicacin de los

    principios y prcticas de la ingeniera.

    Esta disciplina se ocupa del diseo e implementacin de software complejo de

    una manera confiable y eficiente, aplicando los principios y prcticas de la

    ingeniera.

    Los ingenieros de software combinan la experiencia en ciencias de la

    computacin, ingeniera y matemticas para disear, definir y organizar

    diversos aspectos de un producto software complejo. Los profesionales de esta

    disciplina estn capacitados en todos los aspectos relacionados al ciclo de vida

    del software, incluyendo temas de costo del proceso de desarrollo.

  • INGENIERIA DE SOFTWARE

    pg. 3

    En conclusin cul es la diferencia entre ingeniera de software y ciencias de la computacin? Ciencias de la Computacin es el estudio de los sistemas informticos, incluyendo los procesos algortmicos y los principios que intervienen en el diseo de hardware y software Ingeniera de Software es la prctica del diseo e implementacin de software grande, confiable, eficiente y econmico mediante la aplicacin de los principios y prcticas de la ingeniera

    2. DIFERENCIA ENTRE INGENIERIA DE SOFTWARE E INGENIERIA DE

    SISTEMAS

    INGENIERIA DE SOFTWARE

    La ingeniera de software es el estudio de y aplicacin de enfoques

    sistemticos, disciplinados y cuantificables al desarrollo, operacin y mantenimiento

    de software en otras palabras, la aplicacin de los principios fundamentales de las

    ingenieras, al software.

    En palabras sencillas podramos decir que es la utilizacin de mtodos para

    crear y mantener el software.

    El ingeniero(a) de software es el arquitecto de edificios de la ciudad de las

    tecnologas de la informtica.

    INGENIERIA DE SISTEMAS

    Se entiende ingeniera de sistemas como un enfoque robusto de creacin,

    diseo y operacin de sistemas. Consiste en crear y cuantificar metas sistemticas y

    escoger el ms eficiente segn a las metas.

    Tratando de explicarlo de una forma ms simple, la ingeniera de sistemas crea

    y optimiza sistemas complejos que permitan replicar procesos interdisciplinarios de

    una forma ptima.

    El ingeniero de sistemas es el urbanista de la ciudad de las tecnologas de la

    informacin.

    EN CONCLUSION:

    Queda claro con los conceptos expresados anteriormente, que cada disciplina a pesar

    de venir de la misma raz, tienen diferencias en los roles que juegan en el

  • INGENIERIA DE SOFTWARE

    pg. 4

    entendimiento y el desarrollo de la computacin y las tecnologas de la informacin. A

    modo de resumen, durante cada tema se ha tratado de sintetizar lo que es cada

    disciplina, cerrando as cada tema con una analoga para dejar mas claro el concepto.

    Para cerrar de forma general de la investigacin, se ha de decir que cada disciplina

    tiene un rol dentro de la gran sociedad de las TI modernas, construyendo juntas la

    ciudad de las tecnologas de la informacin. En conclusin la gran diferencia es que

    cada una cumple una funcin especializada.

    Construccin y mantenimiento de software (ing. De sistemas)

    Automatizacin del procesamiento de informacin(ing. Informtica)

    Entendimiento terico para automatizar y computar acciones (ciencias de la

    comunicacin)

    3. QUE ES UN PROCESO DE SOFTWARE

    Un Proceso es Un conjunto de actividades interrelacionadas que transforman entradas en

    salidas

    Un Proceso Software (PS) es Un conjunto coherente de polticas, estructuras organizacionales,

    tecnologas, procedimientos y artefactos que son necesarios para concebir, desarrollar, instalar

    y mantener un producto software.

  • INGENIERIA DE SOFTWARE

    pg. 5

    4. QUE ES UN MODELO DE PROCESO DE SOFTWARE

    Los modelos de desarrollo de software son una representacin abstracta de una manera

    en particular. Realmente no representa cmo se debe desarrollar el software, sino de

    un enfoque comn. Puede ser modificado y adaptado de acuerdo a las necesidades del

    software en proceso de desarrollo.

    4.1 modelo lineal (o modelo de cascada)

    Es el ms antiguo de todos los modelos de Ingeniera del Software. El modelo lineal presenta una estructura secuencial (de ah el nombre de Modelo en cascada) formada por seis fases o etapas:

    - Anlisis de sistema - Anlisis de requisitos de software - Diseo - Codificacin - Prueba - Mantenimiento

    Las fases incluyen dentro de s determinadas tareas que clasifican de una forma clara el trabajo a realizar.

    El desarrollo de las fases, como he mencionado antes, se produce de manera secuencial. Una vez se produce el anlisis tanto del Sistema como de los requisitos del software demandado por el cliente, (fases en las que la intervencin del cliente es absolutamente necesaria), se procede a la fase de diseo de la arquitectura global del software. Un diseo elaborado de forma cuidadosa llevar a una rpida codificacin. Tras haber traducido el programa a un lenguaje comprensible para el ordenador, se comprueban los elementos de forma individual y ms tarde de manera homognea (todos los sistemas a la vez). Una vez entregado el software al cliente, la fase de Mantenimiento comprender las actualizaciones y las correcciones de errores que sean necesarias en el programa.

    El Modelo en cascada no permite retroceder (ms tarde analizaremos las ventajas e inconvenientes de todos los modelos en comn), por lo que se hace estrictamente necesario que al final de cada fase el analista de sistemas o, en su caso, el programador, verifique y valide todo el trabajo realizado, ya que un error no detectado a tiempo podra perjudicar gravemente la fecha de entrega del software a nuestro cliente.

    4.2 modelo incremental

    El modelo incremental es una evolucin del modelo de cascada; viene a suplir el problema de no poder retroceder en las fases de desarrollo del software. Es, por tanto, un modelo no secuencial.

  • INGENIERIA DE SOFTWARE

    pg. 6

    El funcionamiento es sencillo. Comienza con el anlisis de los requisitos, tras el cual se prepara un primer diseo. La novedad de este modelo respecto del anterior, es la introduccin de iteraciones para bifurcar diseos. Es decir, este modelo ofrece la posibilidad de comenzar un diseo, arquitectura, estructura, etc del software, que de no convencer al cliente (o al propio programador) es rechazado y se comienza con una segunda iteracin (o un segundo diseo), sin necesidad de realizar un nuevo anlisis de requisitos. Pueden realizarse tantas iteraciones (tambin llamadas incrementos) como sean necesarias.

    4.3 modelo de construccin de prototipos

    Este modelo no secuencial, basado en la construccin de simulaciones o modelos ejecutables de aplicaciones ms extensos, persigue un objetivo principal: la participacin directa del cliente en la construccin del software requerido. Las fases son similares a las del modelo en cascada: es necesario un anlisis previo de los requisitos tanto del sistema como del cliente, se concibe la arquitectura del sistema y se realiza el diseo del software. Sin embargo, se incluye un elemento hasta ahora no utilizado, que consiste en el diseo rpido de un prototipo que se mostrar al cliente para que evale el trabajo realizado.

    El prototipo es una versin reducida del programa completo; es una fachada virtual que mostramos al cliente (que carece de la posibilidad de ser utilizada de la forma en que lo haramos con el software final. Tras recoger los requisitos tanto del cliente como del sistema, se comienza con el diseo rpido del prototipo; el diseo completo obedece al previo diseo de pequeos prototipos especficos para funciones individuales. Ms tarde, estos diseos sern unidos en uno slo.

    Despus, se procede a la construccin del mismo. ste prototipo es el que mostraremos al cliente para que lo evale y considere cambios en l, aunque no se trate de una versin definitiva.

    4.4 modelo espiral

    Este modelo, tambin no secuencial, es algo ms complejo que los anteriores, aunque incluye un elemento muy til e importante en el desarrollo del software: anlisis de riesgos. El modelo en espiral concreta cuatro fases:

    - Planificacin - Anlisis de riesgo - Ingeniera (construccin de prototipo) - Evaluacin por el cliente

    Si sta ltima fase es afirmativa, el modelo contina con la estructura del Ciclo de vida Clsico. Si el cliente no est satisfecho con el resultado, se cubre otra banda de la espiral y se vuelve a la primera fase (de planificacin).

  • INGENIERIA DE SOFTWARE

    pg. 7

    5. COSTOS DE INGENIERIA DE SOFTWARE

    No existe una respuesta sencilla a esta pregunta ya que la distribucin de costos a

    travs de las diferentes actividades en el proceso del software depende del proceso

    utilizado y del tipo de software que se vaya a desarrollar. Por ejemplo, el software de

    tiempo real normalmente requiere una validacin y pruebas ms extensas que los

    sistemas basados en web. Sin embargo, cada uno de los diferentes enfoques genricos

    al desarrollo del software tiene un perfil de distribucin de costos diferente a travs de

    las actividades del proceso del software. Si se considera que el costo total del

    desarrollo de un sistema de software complejo es de 100 unidades de

    Costo, la Figura 1.2 muestra cmo se gastan stas en las diferentes actividades del

    proceso.

    En el enfoque en cascada, los costos de especificacin, diseo, implementacin e

    integracin se miden de forma separada. Observe que la integracin y pruebas de los

    sistemas son las actividades de desarrollo ms caras. Normalmente, ste supone

    alrededor del 40% del costo del desarrollo total, pero para algunos sistemas crticos es

    probable que sea al menos el 50% de los costos de desarrollo del sistema.

    Si el software se desarrolla utilizando un enfoque iterativo, no existe divisin entre la

    especificacin, el diseo y el desarrollo. En este enfoque, los costos de la especificacin

    se reducen debido a que slo se produce la especificacin de alto nivel antes que el

    desarrollo. La especificacin, el diseo, la implementacin, la integracin y las pruebas

    se llevan a cabo en paralelo dentro de una actividad de desarrollo. Sin embargo, an se

    necesita una actividad independiente de pruebas del sistema una vez que la

    implementacin inicial est completa.

    La ingeniera del software basada en componentes slo ha sido ampliamente utilizada

    durante un corto periodo de tiempo. En este enfoque, no tenemos figuras exactas para

    los costos de las diferentes actividades del desarrollo de software. Sin embargo,

    sabemos que los

  • INGENIERIA DE SOFTWARE

    pg. 8

    Costos de desarrollo se reducen en relacin a los costos de integracin y pruebas. Los costos de integracin y pruebas se incrementan porque tenemos que asegurarnos de que los componentes que utilizamos cumplen realmente su especificacin y funcionan como se espera con otros componentes.

    Adems de los costos de desarrollo, existen costos asociados a cambios que se le hacen al software una vez que est en uso. Los costos de evolucin varan drsticamente dependiendo del tipo de sistema. Para sistemas software de larga vida, tales como sistemas de orden y de control que pueden ser usados durante 10 aos o ms, estos costos exceden a los de desarrollo por un factor de 3 o 4, como se muestra en la barra inferior en la Figura 1.3. Sin embargo, los sistemas de negocio ms pequeos tienen una vida mucho ms corta y, correspondientemente, costos de evolucin ms reducidos.

    Esta distribucin de costos se cumple para el software personalizado, el cual es especificado por un cliente y desarrollado por un contratista. Para productos de software que se venden (mayormente) para PCs, el perfil del costo es diferente. Estos productos comnmente se desarrollan a partir de una especificacin inicial utilizando un enfoque de desarrollo evolutivo. Los costos de la especificacin son relativamente bajos. Sin embargo, debido que se pretende utilizarlos en diferentes configuraciones, deben ser probados a fondo. La Figura 1.3 muestra el perfil del costo que se puede esperar para estos producos.

  • INGENIERIA DE SOFTWARE

    pg. 9

    Los costos de evolucin para productos de software genricos son difciles de estimar. En muchos casos, existe poca evolucin de un producto. Una vez que una versin de producto se entrega, se inicia el trabajo para entregar la siguiente y, por razones de mercadotecnia, sta se presenta como un producto nuevo (pero compatible) ms que como una versin modificada de un producto que el usuario ya adquiri. Por lo tanto, los costos de evolucin no se consideran de forma separada como en el caso del software personalizado, sino que son sencillamente los costos del desarrollo para la siguiente versin del sistema.

    6. BIBLIOGRAFIA

    6.1 referencias bibliogrficas:

    - [1] Longley D., Shain M. dictionary of information technology (2da edition) Macmillan Press p. 164 1985.

    - [2] la asociacin de la tecnologa de amrica (ITAA); technology information definition http://www.techameria.org/es/docs/ informationtechnology definition.pdf

    - [3] RAE real academia espaola definicin de software, sistemas, procesos

    - [4] NASA systems engineering handbook