Você está na página 1de 15

Ingeniera de software

Es una disciplina o rea de la Informtica o Ciencias de la Computacin, que


ofrece mtodos y tcnicas para desarrollar y mantener software de calidad que
resuelven problemas de todo tipo. Hoy da es cada vez ms frecuente la consideracin
de esta ingeniera como una nueva rea, y el ingeniero del software comienza a ser
una profesin implantada en el mundo laboral internacional, con derechos, deberes y
responsabilidades que cumplir, junto a una, ya, reconocida consideracin social en el
mundo empresarial y, por suerte, para esas personas con brillante futuro.

Trata con reas muy diversas de la Informtica y de las ciencias de la


computacin, tales como construccin de compiladores, sistemas operativos o
desarrollos de Intranet/Internet, abordando todas las fases del ciclo de vida del
desarrollo de cualquier tipo de sistemas de informacin y aplicables a una infinidad
de reas tales como: negocios, investigacin cientfica, medicina, produccin,
logstica, banca, control de trfico, meteorologa, el mundo del derecho, la red de
redes Internet, redes Intranet y Extranet, etc. Trasciende la actividad de
programacin, que es el pilar fundamental a la hora de crear una aplicacin. El
ingeniero de software se encarga de toda la gestin del proyecto para que ste se
pueda desarrollar en un plazo determinado y con el presupuesto previsto. Permite por
lo tanto, el anlisis previo de la situacin, el diseo del proyecto, el desarrollo del
software, las pruebas necesarias para confirmar su correcto funcionamiento y la
implementacin del sistema.

Algunas de las definiciones ms reconocidas, formuladas por prestigiosos


autores son:

Ingeniera de software es el estudio de los principios y metodologas para el


desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978).
Ingeniera de software es la aplicacin prctica del conocimiento cientfico al
diseo y construccin de programas de computadora y a la documentacin
asociada requerida para desarrollar, operar y mantenerlos. Se conoce tambin
como desarrollo de software o produccin de software (Bohem, 1976).

La ingeniera de software trata del establecimiento de los principios y mtodos


de la ingeniera a fin de obtener software de modo rentable, que sea fiable y
trabaje en mquinas reales (Bauer, 1972).

La ingeniera de software es la aplicacin de un enfoque sistemtico,


disciplinado y cuantificable al desarrollo, operacin, y mantenimiento del
software.

Factores de Calidad y de Productividad

Se definen cinco factores importantes que inciden en la productividad del


software:

Factores humanos: El tamao y la experiencia de la organizacin de desarrollo.

Factores del problema: La complejidad del problema que se debe resolver y el


nmero de cambios en las restricciones o los requisitos del diseo.

Factores del proceso: Tcnicas del anlisis y diseo qu se utilizan, lenguajes y


herramientas CASE y tcnicas de revisin.

Factores del producto: Fiabilidad y rendimiento del sistema basado en


computadora.

Factores del recurso: Disponibilidad de herramientas CASE, y recursos (hardware y


software).
Factores que influyen sobre la calidad y productividad

El objetivo primordial de la ingeniera del software es producir un sistema,


aplicacin o producto de alta calidad. Para lograr este objetivo, los ingenieros de
software deben aplicar mtodos efectivos junto con herramientas modernas dentro del
contexto de un proceso maduro de desarrollo del software. EL ingeniero del software
(y los buenos gestores de la ingeniera del software) deben medir si la alta calidad se
va a llevar a cabo.

La calidad de un sistema, aplicacin o producto es tan bueno como los


requisitos que describen el problema, el diseo que modela la solucin, el cdigo que
conduce a un programa ejecutable y las pruebas que ejercitan el software para
detectar errores. Un buen ingeniero del software utiliza mediciones que evalan la
calidad del anlisis y los modelos de diseo, el cdigo fuente y los casos de prueba
que se han creado al aplicar la ingeniera del software.

En las dos dcadas pasadas, se definieron un juego de factores de calidad


como los primeros pasos hacia el desarrollo de la calidad del software. Estos evalan
el software desde tres puntos de vista distintos:

Operacin del producto (utilizndolo).

Revisin del producto (cambindolo).

Transicin del producto (modificndolo para que funcione en un entorno diferente)

Los atributos que proporcionan una indicacin de la calidad del software


siguen siendo los mismos.

Medida de la calidad: Aunque hay muchas medidas de la calidad de software, la


correccin, facilidad de mantenimiento integral y facilidad de uso proporcionan
indicadores tiles para el equipo del proyecto.
Correccin: Un programa debe operar correctamente o proporcionar poco valor a
sus usuarios. La correccin es el grado en el que el software lleva a cabo su funcin
requerida.

Facilidad de mantenimiento: El mantenimiento del software cuenta con ms


esfuerzo que cualquier otra actividad de ingeniera del software. La facilidad de
mantenimiento es la facilidad con la que se puede corregir un programa si se
encuentra un error, se puede adaptar si su entorno cambia, o mejorar si el cliente
desea un cambio de requisitos. No hay forma de medir directamente la facilidad de
mantenimiento.

Integridad: En esta poca de intrusos informticos y de virus, la integridad del


software ha llegado a tener mucha importancia. Este atributo mide la habilidad de un
sistema para resistir ataques (tanto accidentales como intencionados) contra su
seguridad. El ataque se puede realizar en cualquiera de los tres componentes del
software: programas, datos y documentos. Para medir la integridad, se tienen que
definir dos atributos adicionales: amenaza y seguridad.

Amenaza: es la probabilidad de que ocurra un ataque de cualquier tipo.

La seguridad: es la probabilidad de que se pueda repeler el ataque.

Facilidad de uso: Si un programa no es amigable con el usuario, frecuentemente


est abocado al fracaso, incluso aunque las funciones que realice sean valiosas. La
facilidad de uso es un intento de cuantificar lo amigable que puede ser con el
usuario y se puede medir en funcin de cuatro caractersticas:

Habilidad intelectual y/o fsica requerida para aprender el sistema.

El tiempo requerido para llegar a ser moderadamente eficiente en el uso del


sistema.

Aumento neto en productividad.


Valoracin subjetiva (a veces obtenida mediante un cuestionario) de la
disposicin de los usuarios hacia el sistema

Capacidad Individual

La capacidad individual dentro de la ingeniera de software hace referencia a la


capacidad que tiene el ingeniero del software para enfrentarse al desarrollo de
productos de software, por lo que la productividad del desarrollo es funcin directa de
dicha capacidad. Los programadores que se muestran competentes en el
procesamiento de datos, suelen no serlo en areas cientficas y de igual forma, un
buen programador cientfico, no es, forzosamente, un buen programador de sistemas.
Por tanto, la falta de familiaridad del programador con el rea de aplicacin puede
acarrear una baja productividad y por ende un mayor costo y esfuerzo de desarrollo
del producto.

Un ingeniero de software para desarrollar un buen trabajo a travs de su


capacidad individual debe tener en cuenta en primer lugar, conocer el tiempo que
necesita para realizar un trabajo de calidad, en segundo lugar, planificarlo antes de
comenzarlo y en un tercer lugar, realizar el trabajo de una manera correcta u optima.

Existe un modelo llamado Personal Software Process (PSP) desarrollado entre


los aos 1993 y 1995 por Watts Humphrey, el cual es un modelo de mejora del
proceso de software formado por un conjunto estructurado de descripciones de
procesos, de mediciones y de mtodos, basado en la aplicacin de mtodos avanzados
y tradicionales de ingeniera al desarrollo de software orientado a la mejora individual
de cada ingeniero, que atribuye principios interesantes para la capacidad individual de
un ingeniero:

Cada tcnico es diferente. Para ser efectivos deben tener en cuenta sus
capacidades personales y adaptar la planificacin de sus trabajos a sus
tiempos. Un mtodo que puede que sea efectivo para una persona no tiene por
qu serlo para otra
Las personas que trabajan en el desarrollo de software pueden mejorar su
rendimiento utilizando procesos bien definidos. Para conocer el rendimiento
dcada persona es necesario medir el tiempo o esfuerzo dedicado a cada
actividad o tarea, los defectos que se generan y que se corrigen durante ese
periodo de tiempo y los tamaos de los productos que se obtienen. Es decir, el
PSP utiliza tres tipos de mediciones: esfuerzo, numero de defectos y tamao
de los productos.
Para obtener productos de calidad, cada persona debe responsabilizarse del
trabajo que ha realizado y de los productos que ha obtenido.
Para reducir los costos de produccin, se debe intentar prevenir los defectos
antes y de que ocurran y, en todo caso, descubrir los defectos en las fases ms
tempranas.

Comunicacin de grupo

Un equipo o grupo se conforma de un pequeo nmero de personas con


habilidades complementarias que estn comprometidos con un propsito un comn,
un conjunto de objetivos de rendimiento, y un enfoque que los hace mutuamente
responsables.

Partiendo de este concepto, para realizar un trabajo de calidad en equipo debe


existir una buena relacin interpersonal con cada uno de los miembros que estn
directamente involucrados en el proyecto. A travs de una buena comunicacin un
grupo puede establecer objetivos y planificar sus procesos de una manera eficiente y
definir de qu manera sern distribuidos los roles por cada uno de los miembros que
conforman el equipo. Agregado a esto existen valores que mantienen la buena la
comunicacin, tales como, la confianza, la flexibilidad, la sinceridad y el respeto.

Para desarrollar una buena comunicacin se pueden realizar diversos tipos de


reuniones ya sean formales o informales. Un primer paso para una buena
comunicacin puede ser la realizacin de una reunin informal ldica con el grupo de
trabajo, que sirva para conocerse mejor y acordar pero de manera informal. Se pueden
realizar reuniones formales donde el grupo paute distintos puntos a tratar ya sea para
trabajar, resolver algo puntual, planificar o realizar toma de decisiones que sean
necesarias para el futuro del proyecto de desarrollo de ingeniera de software.

Para que exista un buen proyecto de desarrollo de software es importante que


el ingeniero del software tenga una capacidad individual de alta experiencia para que
el trabajo y la comunicacin de grupo se realicen de la manera adecuada.

De igual manera que el Personal Software Process (PSP) existe un modelo que
proporciona un marco de trabajo de procesos definidos que est diseado para ayudar
a los equipos de gerentes e ingenieros a organizar y producir proyectos de software de
gran escala, que tengan tamaos mayores a varios miles del lneas de cdigo
denominado Team Software Process (TSP). El objetivo de este modelo es mejorar los
niveles de calidad y productividad de un proyecto de desarrollo de software de un
equipo, con el fin de ayudarlos a alcanzar los acuerdos de costos y tiempos en dicho
desarrollo. Se enfoca en el proceso de construccin de un equipo productor de
software, estableciendo objetivos del equipo, distribuyendo los roles y otras
actividades de trabajo en equipo. El Team Software Process se inicia con un proceso
de cuatro das llamado despegue. El despegue est diseado para comenzar el proceso
de construccin de los equipos y durante este tiempo, los equipo y sus
administradores establecen metas, definen roles, evalan riesgos y producen un plan
de equipo.

Complejidad del producto

Actualmente, las Tecnologas de la Informacin (TI) estn caracterizadas por


ser una industria de rpida innovacin e intensa competicin. En consecuencia, las
organizaciones software debern estar preparadas para desarrollar productos que
satisfagan la calidad requerida, a bajo costo y en tiempo reducido. Estas condicin es
implican que las organizaciones intenten adoptar buenas prcticas y atributos de
calidad para sus diferentes procesos, ya que segn Fuggetta: the quality of a
software product heavily depends on the people, organization, and procedures used to
create and deliver it (2000,p.28). Por lo tanto la calidad del producto desarrollado
por una organizacin, depende, necesariamente, de la calidad del proceso que se sigue
para obtenerlo. En este orden de ideas, es posible pensar que los procesos software
deben soportar o facilitar el cumplimiento de las caractersticas de calidad que
satisfacen los estndares requeridos para los productos software desarrollados.
Atendiendo a ello, en este artculo se presenta un anlisis acerca de la importancia
que tiene la integracin de las caractersticas de calidad del producto en los procesos
utilizados para producirlo. Asimismo, se presentan las posibles soluciones y
beneficios que se pueden llegar a obtener en esta nueva lnea de investigacin en la
ingeniera del software.

Control de cambio

El cambio es inherente al software computacional y genera confusin entre


los ingenieros de software involucrados en un proyecto, dicha confusin surge
cuando los cambios no se analizan antes de realizarlos, no se registran antes de
implementarlos, no se reporta a quienes deben saberlo o no se mantiene un control
sobre ellos.

Esto es la gestin de la configuracin: "El arte de coordinar el desarrollo de


software para minimizar la confusin".

El Control de cambio es una actividad que se desarrolla durante todo el


proceso de desarrollo ya que no sabemos en qu momento se originara un cambio, las
actividad en este proceso se desarrollan para:

1. Identificar el Cambio
2. Controlar el Cambio
3. Garantizar que el cambio se realizara de manera adecuada
4. Reportar los cambios a todos los interesados
Quien es el encargado del control de cambio?
Todos los involucrados en el desarrollo de un proyecto deberan en alguna
medida participar en la CC aun que hay empresas con ms recursos que tienen
personas especializadas para este fin.

Por qu es importante?
Si el cambio no se controla en un proyecto de software, este tiene al caos mas
aun cuan hay una gran cantidad de personas involucradas y en posibles partes
distintas, tanto as que un desarrollo de software sin control puede llegar a entregar
productos de muy mala calidad por lo cual es una prctica solida de ingeniera de
software

Niveles tecnolgicos

Los niveles tecnolgicos agrupan y organiza el conjunto de elementos


tecnolgicos que integran un proyecto, soportan las operaciones de una organizacin
o sustentan una operacin. Los niveles tecnolgicos define el xito de una empresa en
la medida de que su robustez, calidad y sostenibilidad se traduce en incremento de la
inversin. Por este motivo es crucial conocer todos sus componentes o elementos a
nivel de software y de hardware El nivel tecnolgico slido permite a un software
operar de manera eficiente y eficaz durante el tiempo previsto con niveles altos de
servicios y prestaciones.

El software es el activo ms nuevo de las organizaciones cuyo valor se obtiene


por la importancia de su uso, eficiencia, procesado de datos y capacidad de facilitar
operaciones. En este sentido, es ms que importante y relevante que opere sobre
niveles estables que garanticen un ptimo trabajo del software

El software es una herramienta que le permite a individuos y organizaciones


ser ms eficientes. Es una herramienta que est presente en todos los aspectos de
nuestra vida: es lo que permite que nuestro celular funcione, es lo que facilita el
anlisis de las imgenes mdicas en los centros de alta tecnologa, es lo permite
disear estrategias que permitan el ahorro de energa, es lo que facilita la
determinacin de la presencia de petrleo en nuestro suelo patrio, y es lo que nos
permite comunicarnos con nuestros seres queridos a travs de la Internet. El software
es algo que normalmente no nos preocupa y que muchas veces ni siquiera notamos a
menos que algo salga mal. Es decir, en ese sentido es como el rbitro del partido de
Ftbol: si lo est haciendo bien ni nos damos cuenta de que est all pero si lo hace
mal inmediatamente notamos su presencia. Por eso muchas veces es difcil darnos
cuenta de cunto dependemos tecnolgicamente de otros pases. Si no pensamos
acerca del software difcilmente notemos que estamos atados a tecnologas forneas.

Si queremos independencia tecnolgica, tenemos que empezar a trabajar en


pro del desarrollo de esas herramientas que nos permitan lograr nuestra
independencia tecnolgica.

Nivel de confiabilidad

El Nivel de confiabilidad es la probabilidad de operacin libre de fallas de un


programa de computadora en un entorno determinado y durante un tiempo especfico.

El fallo es cualquier no concordancia con los requerimientos del software.


Hay distintos grados de fallos, estos pueden ser simplemente desconcertantes o
catastrficos.

La confiabilidad del software se encuentra en un etapa de formacin de


desarrollo y es la caracterstica de rendimiento ms costosa de conseguir y difcil de
conseguir y de difcil de garantizar. La naturaleza del proyecto ayuda para la
formulacin de estimaciones de costo y el esfuerzo que asegure la confiabilidad
requerida.

Los niveles de confiabilidad del software se usan para caracterizar y predecir


el comportamiento importante para directores e ingenieros.

La generacin de fallos depende del cdigo desarrollado, tales como tamao y


las caractersticas del proceso de desarrollado tales como las tecnologas y
herramientas de ingeniera de software usadas.

La eliminacin de fallos depende del tiempo y del perfil operativo. Los


modelos de confiabilidad del software son generalmente procesos aleatorios. Estos
modelos se pueden dividir en 2 grandes categoras:

1. Modelos que predicen la confiabilidad como una funcin cronolgica del


tiempo
2. Modelos que predicen la confiabilidad como una funcin del tiempo de
procesamiento transcurrido.

Resultados tericos

Si bien el texto en un software tiene la ventaja de ofrecer un ambiente para


aprender ms rico, verstil y estimulante, si se quiere lograr un fin educativo es
necesario disearlo considerando las caractersticas de desarrollo de sus usuarios
potenciales. Para el diseo de Lectura Inteligente partimos de que en cuarto ao la
mayora de los alumnos se encuentran en el proceso de transitar de aprender a leer a
leer para aprender.

En esta transicin es clave que los alumnos consoliden aspectos vinculados a la


fluidez (reconocimiento automtico de la palabra, prosodia y velocidad) lo que
significa leer el texto adecuada y automticamente poniendo mucha atencin en su
sentido ms que en las palabras mismas. As mismo, que inicien el desarrollo de
estrategias de comprensin lectora a partir de las cuales aprendan a emplear los
diferentes apoyos del texto, reconozcan diferencias en la estructura textual, elaboren
inferencias recuperan do sus conocimientos previos y prediciendo los contenidos,
construyan un significado propio y empleen de manera significativa el nuevo
conocimiento La transicin va acompaada con cambios en el conocimiento y
representacin que los alumnos tienen de la actividad de leer as como en sus
capacidades cognoscitivas, lo que les llevar a ser cada vez ms autnomos y a
valorar la lectura.
Introduccin

Este concepto fue acuado en los aos 60 cuando la crisis del software
tuvo lugar. Esta crisis fue el producto de la aparicin de la tercera generacin
del hardware. El hardware impuls el desarrollo de la informtica, disminuy
los costos y mejoro la calidad del software producido.

Los problemas que originaron la crisis fueron:


Planificacin errada del proyecto y estimacin de costos imprecisa.
Software producido con poca calidad y eficiencia.
Mantenimientos mal manejados, sobre todo en programas con diseo
poco estructurado, etc.
En este sentido, hoy da el software deben ser eficaces y baratos tanto en el
proceso de desarrollo como en la adquisicin del producto. Adems, la
fiabilidad, facilidad de mantenimiento y de uso, son caracterstica recurrente
etc.

Instituto Universitario Politcnico.


Santiago Mario
Extensin Maturn.
Escuela de Ingeniera de Sistemas.
Profesora: Alumnos:
Ing. Crucimar Sosa Jetzimar Sousa C.I. 22.707.515
Yunior Marquez C.I. 22.617.851
David Marroqun C.I. 22.722.208
Jess Bolvar C.I. 12.051.857
Yonmar Guevara C.I. 19.258.361

Maturn, Mayo del 2016.

Você também pode gostar