SlideShare una empresa de Scribd logo
1 de 34
DEFINICIÓN
Es el conjunto de los programas de cómputo, procedimientos,
reglas, documentación y datos asociados, que forman parte de
las operaciones de un sistema de computación.
ETIMOLOGÍA
Es una palabra proveniente del inglés, que en español no posee
una traducción adecuada al contexto, por lo cual se la utiliza
asiduamente sin traducir
HISTORIA EVOLUTIVA
DEL HADWARE
• La clasificación evolutiva del hardware del
computador electrónico está dividida en
generaciones, donde cada una supone un cambio
tecnológico muy notable:
• Primera generación
• Segunda generación
• Tercera generación
• Cuarta generación
• Quinta generación
PRIMERA GENERACION
(1945-1956):
• Electrónica implementada con tubos de
vacío.
• Fueron las primeras máquinas que
desplazaron los componentes
electromecánicos (relés).
• M.T.B.F.(Media de Tiempo de Buen
Funcionamiento): decenas de minutos.
• Almacenamiento: tubos electrostáticos,
tambores magnéticos.
IMAGENES
SEGUNDA GENERACION (1957-
1963):
• Electrónica desarrollada con transistores.
La lógica discreta era muy parecida a la
anterior, pero la implementación resultó
mucho más pequeña, reduciendo, entre
otros factores, el tamaño de un
computador en notable escala.
• Almacenamiento: núcleos magnéticos.
• M.T.B.F.: decenas de horas.
FOTOS
TERCERA GENERACION (1964-
1970):
• Electrónica basada en circuitos integrados.
• Esta tecnología permitió integrar cientos de
transistores y otros componentes
electrónicos en un único circuito integrado
impreso en una pastilla de silicio.
• Las computadoras redujeron así
considerablemente su costo, consumo y
tamaño, incrementándose su capacidad,
velocidad y fiabilidad, hasta producir
máquinas como las que existen en la
actualidad
• M.T.B.F.: cientos de horas.
IMAGENES
CUARTA GENERACION (1971-
1984 )
• Con discrepancias que se observan entre expertos
en computación, podemos afirmar que nos
encontramos actualmente en la cuarta generación
de computadoras
• Componente electrónico: V.L.S.I. / U.L.S.I. (matrices
funcionales)
• Cada cápsula contiene 20.000 y hasta 100.000
componentes activos (diodos y transistores con sus
correspondientes conexiones).
• M.T.B.F.: miles de horas.
• La empresa Apple entra en
funcionamiento
FOTOS
QUINTA GENERACION (1984-A LA
FECHA)
• Nuevas tecnologías de fabricación con materiales
posiblemente distintos del silicio. Integración de más
de 1.000.000 de transistores en un solo circuito.
• Nuevas arquitecturas que sustituirán a la tradicional
de Von Neumann.
• Nuevos métodos de entrada/salida: identificación
del lenguaje oral, reconocimiento de formas, síntesis
del lenguaje hablado, etc.
• Inteligencia artificial: resolución de problemas,
deducciones lógicas, adquisición y elaboración de
conocimientos.
IMAGENES
TIPOS DE SOFTWARE
Software de sistema
Permiten desvincular a usuario y al programador de detalles de sistema en
particular. Incluye sistemas operativos, controladores de dispositivos,
herramientas de diagnóstico y de corrección.
E
J
E
M
P
L
O
S
TIPOS DE SOFTWARE
Software de programación
Conjunto de herramientas que permiten desarrollar programas
informáticos, usando diferentes alternativas y lenguajes de
programación. Incluye editores de texto, compiladores, intérpretes.E
J
E
M
P
L
O
S
TIPOS DE SOFTWARE
Software de aplicación
Permite a los usuarios llevar a cabo una o varias tareas específicas.
Incluye aplicaciones ofimáticas, software empresarial, educativo y médico,
bases de datos, video juegos, telecomunicaciones como el internet.
E
J
E
M
P
L
O
S
CLASIFICACION DEL
SOFTWARE:
SON TRES GRANDES
TIPOS:
SOFTWARE DE SISTEMA:
Interfaces de alto
nivel, controladores
Sistemas operativos
Servidores
Utilidades
SOFTWARE DE
PROGRAMACIÓN:
•Desarrollar programas
informáticos, usando
diferentes alternativas
y lenguaje de programación,
de una manera práctica.
•Editores de texto
•Compiladores
SOFTWARE DE
APLICACIÓN:
•Tareas específicas
•Bases de datos
•Telecomunicaciones (por
ejemplo Internet y toda
su estructura lógica)
•Videojuegos
PROCESO DE
CREACIÓN
• Se define como Proceso al conjunto ordenado de pasos a seguir para
llegar a la solución de un problema u obtención de un producto, en
este caso particular, para lograr la obtención de un producto
software que resuelva un problema.
• El proceso de creación de software puede llegar a ser muy complejo,
dependiendo de su porte, características y criticidad del mismo. Por
ejemplo la creación de un sistema operativo es una tarea que
requiere proyecto, gestión, numerosos recursos y todo un equipo
disciplinado de trabajo
• se dividen en tres categorías según su tamaño o costo: de Pequeño,
Mediano y Gran porte. Existen varias metodologías para estimarlo,
una de las más populares es el sistema que provee métodos y un
software que calcula y provee una estimación de todos los costos de
producción en un "proyecto software".
• Para estose ha desarrollado una ingeniería para su estudio y
realización: es conocida como Ingeniería de Software.
• Los "procesos de desarrollo de software" poseen reglas
preestablecidas, y deben ser aplicados en la creación del
software
• Entre tales "procesos" los hay ágiles o livianos, pesados y lentos y
variantes intermedias; y normalmente se aplican de acuerdo al
tipo y porte del software a desarrollar Algunos de esos procesos
son Programación Extrema, Proceso Unificado de Rational, Feature
Driven Development, etc. Cualquiera sea el "proceso" utilizado y
aplicado al desarrollo del software, y casi independientemente
de él, siempre se debe aplicar un "modelo de ciclo de vida".
• El proceso de desarrollo puede involucrar numerosas y variadas
tareas, desde lo administrativo, pasando por lo técnico y hasta la
gestión y el gerenciamiento:
• - Captura, Elicitación, Especificación y Análisis de requisitos
- Diseño
- Codificación
- Pruebas
- Instalación y paso a Producción
- Mantenimiento
MODELOS DE PROCESO DE VIDA
• El modelo de ciclo de vida utilizado para el desarrollo
define el orden para las tareas o actividades involucradas
también definen la coordinación entre ellas, enlace y
realimentación entre las mencionadas etapas. Entre los
más conocidos se puede mencionar: modelo en
cascada o secuencial, modelo espiral, modelo iterativo
incremental.
MODELOS CASCASA
también llamado "modelo
clásico", El modelo en
cascada puro difícilmente se
utilice tal cual, pues esto
implicaría un previo y
absoluto conocimiento de los
requisitos, la no volatilidad de
los mismos y etapas
subsiguientes libres de
errores; ello sólo podría ser
aplicable a escasos y
pequeños desarrollos de
sistemas
Algún cambio durante la ejecución de una cualquiera de las etapas en este modelo
secuencial implicaría reiniciar desde el principio todo el ciclo completo, lo cual
redundaría en altos costos de tiempo y desarrollo. Sin embargo, el modelo cascada
en algunas de sus variantes es uno de los actualmente más utilizados, por su eficacia
y simplicidad, más que nada en software de pequeño y algunos de mediano porte;
pero nunca se lo usa en su forma pura, como se dijo anteriormenteEl modelo lineal o
en cascada es el paradigma más antiguo y extensamente utilizado, sin embargo las
críticas a él han puesto en duda su eficacia. Pese a todo, tiene un lugar muy
importante en la Ingeniería de software y continúa siendo el más utilizado y siempre
MODELO EVOLUTIVOS
El software evoluciona con el
tiempo. Los requisitos del usuario y
del producto suelen cambiar
conforme se desarrolla el mismo.
Las fechas de mercado y la
competencia hacen que no sea
posible esperar a poner en el
mercado un producto
absolutamente completo, por lo
que se debe introducir una versión
funcional limitada de alguna
forma para aliviar las presiones
competitivas.
En esas u otras situaciones similares los desarrolladores necesitan modelos de
progreso que estén diseñados para acomodarse a una evolución temporal o
progresiva, donde los requisitos centrales son conocidos de antemano, aunque
no estén bien definidos a nivel detalle. En el modelo Cascada y Cascada
Realimentado no se tiene en cuenta la naturaleza evolutiva del software, se
plantea como estático con requisitos bien conocidos y definidos desde el inicio.
Los evolutivos son modelos iterativos, permiten desarrollar versiones cada vez
más completas y complejas, hasta llegar al objetivo final deseado.
MODELO ITERATIVO INCREMENTAL
En términos generales, podemos distinguir, en la figura 4, los pasos generales
que sigue el proceso de desarrollo de un producto software
CARÁCTER
EVOLUTIVO
El software es
el producto deriva
do del proceso de
desarrollo, según la
ingeniería de
software.
Este producto es
intrínsecamente
evolutivo
durante su ciclo
de vida.
El software evoluciona, en
general, generando
versiones cada vez más
completas, complejas,
mejoradas, optimizadas
en algún aspecto,
adecuadas a nuevas
plataformas (sean de
hardware o sistemas
operativos), etc.
Cuando un sistema deja
de evolucionar,
eventualmente cumplirá
con su ciclo de vida,
entrará en
obsolescencia e
inevitablemente, tarde o
temprano, será
reemplazado por un
producto nuevo.
LEHMAN Y BELADY ANALIZARON EL CRECIMIENTO Y LA EVOLUCIÓN DE VARIOS
SISTEMAS SOFTWARE DE GRAN PORTE; DERIVANDO FINALMENTE, SEGÚN SUS MEDIDAS,
LAS SIGUIENTES OCHO LEYES:
-CAMBIO CONTINUO: UN PROGRAMA QUE SE USA EN UN ENTORNO REAL NECESARIAMENTE DEBE
CAMBIAR O SE VOLVERÁ PROGRESIVAMENTE MENOS ÚTIL EN ESE ENTORNO.
-COMPLEJIDAD CRECIENTE: A MEDIDA QUE UN PROGRAMA EN EVOLUCIÓN CAMBIA, SU ESTRUA
TIENDE A SER CADA VEZ MÁS COMPLEJA. SE DEBEN DEDICAR RECURSOS EXTRAS PARA PRESERVAR
YCTUR SIMPLIFICAR LA ESTRUCUTURA.
-EVOLUCIÓN PROLONGADA DEL PROGRAMA: LA EVOLUCIÓN DE LOS PROGRAMAS ES UN PROCESO
AUTORREGULATIVO. LOS ATRIBUTOS DE LOS SISTEMAS, TALES COMO TAMAÑO, TIEMPO ENTRE
ENTREGAS Y LA CANTIDAD DE ERRORES DOCUMENTADOS SON APROXIMADAMENTE INVARIANTES
PARA CADA ENTREGA DEL SISTEMA.
-ESTABILIDAD ORGANIZACIONAL: DURANTE EL TIEMPO DE VIDA DE UN PROGRAMA, SU VELOCIDAD DE
DESARROLLO ES APROXIMADAMENTE CONSTANTE E INDEPENDIENTE DE LOS RECURSOS DEDICADOS
AL DESARROLLO DEL SISTEMA.
-CONSERVACIÓN DE LA FAMILIARIDAD: DURANTE EL TIEMPO DE VIDA DE UN SISTEMA, EL CAMBIO
INCREMENTAL EN CADA ENTREGA ES APROXIMADAMENTE CONSTANTE.
-CRECIMIENTO CONTINUADO: LA FUNCIONALIDAD OFRECIDA POR LOS IOS SISTEMAS TIENE QUE
CRECER CONTINUAMENTE PARA MANTENER LA SATISFACCIÓN DE LOS USUA. R
-DECREMENTO DE LA CALIDAD: LA CALIDAD DE LOS SISTEMAS SOFTWARE COMENZARÁ A DISMINUIR A
-MENOS QUE DICHOS SISTEMAS SE ADAPTEN A LOS CAMBIOS DE SU ENTORNO DE FUNCIONAMIENTO.
-REALIMENTACIÓN DEL SISTEMA: LOS PROCESOS DE EVOLUCIÓN INCORPORAN SISTEMAS DE
REALIMENTACIÓN MULTIAGENTE Y MULTIBUCLE Y ESTOS DEBEN SER TRATADOS COMO SISTEMAS DE
REALIMENTACIÓN PARA LOGRAR UNA MEJORA SIGNIFICATIVA DEL PRODUCTO.

Más contenido relacionado

La actualidad más candente

Trabajo ciclo de vida del software
Trabajo ciclo de vida del softwareTrabajo ciclo de vida del software
Trabajo ciclo de vida del softwareagtagt
 
Alejandra velasquez
Alejandra velasquezAlejandra velasquez
Alejandra velasquezalejandrav16
 
Método cascada
Método cascadaMétodo cascada
Método cascadamariacebu
 
Software pps
Software pps Software pps
Software pps ORLA23
 
Que es el software
Que es el softwareQue es el software
Que es el softwaregaboantonio
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del softwareGUEOVANNY20
 
SISTEMA DE SOFTWARE
SISTEMA DE SOFTWARESISTEMA DE SOFTWARE
SISTEMA DE SOFTWAREperez123
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Computación i mariangel_garcia
Computación i mariangel_garciaComputación i mariangel_garcia
Computación i mariangel_garciamarifabi5
 

La actualidad más candente (14)

Software
SoftwareSoftware
Software
 
Is
IsIs
Is
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Trabajo ciclo de vida del software
Trabajo ciclo de vida del softwareTrabajo ciclo de vida del software
Trabajo ciclo de vida del software
 
Dpss u3 a2_paov
Dpss u3 a2_paovDpss u3 a2_paov
Dpss u3 a2_paov
 
Alejandra velasquez
Alejandra velasquezAlejandra velasquez
Alejandra velasquez
 
Método cascada
Método cascadaMétodo cascada
Método cascada
 
Software pps
Software pps Software pps
Software pps
 
Que es el software
Que es el softwareQue es el software
Que es el software
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del software
 
SISTEMA DE SOFTWARE
SISTEMA DE SOFTWARESISTEMA DE SOFTWARE
SISTEMA DE SOFTWARE
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Computación i mariangel_garcia
Computación i mariangel_garciaComputación i mariangel_garcia
Computación i mariangel_garcia
 
Proyecto de word.
Proyecto de word.Proyecto de word.
Proyecto de word.
 

Destacado

Pinturas do Egito Antigo
Pinturas do Egito AntigoPinturas do Egito Antigo
Pinturas do Egito AntigoAmanda Barp
 
Plan deestudio
Plan deestudioPlan deestudio
Plan deestudioAlex Narud
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
Silva syuasb sylabus.2014 julio-septiembre
Silva syuasb sylabus.2014 julio-septiembreSilva syuasb sylabus.2014 julio-septiembre
Silva syuasb sylabus.2014 julio-septiembreDaniel Silva Ramos
 
Apps Design - iCon
Apps Design - iConApps Design - iCon
Apps Design - iConiCon
 
Poder Judicial de la Federación-SCJN
Poder Judicial de la Federación-SCJNPoder Judicial de la Federación-SCJN
Poder Judicial de la Federación-SCJNUlises ChV
 
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.Jorge Noy
 
Un caso de aplicacion de BSC y Simulaciòn
Un caso de aplicacion de BSC y SimulaciònUn caso de aplicacion de BSC y Simulaciòn
Un caso de aplicacion de BSC y SimulaciònJuan Carlos Fernandez
 

Destacado (10)

Pinturas do Egito Antigo
Pinturas do Egito AntigoPinturas do Egito Antigo
Pinturas do Egito Antigo
 
Plan deestudio
Plan deestudioPlan deestudio
Plan deestudio
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Reaction paper
Reaction paperReaction paper
Reaction paper
 
Silva syuasb sylabus.2014 julio-septiembre
Silva syuasb sylabus.2014 julio-septiembreSilva syuasb sylabus.2014 julio-septiembre
Silva syuasb sylabus.2014 julio-septiembre
 
Apps Design - iCon
Apps Design - iConApps Design - iCon
Apps Design - iCon
 
Poder Judicial de la Federación-SCJN
Poder Judicial de la Federación-SCJNPoder Judicial de la Federación-SCJN
Poder Judicial de la Federación-SCJN
 
Xadrez
XadrezXadrez
Xadrez
 
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
Creacion de una aplicacion para dispositivos moviles 11-C Jorge L. y Victor F.
 
Un caso de aplicacion de BSC y Simulaciòn
Un caso de aplicacion de BSC y SimulaciònUn caso de aplicacion de BSC y Simulaciòn
Un caso de aplicacion de BSC y Simulaciòn
 

Similar a Software

Similar a Software (20)

Software
SoftwareSoftware
Software
 
Software
SoftwareSoftware
Software
 
Software
SoftwareSoftware
Software
 
SOFTWARE
SOFTWARESOFTWARE
SOFTWARE
 
Software
SoftwareSoftware
Software
 
Modelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de InformaciónModelos Prescriptivos del Desarrollo del Sistema de Información
Modelos Prescriptivos del Desarrollo del Sistema de Información
 
Software
SoftwareSoftware
Software
 
Introduccion a la ingenieria del software
Introduccion a la ingenieria del softwareIntroduccion a la ingenieria del software
Introduccion a la ingenieria del software
 
Software
SoftwareSoftware
Software
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Software
SoftwareSoftware
Software
 
Cetis 109
Cetis 109Cetis 109
Cetis 109
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ensayo Jesus Guerrero
Ensayo Jesus GuerreroEnsayo Jesus Guerrero
Ensayo Jesus Guerrero
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Tecnologías Futuras
Tecnologías FuturasTecnologías Futuras
Tecnologías Futuras
 
Ensayo de software
Ensayo de softwareEnsayo de software
Ensayo de software
 
Pteg i-grupo 5- cap -7 tema ingienieria de software
Pteg i-grupo 5- cap -7 tema ingienieria de softwarePteg i-grupo 5- cap -7 tema ingienieria de software
Pteg i-grupo 5- cap -7 tema ingienieria de software
 

Más de Estrella Cristian (20)

R vega.doc
R vega.docR vega.doc
R vega.doc
 
Informatica
InformaticaInformatica
Informatica
 
Evoluciã“n de la_informã-tica[1]
Evoluciã“n de la_informã-tica[1]Evoluciã“n de la_informã-tica[1]
Evoluciã“n de la_informã-tica[1]
 
Dispositivos digitales
Dispositivos digitalesDispositivos digitales
Dispositivos digitales
 
Datos, informacion y conocimientos
Datos, informacion y conocimientosDatos, informacion y conocimientos
Datos, informacion y conocimientos
 
Sistema perifeficos
Sistema perifeficosSistema perifeficos
Sistema perifeficos
 
Aula virtual n2
Aula virtual n2Aula virtual n2
Aula virtual n2
 
Aula virtual
Aula virtualAula virtual
Aula virtual
 
Aula virtual n1
Aula virtual n1Aula virtual n1
Aula virtual n1
 
Aula virtual 4
Aula virtual 4Aula virtual 4
Aula virtual 4
 
Aula virtual n3
Aula virtual n3Aula virtual n3
Aula virtual n3
 
Deber
DeberDeber
Deber
 
C estrella.doc
C estrella.docC estrella.doc
C estrella.doc
 
C estrella
C estrellaC estrella
C estrella
 
Trabajosenclase
TrabajosenclaseTrabajosenclase
Trabajosenclase
 
Practica
PracticaPractica
Practica
 
Practica 3
Practica 3Practica 3
Practica 3
 
Practica 2
Practica 2Practica 2
Practica 2
 
Practica 1
Practica 1Practica 1
Practica 1
 
Practica 4
Practica 4Practica 4
Practica 4
 

Software

  • 1.
  • 2. DEFINICIÓN Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de las operaciones de un sistema de computación.
  • 3. ETIMOLOGÍA Es una palabra proveniente del inglés, que en español no posee una traducción adecuada al contexto, por lo cual se la utiliza asiduamente sin traducir
  • 4. HISTORIA EVOLUTIVA DEL HADWARE • La clasificación evolutiva del hardware del computador electrónico está dividida en generaciones, donde cada una supone un cambio tecnológico muy notable: • Primera generación • Segunda generación • Tercera generación • Cuarta generación • Quinta generación
  • 5. PRIMERA GENERACION (1945-1956): • Electrónica implementada con tubos de vacío. • Fueron las primeras máquinas que desplazaron los componentes electromecánicos (relés). • M.T.B.F.(Media de Tiempo de Buen Funcionamiento): decenas de minutos. • Almacenamiento: tubos electrostáticos, tambores magnéticos.
  • 7. SEGUNDA GENERACION (1957- 1963): • Electrónica desarrollada con transistores. La lógica discreta era muy parecida a la anterior, pero la implementación resultó mucho más pequeña, reduciendo, entre otros factores, el tamaño de un computador en notable escala. • Almacenamiento: núcleos magnéticos. • M.T.B.F.: decenas de horas.
  • 9. TERCERA GENERACION (1964- 1970): • Electrónica basada en circuitos integrados. • Esta tecnología permitió integrar cientos de transistores y otros componentes electrónicos en un único circuito integrado impreso en una pastilla de silicio. • Las computadoras redujeron así considerablemente su costo, consumo y tamaño, incrementándose su capacidad, velocidad y fiabilidad, hasta producir máquinas como las que existen en la actualidad • M.T.B.F.: cientos de horas.
  • 11. CUARTA GENERACION (1971- 1984 ) • Con discrepancias que se observan entre expertos en computación, podemos afirmar que nos encontramos actualmente en la cuarta generación de computadoras • Componente electrónico: V.L.S.I. / U.L.S.I. (matrices funcionales) • Cada cápsula contiene 20.000 y hasta 100.000 componentes activos (diodos y transistores con sus correspondientes conexiones). • M.T.B.F.: miles de horas. • La empresa Apple entra en funcionamiento
  • 12. FOTOS
  • 13. QUINTA GENERACION (1984-A LA FECHA) • Nuevas tecnologías de fabricación con materiales posiblemente distintos del silicio. Integración de más de 1.000.000 de transistores en un solo circuito. • Nuevas arquitecturas que sustituirán a la tradicional de Von Neumann. • Nuevos métodos de entrada/salida: identificación del lenguaje oral, reconocimiento de formas, síntesis del lenguaje hablado, etc. • Inteligencia artificial: resolución de problemas, deducciones lógicas, adquisición y elaboración de conocimientos.
  • 15.
  • 16. TIPOS DE SOFTWARE Software de sistema Permiten desvincular a usuario y al programador de detalles de sistema en particular. Incluye sistemas operativos, controladores de dispositivos, herramientas de diagnóstico y de corrección. E J E M P L O S
  • 17. TIPOS DE SOFTWARE Software de programación Conjunto de herramientas que permiten desarrollar programas informáticos, usando diferentes alternativas y lenguajes de programación. Incluye editores de texto, compiladores, intérpretes.E J E M P L O S
  • 18. TIPOS DE SOFTWARE Software de aplicación Permite a los usuarios llevar a cabo una o varias tareas específicas. Incluye aplicaciones ofimáticas, software empresarial, educativo y médico, bases de datos, video juegos, telecomunicaciones como el internet. E J E M P L O S
  • 21. SOFTWARE DE SISTEMA: Interfaces de alto nivel, controladores Sistemas operativos Servidores Utilidades
  • 22.
  • 23. SOFTWARE DE PROGRAMACIÓN: •Desarrollar programas informáticos, usando diferentes alternativas y lenguaje de programación, de una manera práctica. •Editores de texto •Compiladores
  • 24.
  • 25. SOFTWARE DE APLICACIÓN: •Tareas específicas •Bases de datos •Telecomunicaciones (por ejemplo Internet y toda su estructura lógica) •Videojuegos
  • 27. • Se define como Proceso al conjunto ordenado de pasos a seguir para llegar a la solución de un problema u obtención de un producto, en este caso particular, para lograr la obtención de un producto software que resuelva un problema. • El proceso de creación de software puede llegar a ser muy complejo, dependiendo de su porte, características y criticidad del mismo. Por ejemplo la creación de un sistema operativo es una tarea que requiere proyecto, gestión, numerosos recursos y todo un equipo disciplinado de trabajo • se dividen en tres categorías según su tamaño o costo: de Pequeño, Mediano y Gran porte. Existen varias metodologías para estimarlo, una de las más populares es el sistema que provee métodos y un software que calcula y provee una estimación de todos los costos de producción en un "proyecto software". • Para estose ha desarrollado una ingeniería para su estudio y realización: es conocida como Ingeniería de Software.
  • 28. • Los "procesos de desarrollo de software" poseen reglas preestablecidas, y deben ser aplicados en la creación del software • Entre tales "procesos" los hay ágiles o livianos, pesados y lentos y variantes intermedias; y normalmente se aplican de acuerdo al tipo y porte del software a desarrollar Algunos de esos procesos son Programación Extrema, Proceso Unificado de Rational, Feature Driven Development, etc. Cualquiera sea el "proceso" utilizado y aplicado al desarrollo del software, y casi independientemente de él, siempre se debe aplicar un "modelo de ciclo de vida". • El proceso de desarrollo puede involucrar numerosas y variadas tareas, desde lo administrativo, pasando por lo técnico y hasta la gestión y el gerenciamiento: • - Captura, Elicitación, Especificación y Análisis de requisitos - Diseño - Codificación - Pruebas - Instalación y paso a Producción - Mantenimiento
  • 29. MODELOS DE PROCESO DE VIDA • El modelo de ciclo de vida utilizado para el desarrollo define el orden para las tareas o actividades involucradas también definen la coordinación entre ellas, enlace y realimentación entre las mencionadas etapas. Entre los más conocidos se puede mencionar: modelo en cascada o secuencial, modelo espiral, modelo iterativo incremental.
  • 30. MODELOS CASCASA también llamado "modelo clásico", El modelo en cascada puro difícilmente se utilice tal cual, pues esto implicaría un previo y absoluto conocimiento de los requisitos, la no volatilidad de los mismos y etapas subsiguientes libres de errores; ello sólo podría ser aplicable a escasos y pequeños desarrollos de sistemas Algún cambio durante la ejecución de una cualquiera de las etapas en este modelo secuencial implicaría reiniciar desde el principio todo el ciclo completo, lo cual redundaría en altos costos de tiempo y desarrollo. Sin embargo, el modelo cascada en algunas de sus variantes es uno de los actualmente más utilizados, por su eficacia y simplicidad, más que nada en software de pequeño y algunos de mediano porte; pero nunca se lo usa en su forma pura, como se dijo anteriormenteEl modelo lineal o en cascada es el paradigma más antiguo y extensamente utilizado, sin embargo las críticas a él han puesto en duda su eficacia. Pese a todo, tiene un lugar muy importante en la Ingeniería de software y continúa siendo el más utilizado y siempre
  • 31. MODELO EVOLUTIVOS El software evoluciona con el tiempo. Los requisitos del usuario y del producto suelen cambiar conforme se desarrolla el mismo. Las fechas de mercado y la competencia hacen que no sea posible esperar a poner en el mercado un producto absolutamente completo, por lo que se debe introducir una versión funcional limitada de alguna forma para aliviar las presiones competitivas. En esas u otras situaciones similares los desarrolladores necesitan modelos de progreso que estén diseñados para acomodarse a una evolución temporal o progresiva, donde los requisitos centrales son conocidos de antemano, aunque no estén bien definidos a nivel detalle. En el modelo Cascada y Cascada Realimentado no se tiene en cuenta la naturaleza evolutiva del software, se plantea como estático con requisitos bien conocidos y definidos desde el inicio. Los evolutivos son modelos iterativos, permiten desarrollar versiones cada vez más completas y complejas, hasta llegar al objetivo final deseado.
  • 32. MODELO ITERATIVO INCREMENTAL En términos generales, podemos distinguir, en la figura 4, los pasos generales que sigue el proceso de desarrollo de un producto software
  • 33. CARÁCTER EVOLUTIVO El software es el producto deriva do del proceso de desarrollo, según la ingeniería de software. Este producto es intrínsecamente evolutivo durante su ciclo de vida. El software evoluciona, en general, generando versiones cada vez más completas, complejas, mejoradas, optimizadas en algún aspecto, adecuadas a nuevas plataformas (sean de hardware o sistemas operativos), etc. Cuando un sistema deja de evolucionar, eventualmente cumplirá con su ciclo de vida, entrará en obsolescencia e inevitablemente, tarde o temprano, será reemplazado por un producto nuevo.
  • 34. LEHMAN Y BELADY ANALIZARON EL CRECIMIENTO Y LA EVOLUCIÓN DE VARIOS SISTEMAS SOFTWARE DE GRAN PORTE; DERIVANDO FINALMENTE, SEGÚN SUS MEDIDAS, LAS SIGUIENTES OCHO LEYES: -CAMBIO CONTINUO: UN PROGRAMA QUE SE USA EN UN ENTORNO REAL NECESARIAMENTE DEBE CAMBIAR O SE VOLVERÁ PROGRESIVAMENTE MENOS ÚTIL EN ESE ENTORNO. -COMPLEJIDAD CRECIENTE: A MEDIDA QUE UN PROGRAMA EN EVOLUCIÓN CAMBIA, SU ESTRUA TIENDE A SER CADA VEZ MÁS COMPLEJA. SE DEBEN DEDICAR RECURSOS EXTRAS PARA PRESERVAR YCTUR SIMPLIFICAR LA ESTRUCUTURA. -EVOLUCIÓN PROLONGADA DEL PROGRAMA: LA EVOLUCIÓN DE LOS PROGRAMAS ES UN PROCESO AUTORREGULATIVO. LOS ATRIBUTOS DE LOS SISTEMAS, TALES COMO TAMAÑO, TIEMPO ENTRE ENTREGAS Y LA CANTIDAD DE ERRORES DOCUMENTADOS SON APROXIMADAMENTE INVARIANTES PARA CADA ENTREGA DEL SISTEMA. -ESTABILIDAD ORGANIZACIONAL: DURANTE EL TIEMPO DE VIDA DE UN PROGRAMA, SU VELOCIDAD DE DESARROLLO ES APROXIMADAMENTE CONSTANTE E INDEPENDIENTE DE LOS RECURSOS DEDICADOS AL DESARROLLO DEL SISTEMA. -CONSERVACIÓN DE LA FAMILIARIDAD: DURANTE EL TIEMPO DE VIDA DE UN SISTEMA, EL CAMBIO INCREMENTAL EN CADA ENTREGA ES APROXIMADAMENTE CONSTANTE. -CRECIMIENTO CONTINUADO: LA FUNCIONALIDAD OFRECIDA POR LOS IOS SISTEMAS TIENE QUE CRECER CONTINUAMENTE PARA MANTENER LA SATISFACCIÓN DE LOS USUA. R -DECREMENTO DE LA CALIDAD: LA CALIDAD DE LOS SISTEMAS SOFTWARE COMENZARÁ A DISMINUIR A -MENOS QUE DICHOS SISTEMAS SE ADAPTEN A LOS CAMBIOS DE SU ENTORNO DE FUNCIONAMIENTO. -REALIMENTACIÓN DEL SISTEMA: LOS PROCESOS DE EVOLUCIÓN INCORPORAN SISTEMAS DE REALIMENTACIÓN MULTIAGENTE Y MULTIBUCLE Y ESTOS DEBEN SER TRATADOS COMO SISTEMAS DE REALIMENTACIÓN PARA LOGRAR UNA MEJORA SIGNIFICATIVA DEL PRODUCTO.