0% encontró este documento útil (0 votos)
48 vistas12 páginas

Software

La ingeniería de software estudia la creación de software confiable y de calidad basándose en métodos y técnicas de ingeniería. Aborda todas las fases del ciclo de vida de desarrollo de sistemas de información y es aplicable a diversos ámbitos como el diseño de sistemas operativos. La creación de software es un proceso creativo que la ingeniería de software trata de sistematizar para reducir riesgos y garantizar el correcto funcionamiento del software.

Cargado por

Agustin Campos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
48 vistas12 páginas

Software

La ingeniería de software estudia la creación de software confiable y de calidad basándose en métodos y técnicas de ingeniería. Aborda todas las fases del ciclo de vida de desarrollo de sistemas de información y es aplicable a diversos ámbitos como el diseño de sistemas operativos. La creación de software es un proceso creativo que la ingeniería de software trata de sistematizar para reducir riesgos y garantizar el correcto funcionamiento del software.

Cargado por

Agustin Campos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

La Ingeniería de Software es una de las ramas de las ciencias de la computación que estudia

la creación de software confiable y de calidad, basándose en métodos y técnicas de


ingeniería, y brindando soporte operacional y de mantenimiento. En otras palabras, se
puede decir que es aquella disciplina que implica el uso de estructuras,
herramientas y técnicas para construir programas informáticos. La cual, a su vez,
incluye el análisis previo de la situación, la redacción del proyecto, la creación
del software y las pruebas necesarias para garantizar el correcto funcionamiento
del software antes de poner el sistema en funcionamiento.

Esta ingeniería aborda todas las fases del ciclo de vida de desarrollo de
cualquier tipo de sistema de información y es aplicable a una amplia gama de
ámbitos de la informática y la ciencia de los ordenadores, como el diseño de
compiladores, sistemas operativos y tecnologías de Intranet/Internet: Algunos de
los campos en los cuales podemos observar la ingeniería de software seria en la
investigación científica, la medicina, la fabricación, la logística, la banca, el control
del tráfico y la meteorología, etc.2
La creación del software es un proceso intrínsecamente creativo y la ingeniería
del software trata de sistematizar este proceso con el fin de acotar el riesgo de fracaso en la
consecución del objetivo, por medio de diversas técnicas que se han demostrado adecuadas
sobre la base de la experiencia previa.

Son los elementos que afectan la calidad del software. Estos factores son:

FACILIDAD DE AUDITORIA: La facilidad con la que se puede comprobar el


cumplimiento de los estándares.

EXACTITUD: La exactitud de los cálculos y del control,

ESTANDARIZACIÓN DE COMUNICACIONES: El grado de empleo de estándares de


interfaces, protocolos y anchos de banda.

COMPLECION: El grado con que se ha logrado la implementación total de una confusión.

CONCISIÓN: Lo compacto que es el programa en términos de líneas de código.

CONSISTENCIA: El empleo de un diseño uniforme y de técnicas de documentación a lo


largo del proyecto de desarrollo del software.

ESTANDARIZACIÓN DE DATOS: El empleo de estructuras y tipos de datos estándares a


los largo del programa.

TOLERANCIA AL ERROR: El daño causado cuando un programa encuentra un error.


EFICIENCIA DE EJECUCIÓN: El rendimiento del funcionamiento de un programa.

CAPACIDAD DE EXPANSIÓN: El grado con que se pueden ampliar el diseño


arquitectónico. De datos o procedimental.

GENERALIDAD: La amplitud de aplicación potencial de los componentes del programa.

INDEPENDENCIA DEL HARDWARE: El grado con que se desacopla el software del


hardware donde opera.

INSTRUMENTACIÓN: El grado con que el programa vigila su propio funcionamiento e


identifica los errores que ocurren.

MODULARIDAD: La independencia funcional de componentes de programa.

OPERATIVIDAD: La facilidad de operación de un programa.

SEGURIDAD: La disponibilidad de mecanismos que controlan o protegen los programas y


los datos.

AUTODOCUMENTACION: El grado en que el código fuente proporciona documentación


significativa.

SIMPLICIDAD: El grado de facilidad con que se puede entender un programa.

INDEPENDENCIA DEL SISTEMA SOFTWARE: El grado de independencia del


programa respecto a las características de lenguaje de programación no estándar,
características del sistema operativo y otras restricciones del entorno.

TRAZABILIDAD: La capacidad de seguir una representación del diseño o un componente


real del programa hasta los requisitos.

FORMACIÓN: El grado en que ayuda el software a manejar el sistema a los nuevos


usuarios.

METRICAS DE CALIDAD

Un elemento clave de cualquier proceso de ingeniería es la medición.

Aunque las métricas técnicas para el software de computadoras no son absolutas, nos
proporcionan una manera sistemática de valorar la calidad basándose en un conjunto de
«reglas claramente definidas»
Para poder desarrollar y entender cada uno de los factores que
afectan el desarrollo de un software debemos tener muy presentes
que La calidad y la productividad de un programa informático son
factores de una misma ecuación, que juntas equivalen a la
satisfacción del cliente y el éxito de la empresa/equipo de
desarrollo y del mismo software, siendo un proceso en el cual
intervienen, la eficacia, la efectividad, la competitividad incidiendo
directamente en la calidad del producto y su tiempo de
producción.

Calidad: son las acciones orientadas a la mejora continua de productos, sean estos bienes o
servicios y/o los procesos requeridos para su obtención

Productividad: es el resultado de las acciones orientadas a la mejora de la calidad y al


aumento de la efectividad de un proceso en el que intervienen unas entradas para obtener
unas salidas previstas.

Según Basili y Zelkowitz [BAS78] definen cinco factores importantes que inciden en la
productividad del software: ·
Factores humanos: El tamaño y la experiencia de la organización de desarrollo.
Factores del problema: La complejidad del problema que se debe resolver y el número de
cambios en las restricciones o los requisitos del diseño.
Factores del proceso: Técnicas del análisis y diseño qué se utilizan, lenguajes y
herramientas CASE y técnicas de revisión. ·
Factores del producto: Fiabilidad y rendimiento del sistema basado en computadora. ·
Factores del recurso: Disponibilidad de herramientas CASE, y recursos (hardware y
software).
Si uno de los factores de productividad está por encima de la media (altamente favorable)
para un proyecto dado, la productividad de desarrollo del software será significativamente
más alta que el mismo factor por debajo de la media (desfavorable)

Aspectos básicos de calidad de software

La descripción que se hace de los factores que influyen en un software


de calidad se basan principalmente en las ideas presentadas por Dunn
(1990), Crosby (1979) y Pressman (1998). Sin embargo, también se han
tomado algunos aportes de Bertrand Meyer y Mauricio Fernando Alba
(1992).

Dunn (1990) presenta la calidad en el software tomando dos puntos de


vista : la calidad en el proceso de desarrollo y la calidad en el producto
final, estos dos grupos principales los agrupa en los siguiente aspectos
de calidad : confiabilidad, utilizabilidad, mantenibilidad, y adaptabilidad.

Pressman (1998) describe similares factores de calidad agrupados en


tres grupos: calidad en operación, calidad en revisión y calidad en
transición.

A continuación se presentan los factores de calidad de acuerdo al orden


dado por Dunn (1990).

2.2.1. Confiabilidad . Este termino es necesario sea separado en varios


elementos que permiten darle al software el matiz de fiable. Sus
componente son : Completitud, consistencia y precisión, solidez,
simplicidad, calidad en los procesos de desarrollo y seguridad y
Verificabilidad, estas dos últimas que se determinan con el sistema en
uso.

2.2.2 Usabilidad . Si bien es cierto que la confiabilidad es un factor muy


importante en la calidad del software también lo es el hecho de que es
necesario considerar otros factores como los que se mencionan en esta
sección puesto que de nada sirve un software que funcione correcta y
confiablemente si el usuario prefiere no utilizarlo. Estos son: exactitud de
los procesos, claridad y exactitud de la documentación,
completitud, eficiencia y verificabilidad del software y claridad y
amigabilidad de la interfaz.

2.2.3 Mantenibilidad . Este aspecto de calidad involucra los elementos


que simplifican la labor de prevención, corrección o ampliación del código
del programa. Retomar un código escrito meses antes es un trabajo
dispendioso y agobiante, en especial cuando las aplicaciones no cuentan
con la característica a la cual aquí se hace referencia. Se pueden
considerar como atributos de este aspecto : exactitud y claridad en la
documentación, modularidad (acoplamiento), facilidad de lectura y
simplicidad.
2.2.4 Portabilidad . Es la capacidad que posee un sistema de
información que le permite funcionar en diferentes plataformas ya sean
hardware o de software.

Otro autor que contribuye con el aspecto de las medidas en el software


es McCall, él y sus colegas proponen tres factores de calidad y sus
partes así :

Factor 1 . Características operativas, relacionadas con las operaciones


del producto. Son: corrección, fiabilidad, eficiencia, integridad y facilidad
de uso.

Factor 2 . Capacidad de soportar cambios, relacionado con la revisión


del producto. Facilidad de mantenimiento, flexibilidad y facilidad de
prueba.

Factor 3 . Adaptabilidad, relacionado con la transición del producto.


Portabilidad, reusabilidad – reutilizabilidad e interoperabilidad.

Factores de la calidad ISO 9126


Por otro lado tenemos los factores de la calidad de un producto de software establecidos en
el estándar ISO 9126, el cual se desarrolló con la intención de identificar los atributos clave
de un producto de software de cómputo.
Este sistema identifica seis atributos clave de la calidad:
Funcionalidad. Grado en el que el software satisface las necesidades planteadas según las
establecen los atributos siguientes: adaptabilidad, exactitud, interoperabilidad,
cumplimiento y seguridad.
Confiabilidad. Cantidad de tiempo que el software se encuentra disponible para su uso,
según lo indican los siguientes atributos: madurez, tolerancia a fallas y recuperación.
Usabilidad. Grado en el que el software es fácil de usar, según lo indican los siguientes
subatributos: entendible, aprendible y operable.
Eficiencia. Grado en el que el software emplea óptimamente los recursos del sistema, según
lo indican los subatributos siguientes: comportamiento del tiempo y de los recursos.
Facilidad de recibir mantenimiento.
Facilidad con la que pueden efectuarse reparaciones al software, según lo indican los
atributos que siguen: analizable, cambiable, estable, susceptible de someterse a pruebas.
Portabilidad. Facilidad con la que el software puede llevarse de un ambiente a otro según lo
indican los siguientes atributos: adaptable, instalable, conformidad y sustituible.
Cabe destacar que los factores ISO 9126 no necesariamente conducen a una medición
directa o exacta. Sin embargo, proporcionan una base útil para hacer mediciones indirectas
y una lista de comprobación excelente para evaluar la calidad de un sistema,

Capacidad individual.
La capacidad individual consiste, básicamente, en la aptitud que un individuo
particular presenta a la hora de realizar una determinada disciplina o acción. Al
enfocar este concepto en la ingeniería de software tendríamos que, la capacidad
individual se trata del conjunto de recursos, condiciones, cualidades o aptitudes que
presenta un individuo determinado y que le brinda o permite llevar a cabo el
desarrollo de un determinado producto de software, llevando a cabo cada uno de
los procesos necesarios para su elaboración.

La capacidad es la aptitud que se tiene en una determinada disciplina o


práctica. También puede referir a la condición de un recipiente en función de
la posibilidad de contener un líquido. Otras acepciones referirán seguramente
al potencial de un determinado elemento de realizar una tarea o trabajo. En
cualquier caso, la capacidad hace alusión a una cualidad determinada que
muestra algo o alguien, cualidad que suele ser útil. En el caso de
las capacidades humanas, estas pueden sin lugar a dudas mejorarse mediante el
trabajo y la formación, circunstancia por la que se incrementan o se incorporan
otras paulatinamente

v La capacidad es el conjunto de recursos y aptitudes que tiene un individuo para


desempeñar una determinada tarea. En este sentido, esta noción se vincula con la de
educación, siendo esta última un proceso de incorporación de nuevas herramientas para
desenvolverse en el mundo. El término capacidad también puede hacer referencia a
posibilidades positivas de cualquier elemento.

Circunstancia o conjunto de condiciones, cualidades o aptitudes, especialmente


intelectuales, que permiten el desarrollo de algo, el cumplimiento de una función,
el desempeño de un cargo, etc.

Que le brinda o permite llevar a cabo el desarrollo de un determinado producto


de software, ejecutando con cada uno de los procesos necesarios de la forma mas
correcta posible.
Se denomina capacidad al conjunto de recursos y aptitudes
que tiene un individuo para desempeñar una determinada
tarea. El término capacidad también puede hac

Más allá del código, es esencial la comunicación para un buen funcionamiento


del propio equipo de desarrollo y para relacionarse con el resto de perfiles que
intervienen en el producto: comerciales, expertos de dominio, sistemas,
usabilidad, etc. Todos hemos de tener un objetivo común y esto implica
comunicarse y entenderse.

Es más fácil calcular en positivo, cuánto nos cuesta una reunión, que al revés,
cuánto nos cuesta no hacerla. Pero desde luego creo que una mala
comunicación tiene un fuerte impacto negativo en la empresa y en los equipos.
Por ejemplo, a la hora de desarrollar un producto que no es lo que se espera o lo
que pide el mercado y, por supuesto, desde el punto de vista emocional y
motivacional. La mala comunicación afecta a las personas y disminuye la
productividad.

El concepto de comunicación grupal hace referencia


al proceso interactivo que tiene lugar entre tres o más
personas. La comunicación grupal resulta básica e
importante en el desarrollo de relaciones entre personas,
familias, grupos sociales, empresas e incluso gobiernos.

La comunicación grupal es un proceso mediante el


cual un conjunto de personas puede transmitirse
información, emociones, ideas y pensamientos entre
ellas. Es uno de los tipos de comunicación
interpersonal más importantes, ya que se da en
muchos contextos diferentes y tiene un gran impacto
sobre nuestro día a día.
El enfoque sistémico es la aplicación de la teoría general de los sistemas - TGS en
cualquier disciplina. En un sentido amplio, la teoría general de los sistemas se presenta
como una forma sistemática y científica de aproximación y representación de la
realidad y, al mismo tiempo, como una orientación hacia una práctica estimulante para
formas de trabajo interdisciplinarias.

El Enfoque Sistémico es un proceso general por el que se analizan y explican elementos


correlacionados que constituyen conjuntos sistémicos, permitiendo resolver problemas operativos
mediante diversas tecnologías y, comprender, cómo se componen y relacionan entre sí las
estructuras y los procesos de un programa, de una organización. de un sector e incluso de un
sistema de mayor magnitud.
Notaciones apropiadas:

En la ingeniería de software se disponen de 3 tipos de notaciones apropiadas para


representar los proyectos o productos de software, los cuales son:
LUM (lenguaje unificado de modelado) o UML
Es un lenguaje de modelado muy reconocido y utilizado actualmente que se utiliza para
describir o especificar métodos. También es aplicable en el desarrollo de software. Las siglas
UML significan lenguaje unificado de modelado esto quiere decir que no pretende definir un
modelo estándar de desarrollo, sino únicamente un lenguaje de modelado. Un lenguaje de
modelado consta de vistas, elementos de modelo y un conjunto de reglas sintácticas,
semánticas y pragmáticas que indican cómo utilizar los elementos.
En esta materia nos encontramos con varios diagramas que se pueden usar tales
como: casos de uso, de clases, componentes, despliegue, etc.

BPMN (notación para el modelado de procesos de negocios)


El objetivo de la notación para el modelado de procesos de negocios es proporcionar de una
manera fácil de definir y analizar los procesos de negocios públicos y privados simulando
un diagrama de flujo. La notación ha sido diseñada específicamente para coordinar la
secuencia de los procesos y los mensajes que fluyen entre los participantes del mismo, con un
conjunto de actividades relacionadas. Características básicas de los elementos de BPMN

Diagrama de flujo de datos (DFD)


Un diagrama de flujo de datos permite representar el movimiento de datos a través de un
sistema por medio de modelos que describen los flujos de datos, los procesos que
transforman o cambian los datos, los destinos de datos y los almacenamientos de datos a la
cual tiene acceso el sistema. Con los diagramas de flujo de datos determina la manera en que
cualquier sistema puede desarrollarse, ayuda en la identificación de los datos de la
transacción en el modelo de datos y proporciona al usuario una idea física de cómo resultarán
los datos a última instancia

El enfoque sistémico es la aplicación de la teoría general de los sistemas - TGS en


cualquier disciplina. En un sentido amplio, la teoría general de los sistemas se presenta
como una forma sistemática y científica de aproximación y representación de la
realidad y, al mismo tiempo, como una orientación hacia una práctica estimulante para
formas de trabajo interdisciplinarias.

El Enfoque Sistémico es un proceso general por el que se analizan y explican elementos


correlacionados que constituyen conjuntos sistémicos, permitiendo resolver problemas operativos
mediante diversas tecnologías y, comprender, cómo se componen y relacionan entre sí las
estructuras y los procesos de un programa, de una organizacion. de un sector e incluso de un
sistema de mayor magnitud.

Para efectos de estructura y función organizacional. la aplicación del enfoque sistémico permite
agrupar en forma lógica y ordenada las ciencias, tecnologías, artes y normas utilizadas en el
ejercicio de las actividades del sector a través de sus funciones sistémicas de Producción (de
bienes y servicios). de Paraproducción (operación, mantenimiento, tecnología, etc.) y Reguladoras
(planificación, a

En la mayoría de los casos, cualquier involucrado podrá solicitar


cambios. Una solicitud puede ser tan pequeña como una
modificación en el programa del proyecto o tan grande como un nuevo
entregable. Sin embargo, es importante tener en cuenta que no
todas las solicitudes serán aprobadas, ya que depende de los
participantes clave aprobar o rechazar las solicitudes de cambio.

Según ANSI, la confiabilidad del software se define como la probabilidad de


que el software funcione sin fallas durante un período de tiempo específico
en un entorno particular. Si un producto de software funciona sin fallos
durante un período de tiempo determinado en un entorno específico, se le
conoce como software fiable.
La confiabilidad del software reducirá las fallas durante el desarrollo del
software. En los dispositivos electrónicos o instrumentos mecánicos, el
software no puede tener un 'desgaste', aquí el 'desgaste' solo ocurre debido a
los 'defectos' o 'errores' en el sistema de software.

La confiabilidad es un atributo que mide el grado en que un producto opera sin fallas bajo
condiciones establecidas por un periodo de tiempo determinado. La confiabilidad es un atributo
cuantitativo que ha sido ampliamente analizado, estudiado y usado en otras industrias para
caracterizar la calidad de los productos o servicios. En su concepción más general, la confiabilidad
es un atributo que mide el grado en que un producto opera sin fallas bajo condiciones establecidas
por un periodo de tiempo determinado.

El método gráfico es una técnica de solución de problemas de programación


lineal que se utiliza principalmente para casos con dos variables. Aunque no es muy
práctico para una gran cantidad de variables, es muy útil para interpretar y analizar los
resultados y la sensibilidad del problema. Sin embargo, en casos donde se requiera un
mayor número de variables, es posible emplear otras técnicas como la proyección en
un plano.
El método gráfico se basa en la representación gráfica de las restricciones del modelo
de programación lineal, lo que permite determinar el polígono solución o región
factible. Según el teorema fundamental de la programación lineal, si existe una
solución que cumple con las restricciones del modelo, se encontrará en uno de los
vértices de la región factible.

Ejercicio N°3: Una compañía elabora dos productos diferentes. Uno de ellos requiere por
unidad 1/4 de hora en labores de armado, 1/8 de hora en labores de control de calidad y
US$1,2 en materias primas. El otro producto requiere por unidad 1/3 de hora en labores de
armado, 1/3 de hora en labores de control de calidad y US$0,9 en materias primas. Dada las
actuales disponibilidades de personal en la compañía, existe a lo más un total de 90 horas
para armado y 80 horas para control de calidad, cada día. El primer producto descrito tiene
un valor de mercado (precio de venta) de US$9,0 por unidad y para el segundo este valor
corresponde a US$8,0 por unidad. Adicionalmente se ha estimado que el límite máximo de
ventas diarias para el primer producto descrito es de 200 unidades, no existiendo un límite
máximo de ventas diarias para el segundo producto.

Formule y resuelva gráficamente un modelo de Programación Lineal que permita


maximizar las utilidades de la compañía.

Variables de Decisión:

 : Unidades a producir diariamente del Producto 1


 : Unidades a producir diariamente del Producto 2

Función Objetivo:

Maximizar

Restricciones:




La primera restricción representa las limitantes de horas de armado diariamente. La


segunda restricción la disponibilidad de horas para labores de control de calidad (también
diariamente). La tercera restricción establece una cota superior para la producción y ventas
diarias del Producto 1. Adicionalmente se incluyen las condiciones de no negatividad para
las variables de decisión.

El dominio de soluciones factibles tiene 5 vértices que corresponden a los candidatos a


óptimos del problema. En particular el vértice óptimo es D de modo que la solución
óptima es y con valor
óptimo que corresponde a la utilidad máxima para
la empresa.

También podría gustarte