Está en la página 1de 14

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA

UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO BOLIVAR

PROGRAMA NACIONAL DE FORMACION EN INFORMATICA

Funda
ment
os de
Docente: Integrantes:

Marian Adams Bonnyer Jiménez

C.i: 28342831

Ramon Bolivar

C.i: 28618346

Eliomar Alvarez

C.i:28254910

T2-INF-M3
El software
Son programas, datos o métodos de funcionamiento a
modo de instrucciones a través de las que los equipos
informáticos realizan tareas. El software se utiliza no solo
en ordenadores, sino que se trata del tipo de herramienta
que también se aplica en el caso de dispositivos móviles,
consolas y todo tipo de maquinaria.
El software está compuesto por un conjunto de
aplicaciones y programas diseñados para cumplir diversas
funciones dentro de un sistema. Además, está formado
por la información del usuario y los datos procesados.
Los programas que forman parte del software le indican al
hardware (parte física de un dispositivo), por medio de
instrucciones, los pasos a seguir.
Todo dispositivo está formado tanto por la parte
intangible, el software, como por la parte tangible, el
hardware. El hardware es el conjunto de elementos
materiales que forman parte de un dispositivo electrónico.
Por ejemplo: en el caso de una computadora, el hardware
está formado por el monitor, el teclado, el ratón, entre
otros.
Cualidades del software
 Correctitud: Un sistema es correcto cuando se
comporta de acuerdo a los requerimientos del cliente.
 Confiabilidad: El software es confiable si se comporta
de acuerdo a los requerimientos del usuario.
 Robustez: Un programa es robusto si se comporta en
forma razonable aún en situaciones que no fueron
pronosticadas en la descripción de los
requerimientos.
 Performance: Se puede medir la eficiencia del sistema
de acuerdo a dos dimensiones: Los recursos
necesarios que abarcan la construcción y desarrollo
del software, y los recursos necesarios que
comprende la ejecución de la aplicación.
 Amigabilidad: Un sistema es amigable cuando el
usuario encuentra la interfaz fácil de manejar.
 Verificabilidad: Un software es verificable si sus
propiedades pueden ser verificadas sencillamente.
 Mantenimiento: Es la forma fácil de corregir y
remediar fallas que pueda tener algún software.
 El mantenimiento correctivo: El mantenimiento
correctivo es la eliminación de errores excedentes
presentes en el producto al ser liberado así como
errores implantados al software durante su
mantenimiento.
 Mantenimiento adaptativo: Involucra el ajuste de la
aplicación a ajustes en el entorno, por ejemplo la
creación de hardware o del sistema operativo.
 El mantenimiento perfectivo: Implica cambios en el
software para perfeccionar sus cualidades, los cuales
se deben a la necesidad de cambiar las funciones
brindadas por el software, añadir nuevas funciones,
renovar la performance, facilitar su manejo, entre
otras.
 La reusabilidad: Se refiere a que una aplicación puede
utilizarse en otras aplicaciones.
 Portabilidad: Se refiere a la manera en que los
clientes pueden acceder a los productos ya que un
software portable es mucho más fácil de obtener por
los clientes dado que pueden acceder a dicho
software.
 Comprensibilidad: Algunos sistemas de software son
más cómodos de comprender que otros, ciertas
tareas son sustancialmente más complicadas que
otras.
 Interoperabilidad: Es la destreza que posee un
sistema para coexistir e interactuar con otros, por
ejemplo, la habilidad de un procesador de texto de
incluir gráficas producidas por un paquete de gráficos.
 La productividad: Es una cualidad del proceso de
producción de software, calcula la eficiencia del
proceso.
Factores de calidad del software
La obtención de un software con calidad implica la
utilización de metodologías o procedimientos estándares
para el análisis, diseño, programación y prueba del
software que permitan uniformar la filosofía de trabajo, en
aras de lograr una mayor confiabilidad, mantenibilidad y
facilidad de prueba, a la vez que eleven la productividad,
tanto para la labor de desarrollo como para el control de la
calidad del software. Los factores de calidad sirven para
descomponer el concepto genérico de “calidad” en otros
más sencillos, para facilitar su control y su medición.
Dado que la división en factores es una división subjetiva,
existen varias clasificaciones de los factores de calidad. Por
ejemplola de McCall, que los agrupa en tres perspectivas:
operativa, de mantenimiento y evolutiva.
Factores operativos
Los factores operativos son aquellos que afectan al uso del
software:
 Corrección: el software cumple las especificaciones
 Fiabilidad: grado en el que el software es confiable, es
decir, no tiene fallos
 Eficiencia: necesidad de recursos software y hardware
del producto
 Seguridad: grado en el que puede controlarse el
acceso al software y a los datos
 Facilidad de uso: grado de esfuerzo necesario para
utilizar el software.
Factores de mantenimiento
Los factores de mantenimiento son aquellos que se aplican
a la capacidad de modificación del software:
 Flexibilidad: esfuerzo necesario para modificar un
programa
 Facilidad de prueba: esfuerzo requerido para realizar
las pruebas de un programa
 Facilidad de mantenimiento: esfuerzo requerido para
localizar y reparar un error.
Factores evolutivos
Los factores evolutivos son aquellos que indican si el
software se puede trasladar con facilidad a otra máquina
o a otro producto de base (SO, SGBD, etc.), o incrementar
sus prestaciones:
 Portabilidad: facilidad para migrar el software de un
entorno de operación a otro
 Capacidad de reutilización: grado en el que un
programa o parte del mismo se puede utilizar en
otras aplicaciones.
 Capacidad de interoperación: esfuerzo necesario para
que un software opere conjuntamente con otros
sistemas
Ingeniería del software
La ingeniería de software es una disciplina formada por un
conjunto de métodos, herramientas y técnicas que se
utilizan en el desarrollo de programas informáticos, más
conocidos como softwares.
Para nosotros, este servicio trasciende a la programación,
que es la base para crear una aplicación. La ingeniería de
software engloba toda la gestión de un proyecto. Desde el
análisis previo de la situación, el planteamiento del diseño
hasta su implementación, pasando por las pruebas
recurrentes para su correcto funcionamiento. Podríamos
decir que la ingeniería del software es el continente donde
se aloja el contenido, que sería el software en sí.
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: la empresa, la investigación científica, la
medicina, la fabricación, la logística, la banca, el control
del tráfico y la meteorología son solo algunos de los
campos en los que puede trabajar.
Visión general del proceso de desarrollo de
software
El papel del usuario dentro del proceso de desarrollo de
software.
El rol que el usuario desempeña dentro del desarrollo de un
Sistema de Información es de suma importancia, ya que los
sistemas se construyen para satisfacer las necesidades
particulares del usuario, en función de los objetivos estratégicos
de la organización y ninguna otra persona, incluyendo al analista
del sistema, conoce mejor que el usuario mismo, sus propios
requerimientos; razón por la cual se dice que el usuario es el
“Dueño del Sistema”. Sin embargo, éste no es su único papel, ya
que existen una serie de funciones que el usuario debe asumir
durante todo el desarrollo del proyecto, las cuales van exigiendo
una determinada categorización del usuario de acuerdo a la
responsabilidad que tendrá dentro del proyecto.
Responsabilidad ética y profesional en Ingeniería del
software.
La ingeniería del software se lleva a cabo dentro de un marco legal
y social que limita la libertad de los ingenieros. Los ISW deben
aceptar que su trabajo comprende responsabilidades más amplias
que simplemente la aplicación de habilidades técnicas. Deben
comportarse de una forma ética y moral responsable, no basta
con poseer estándares normales de honestidad e integridad. No
debería utilizar su capacidad y sus habilidades para comportarse
de forma deshonesta o de forma que deshonre la profesión de la
ingeniería del software.
Ciclo de vida del software.
Al igual que en otros sistemas de ingeniería, los sistemas de
software requieren un tiempo y esfuerzo considerable para su
desarrollo y deben permanecer en uso por un periodo mucho
mayor. Durante este tiempo de desarrollo y uso, desde que se
detecta la necesidad de construir un sistema de software hasta
que este es retirado, se identifican varias etapas que en conjunto
se denominan el ciclo de vida del software y en cada caso, en
función de cuales sean las características del proyecto, se
configurará el ciclo de vida de forma diferente. Usualmente se
consideran las etapas: especificación y análisis de requisitos,
diseño del sistema, implementación del software, aplicación y
pruebas, entrega y mantenimiento. Un aspecto esencial dentro de
las tareas del desarrollo del software es la documentación de
todos los elementos y especificaciones en cada fase.
Análisis: Construye un modelo de los requisitos
Diseño: A partir del modelo de análisis se deducen las estructuras
de datos, la estructura en la que descompone el sistema y la
interfaz de usuario.
Codificación: Construye el sistema. La salida de esta fase es código
ejecutable.
Pruebas: Se comprueba que se cumplen criterios de corrección y
calidad.
Validación: es el proceso de comprobar que lo que se ha
especificado es lo que el usuario realmente quería.
Participantes en el proceso de desarrollo de
software
Roles
 Administrador de proyecto
 Analista
 Diseñador
 Programador
 Téster
 Asegurador de calidad
 Documentador
 Ingeniero de manutención
 Ingeniero de validación y verificación 
 Administrador de la configuración
 Cliente.

Ciclo de vida del software, fundamentación


teórica de: Paradigmas de programación,
métodos de desarrollo de software,
metodologías o procesos de desarrollo de
software, modelado de sistema, técnicas y
herramientas en el proceso de desarrollo de
software
Paradigma Tradicional: Es uno de los paradigmas más antiguo, se
inventó durante la creación del método estructurado. Si se elige
un proyecto, el método varia en etapas.
Paradigma Orientado a Objetos: Estos modelos se basan en la
Programación orientada a objetos; por lo tanto, se refiere al
concepto de clase, el análisis de requisitos y el diseño
Paradigma de Desarrollo Ágil: Es un paradigma de las
Metodologías De Desarrollo basado en procesos ágiles. Estos
intentan evitar los tediosos caminos de las metodologías
tradicionales enfocándose en las personas y los resultados. Usa un
enfoque basado en el Valor para construir software, colaborando
con el cliente e incorporando los cambios continuamente.
MÉTODOS EN EL PROCESO DE DESARROLLO DE UN SOFTWARE
Los métodos formales son soluciones matemáticas para resolver
problemas de software y hardware a nivel de requisitos,
especificación y diseño. Ejemplos de métodos formales incluyen el
Método B, la red de Petri, la demostración automática de
teoremas, RAISE y el VDM. Hay varias notaciones de
especificaciones formales, tales como el lenguaje Z. Más
generalmente, se puede utilizar la teoría de autómatas para
aumentar y validar el comportamiento de la aplicación diseñando
un sistema de autómata finito.
Los métodos formales se suelen aplicar en software de aviación,
especialmente si es software de seguridad crítico. Los estándares
de aseguramiento del software de seguridad, tales como DO178B
demandan métodos formales en el nivel más alto de
categorización (Nivel A).
METODOLOGÍAS PARA EL DESARROLLO DEL SOFTWARE
Un proceso de software detallado y completo suele denominarse
“Metodología”. Las metodologías se basan en una combinación
de los modelos de proceso genéricos (cascada, evolutivo,
incremental, etc.). Adicionalmente una metodología debería
definir con precisión los artefactos, roles y actividades
involucrados, junto con prácticas y técnicas recomendadas, guías
de adaptación de la metodología al proyecto, guías para uso de
herramientas de apoyo, etc. Habitualmente se utiliza el término
“método” para referirse a técnicas, notaciones y guías asociadas,
que son aplicables a una (o algunas) actividades del proceso de
desarrollo, por ejemplo, suele hablarse de métodos de análisis y/o
diseño.
MODELOS DE DESARROLLO DE SOFTWARE
Hay varios modelos para perfilar el proceso de desarrollo, cada
uno de las cuales cuenta con pros y contras. El proyecto debería
escoger el más apropiado para sus necesidades. En ocasiones
puede que una combinación de varios modelos sea apropiado.
Modelo de cascada
El modelo de cascada muestra un proceso donde los
desarrolladores han de seguir las siguientes fases de forma
sucesiva:
Siguiendo el modelo de cascada de forma estricta, sólo cuando se
finaliza una fase, comienza la otra. En ocasiones se realiza una
revisión antes de iniciar la siguiente fase, lo que permite la
posibilidad de cambios (lo que puede incluir un proceso de control
formal de cambio).
Modelo de espiral
La principal características del modelo en espiral es la gestión de
riesgos de forma periódica en el ciclo de desarrollo. Este modelo
fue creado en 1988 por Barry Boehm, combinando algunos
aspectos clave de las metodologías del modelo de cascada y del
desarrollo rápido de aplicaciones, pero dando énfasis en un área
que para muchos no jugó el papel que requiere en otros modelos:
un análisis iterativo y concienzudo de los riesgos, especialmente
en el caso de sistema complejos de gran escala.
Modelo de Codificación y corrección
El desarrollo de codificación y corrección (en inglés "Code and fix")
es, más que una estrategia predeterminada, el resultado de una
falta de experiencia o presión que se ejerce sobre los
desarrolladores para cumplir con una fecha de entrega.2 Sin
dedicar tiempo de forma explícita para el diseño, los
programadores comienzan de forma inmediata a producir código.
Antes o después comienza la fase de pruebas de software (a
menudo de forma tardía) y los inevitables errores que se
encuentran han de eliminarse antes de poder entregar el
software.

TÉCNICAS PARA EL DESARROLLO DE SOFTWARE


La recolección de datos es una técnicas y herramientas
que pueden ser utilizadas por el analista para desarrollar
los sistemas de información, los cuales pueden ser la
entrevistas, la encuesta, el cuestionario, la observación, el
diagrama de flujo y el diccionario de datos.
El análisis de costo-beneficio es una técnica analítica que
enumera y compara el costo neto de una intervención con
los beneficios que surgen como consecuencia de aplicar
dicha intervención. Para esta técnica, los costos y los
beneficios de la intervención se expresan en unidades
monetarias.
HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Las Herramientas de Ayuda al Desarrollo de Sistemas de
Información, surgieron para intentar dar solución a los
problemas inherentes a los proyectos de generación de
aplicaciones informáticas: plazos y presupuestos
incumplidos, insatisfacción del usuario, escasa
productividad y baja calidad de los desarrollos. Algunas de
estas herramientas se dirigen principalmente a mejorar la
calidad, como es el caso de las herramientas CASE
(Computer Aided Software Engineering-Ingeniería de
Software Asistida por Ordenador). Otras van dirigidas a
mejorar la productividad durante la fase de construcción,
como es el caso de los lenguajes de cuarta generación
(4GL-Fourth Generation Language).

También podría gustarte