cuestionario 1
-
Upload
santos-boyka-choque-sarmiento -
Category
Documents
-
view
216 -
download
0
description
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