Sie sind auf Seite 1von 8

EL SOFTWARE

Qu es?
Programas de software y documentacin asociada. Los productos de
software se pueden desarrollar para algn cliente en particular o para un
mercado general.
Incluye programas que se ejecutan en una computadora de cualquier
tamao y arquitectura, contenido que se presenta a medida de que se
ejecutan los programas de cmputo e informacin descriptiva tanto en una
copia dura como en formatos virtuales que engloban virtualmente a
cualesquiera medios electrnicos. La ingeniera de software est formada
por un proceso, un conjunto de mtodos (prcticas) y un arreglo de
herramientas que permite a los profesionales elaborar software de cmputo
de alta calidad.
*El software se modifica con intelecto, no se manufactura.
*El software no se desgasta, pero s se deteriora. (Los defectos
ocultos ocasionarn tasas elevadas de fallas al comienzo de la vida de un
programa. Sin embargo, stas se corrigen y la curva se aplana, como se
indica.)
Quin lo hace?
Los ingenieros de software elaboran y dan mantenimiento al software, y
virtualmente cada persona lo emplea en el mundo industrializado, ya sea en
forma directa o indirecta.
Herramienta CASE: ingeniera del sw asistida por una computadora,
programas que ayudan en las actividades del proceso del sw, como anlisis
de requerimientos, modelado de sistemas, depuracin y pruebas.
Por qu es importante? El software es importante porque afecta a casi
todos los aspectos de nuestras vidas y ha invadido nuestro comercio,
cultura y actividades cotidianas. La ingeniera de software es importante
porque nos permite construir sistemas complejos en un tiempo razonable y
con alta calidad.
Cules son los pasos? El software de computadora se construye del mismo
modo que cualquier producto exitoso, con la aplicacin de un proceso gil y
adaptable para obtener un resultado de mucha calidad, que satisfaga las
necesidades de las personas que usarn el producto. En estos pasos se
aplica el enfoque de la ingeniera de software.
Para construir un nuevo elemento software se necesita:
Detallar las especificaciones
Disear la solucin
Codificar el algoritmo
Probar el programa
Documentar

Mantener
Es lo que se conoce como el ciclo de vida del software.
Cul es el producto final? Desde el punto de vista de un ingeniero de
software, el producto final es el conjunto de programas, contenido (datos) y
otros productos terminados que constituyen el software de computadora.
Pero desde la perspectiva del usuario, el producto final es la informacin
resultante que de algn modo hace mejor al mundo en el que vive.

Importancia del Software


Las economas de todos las paises son cada vez ms y ms dependientes
del software
Cada vez ms y ms sistemas estn controlados por software
El gasto en desarrollo de software est aumentando su porcentaje en el PIB
de todos los pases.
Crisis del Software
Crecimiento espectacular de los costes del software.
Incumplimiento de los plazos de entrega.
Muchas dudas sobre la calidad del software construido
Costes del Software
Los costes que representa el Software son a menudo mayores que el
hardware
El mantenimiento resulta ms caro que el desarrollo: En sistemas de vida
larga puede ser varias veces ms caro
La Ingeniera del Software tiene que ver con el desarrollo de forma que sea
econmicamente viable

Qu es la Ingeniera del software?


La nocin de la is fue propuesta en 1968 en una conferencia el la cual se
discuta sobre la crisis del Sw. Para evitar esta crisis se necesitaban de
nuevas tcnicas y mtodos para controlar la complejidad de los sistemas
grandes, que luego pasaran a ser parte de la is.
*Diferencia entre is. y ciencia de la computacin: La cc comprender la teora
y los fundamentos; la is comprende las formas prcticas para desarrollar un
sw.
*Diferencia entre is. y ing de sistemas: la ing sistemas se refiere a todos los
aspectos del desarrollo de sistemas informticos(hardware, software, ing de
procesos). La is. es parte de este proceso.
Disciplina que se ocupa del desarrollo del software.

Se enfrenta al software como un producto de ingeniera que requiere:


planificacin, anlisis, diseo, implementacin, pruebas y mantenimiento.
Trata de las teoras, mtodos y herramientas que los profesionales del
desarrollo del software deben utiliza
Bsicamente todas las definiciones apuntan a ver a la Ingeniera del
Software como una disciplina o rea de la Informtica o Ciencias de la
Computacin, que ofrece mtodos y tcnicas para desarrollar, operar y
mantener software de calidad capaz de resolver problemas de todo tipo.
Objetivos:
Mejorar la calidad del software, Acortar los tiempos de desarrollo
Necesidad: Incrementar la reutilizacin del software
Los ingenieros de software deben adoptar un enfoque sistemtico y
organizado en su trabajo y utilizar las herramientas y tcnicas ms
apropiadas dependiendo del problema a resolver, las restricciones del
desarrollo y los recursos disponibles.

software

programas

archivos de configuracin

documentacin de la estructura del sistema

manuales de instalacin y uso

sitios web con informacin y actualizaciones

tipos de software
productos genricos
sistemas producidos por una organizacin y que se
venden en el mercado abierto
sistemas gestores de bases de datos, procesadores de
texto, paquetes grficos,...
la organizacin controla la especificacin
productos personalizados
desarrollados especficamente para un cliente
aplicaciones de negocio, sistemas de control de trfico
areo, control de procesos de fabricacin,...
el cliente controla la especificacin de la aplicacin

Un proceso de sw; es un conjunto de actividades que tienen como meta


el desarrollo o evolucin del sw.
Un conjunto estructurado deactividades y resultados asociados que
conducen a la creacin de un producto de software:
Especificacin de requisitos: Definir la funcionalidad y las restricciones en
sus operaciones
Diseo e implementacin: Producir software que cumple la especificacin
Validacin: Asegurar que hace lo que el cliente desea.
Mantenimiento (o Evolucin): Seguir cumpliendo los cambios en las
necesidades del usuario
Durante los primeros aos de la era de la computadora (desde los 50 hasta
mediados de los 60), el desarrollo de software era visto por muchos como
una actividad de poca importancia el software era hecho a medida con
distribucin muy limitada.
La segunda era (mediados de los 60 hasta fines de los 70) aparecen los
sistemas multiusuarios, los sistemas de tiempo real, las bases de datos y las
casas de desarrollo de software, sin embargo las lneas de cdigo deban ser
corregidos cuando se les encontraban defectos o modificados de acuerdo a
nuevos requerimientos de los usuarios, y la ausencia de documentacin
haca que los esfuerzos en las actividades de mantenimiento consumieran
los recursos a una velocidad alarmante. Esto llev a situaciones
inmanejables donde los tiempos se iban de calendario y los costos crecan.
Es conocido como Crisis del Software.

La crisis del software: problemas que aparecen en el


desarrollo del software al desarrollar, mantener y atender la
demanda de nuevas aplicaciones.

Causas de la crisis del software

Naturaleza lgica del software

Mala gestin de los proyectos ( ausencia de datos, deficiente


comunicacin, ...)

Ausencia de entrenamiento formal en nuevas tcnicas


(programadores vs. ingenieros de software)

Resistencia al cambio

Crisis es un punto crucial o momento decisivo, sin embargo en el caso del


software ahora podemos decir que lo que ha sufrido es de una afliccin
crnica, ya que aunque ha habido una gran evolucin desde aquellos aos,
no hemos encontrado la cura y seguimos estudiando los problemas
relacionados con cmo desarrollar software y cmo mantenerlo para
mejorar no slo el producto final sino el proceso de desarrollo.

los ingenieros de software necesitan

comprender el ambiente de funcionamiento del sistema:


construyen modelos del dominio del problema (sistemas
de bolsa, control de trfico areo,...)

comprender los distintos sistemas que podran construir


para evaluar alternativas: construyen modelos del
dominio de la solucin

tcnicas y herramientas para construir los modelos (por


ejemplo, diagramas de UML)

objetivos:

principios de alto nivel que se utilizan para guiar el


proyecto

definen los atributos realmente importantes del sistema


(seguridad, fiabilidad,...)

a veces hay conflicto entre objetivos (por ejemplo,


seguridad y bajo coste) que aumentan la complejidad
del proyecto

requerimientos

caractersticas que debe tener el sistema

requerimiento funcional: rea de funcionalidad que debe


soportar el sistema (por ejemplo, proporcionar billetes
de tren)

requerimiento no funcional: restriccin que se establece


sobre el funcionamiento del sistema (por ejemplo,
proporcionar billetes de tren en menos de un segundo)

otras restricciones: por ejemplo, utilizacin de un determinado


lenguaje, de una determinada plataforma o de un sistema
antiguo que el cliente no quiere retirar

Caractersticas del SW
-El software tiene un doble rol. Por un lado es un producto, y por otro
es un vehculo para producirlo. Como producto podemos encontrarlo
controlando un sitio Web, en un telfono celular, en un cajero automtico,
en un sistema de facturacin, etc. Como vehculo, en un sistema operativo,
compiladores, herramientas y entorno de desarrollo de software en general.
-A diferencia del hardware, el software no es un producto fsico sino lgico,
lo que hace de l un producto con caractersticas considerablemente
diferentes de las del hardware.

-Aunque para ambos existe una actividad de diseo, sin embargo decimos
que el software se desarrolla, no se fabrica.
-El software no sufre el desgaste del tiempo. Los defectos se encontraran
en las primeras etapas y una vez corregidos, este no se desgastara ms.
Sin embargo, si bien no se desgasta, s se deteriora. Esto puede verse en la
curva real: durante su vida el software sufre mantenimientos. A medida que
se hacen cambios, es probable que se introduzcan nuevos defectos.
-Aunque la industria tiende a ensamblar componentes, la mayor parte del
software se construye a medida. Mientras que en el mundo del hardware, la
reutilizacin de componentes es una parte natural del proceso de ingeniera,
en el mundo del software es algo que recin ltimamente ha comenzado a
verse en gran escala. En los aos 60, se construyeron bibliotecas de rutinas
numricas que usaron con xito en muchas aplicaciones cientficas e
ingenieriles. Hoy en da la reusabilidad viene dada por el uso de objetos, por
ejemplo en la creacin de las interfaces grficas del usuario.
Un Sistema:
Un conjunto de elementos (hombres, mquinas, mtodos, reglas) en
interaccin, que transforman (mediante un proceso) unos elementos en
otros (entradas en salidas).
Los sistemas no son entidades independientes, existen en un entorno:
El entorno afecta al funcionamiento y rendimiento del sistema.
El sistema puede estar diseado para hacer cambios en el entorno.
Subsistemas:
Sistema fsico: Transforma un flujo fsico de entradas en un flujo fsico de
salidas.
Sistema de gestin: controla el sistema fsico, decidiendo el comportamiento
del mismo en funcin de los objetivos marcados.
Sistema de Informacin: Est encargado de: almacenar y tratar
informaciones sobre el sistema
fsico para ponerlas a disposicin del sistema de gestin
recibir decisiones sobre su propio control.
interaccionar con el sistema fsico
Una empresa tpica cuenta con un SI compuesto por los siguientes
subsistemas:
Subsistema de Recursos Humanos: Se ocupa tanto de la gestin del
personal como de la nmina.
Subsistema de Gestin Contable: Tanto para el control interno de la
empresa como para hacer frente a las obligaciones legales.
Subsistema de Gestin Comercial: Para el control de los clientes y de las
ventas.
Subsistema de Control de las Existencias: Del almacn y del inventario de
bienes.
SIA---si automatizado(usa mquinas para transformar)
Las tareas fundamentales de un SIA son:
Memorizacin del modelo y de la base de informacin.
Tratamiento automtico (control, actualizacin, bsquedas, clculos).

Captura de la informacin
Salida de la informacin.
Las propiedades emergentes son consecuencia de las relaciones entre los
componentes. Ejemplos
El peso total del sistema
Se puede calcular a partir de las propiedades delos componentes
individuales.
La fiabilidad del sistema Depende de la fiabilidad de los componentes y su
interrelacin.
La usabilidad Esta propiedad compleja no depende slo del hardware y
del software sino que tambin depende de los operadores y del entorno en
que se utilice.
Como

construir un si.
Identificar los usuarios
Definir la arquitectura del sistema
Definir el software a desarrollar
Cada vez MS COMPLEJO
Desarrollarlo RPIDAMENTE
Se necesitan mtodos mejores de desarrollo

METODOS
Conjunto de procedimientos, tcnicas, herramientas y un soporte
documental que ayuda a los desarrolladores a realizar nuevo software(Mario
Piattini)
Componentes
Proceso: Define el marco de trabajo y permite un desarrollo racional de la IS
Tcnicas: Indican cmo construir tcnicamente el software. Incluyen
tcnicas de modelado
Herramientas: Proporcionan el soporte automtico o semiautomtico para el
proceso y para las tcnica.
Requerimientos del usuario proceso de desarrollo del sw sistema de sw.

Ciclos de vida
En cascada:

El ms comn y el ms antiguo (1970)

Se basa en completar un paso antes de comenzar con el siguiente

(-) LAS ESPECIFICACIONES NUNCA SON CORRECTAS

(-) CLIENTES/USUARIOS NO SABEN LO QUE QUIEREN

(-) EL CLIENTE NO VE RESULTADOS HASTA EL FINAL

(+) IDENTIFICACIN DE CIERTAS TAREAS: requisitos, anlisis, diseo,


implementacin, pruebas

Con prototipos:
Prototipo: MODELO DEL SISTEMA QUE SE EST CONSTRUYENDO
Por qu?
FACILITA LA COMUNICACIN ENTRE CLIENTES Y DESARROLLADORES.
Existen problemas de comunicacin entre los desarrolladores y los usuarios,
no usan el mismo lenguaje.

Alto grado de participacin del usuario


Evala prototipos
Propone mejoras
Detalla requisitos
Aprende a usar el sistema
Proporciona ms informacin (feedback) a los desarrolladores
No se puede indicar los requisitos sin tener experiencia con el
sistema
El prototipo da mayor conocimiento al usuario y analistas
El prototipo se modifica hasta que los requisitos del usuario
queden claros
PROTOTIPOS DESECHABLES
No se utilizan para construir el sistema final.
Programacin Quick & Dirty (Perl, awk, csh, )
Sistemas RAD (rapid application development)
Herramientas de programacin visual
PROTOTIPOS NO DESECHABLES
Los prototipos van formando el sistema final

Das könnte Ihnen auch gefallen