1. República Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación
Universidad Nacional Experimental de los Llanos Ezequiel Zamora
UNELLEZ-Cardenal Quintero
Fundamentos del software
Docente: Ing Yony
Estudiante: Katherine Pérez
V semestre de TSU en construcción civil
Subproyecto: diseño asistido por computadora
Marzo del 2020
2. Fundamentos del software
El software o soporte lógico, está compuesto por todos aquellos
programas necesarios para que la computadora u otros dispositivos trabaje,
dirigiendo de manera adecuada los elementos físicos o hardware, puesto que sin
el , este no funcionaria.
El Diseño de Software, es un ciclo en el cual se analizan los requisitos
para producir una descripción de la estructura interna del software que sirva de
base para su construcción. Los diseñadores no obtienen inmediatamente un
diseño detallado, sino que lo desarrollan de manera iterativa a través de diversas
versiones. Un Diseño Software describe:
La arquitectura del software (cómo está descompuesto y organizado en
componentes),
La interface entre dichos componentes, y
Los componentes a un nivel de detalle que permita su construcción
Según Pressman, la actividad del diseño se refiere al establecimiento de
estructura de datos. Por otra parte de proceso del diseño de Software,
comprende dos etapas o pasos:
Diseño Arquitectónico: El diseño arquitectónico puede representarse al
usar uno o más de muchos modelos diferentes. Los modelos estructurales
representan la arquitectura como una colección organizada de componentes del
programa.
Diseño Detallado: El diseño detallado describe el comportamiento
específico de estos componentes.
Generalmente la fase de diseño deriva un diseño de datos, arquitectónico,
interfaz, y procedimental.
El diseño de datos: transforma el modelo de dominio de la
información, creado durante el análisis, en las estructuras de datos
necesarias para implementar el software. Datos bien diseñados
conducen a:
Mejor estructura del programa.
3. Modularidad efectivo.
Reducción de la complejidad procedimental
Diseño arquitectónico: define la relación entre los principales
elementos estructurales del programa.
Diseño de interfaz: describe cómo se comunica el software consigo
mismo, con los sistemas que operan con él y con los operadores que
lo emplean.
Diseño procedimental: transforma elementos estructurales de la
arquitectura del programa en una descripción procedimental de los
componentes de software.
Desde esta perspectiva es esencial destacar que; el diseño es un proceso
de resolución de problemas cuyo objetivo es encontrar y describir una forma,
para implementar los requisitos funcionales del sistema, respetando las
restricciones impuestas por los requisitos no funcionales. Ajustándose a los
principios generales de calidad.
El proceso de diseño es, por tanto, un proceso iterativo, mediante el cual
se va a realizar una traducción de los requisitos en una representación del
software. Las técnicas permitidas o los principios del diseño del software se
descomponen en:
Abstracción: es el proceso o el resultado de la generalización de la
reducción del contenido de la información de un concepto o un fenómeno
observable, por lo general, con el fin de conservar únicamente la información que
es relevante para un propósito en particular. Existen diversas clasificaciones de
este mecanismo entre las cuales se destacan:
Abstracción Procedimental: Se refiere a una secuencia de instrucciones
que tiene una función específica y limitada.
Abstracción de Datos: Es una colección nombrada de datos que describe
un objeto.
Abstracción de control: implica un mecanismo de control del programa sin
especificar detalles internos.
4. Dentro de este orden de ideas podemos mencionar los fundamentos de
diseño , el cual comprende la modularidad, debido a que es la que permite al
software, ser manejable para propósitos de implementación y mantenimiento,
permite a un programa ser manejable intelectualmente.
Se divide el software en componentes identificables y tratables por separado,
denominados módulos, que están integrados para satisfacer los requisitos del
programa.
Meyer define cinco criterios que permiten evaluar un método de diseño con
respecto a su capacidad de definir un sistema modular eficaz:
Capacidad de descomposición funcional: mecanismo sistemático de
descomposición del problema en sub-problemas.
Capacidad de empleo de componentes modulares: ensamblar
componentes de diseño existentes.
Capacidad de comprensión modular: entender un módulo como una
unidad por sí sola.
Continuidad modular: cambios en los módulos individuales, en vez de
cambios generalizados en el sistema.
Protección modular: los efectos se restringen dentro de ese módulo.
Por otra parte la estructura del programa se denomina jerarquía de control,
esta representa la organización (a menudo jerárquica) de componentes del
programa (módulos).
Dentro de esta perspectiva es importante destacar que: la jerarquía modular
se divide en partición estructural, es horizontal cuando, presenta tres particiones:
entrada, procesamiento y salida. Es más fácil de probar y de mantener, propaga
menos efectos secundarios, el software es más fácil de aplicar.
En cuanto a la partición vertical, el trabajo y control se distribuye
descendentemente en la arquitectura del programa. Todo esto conlleva un
diseño modular, el cual reduce la complejidad, facilita los cambios y hace más
fácil la implementación al fomentar el desarrollo en paralelo de diferentes partes
de un sistema.
5. Originado de esta manera la independencia funcional, esta se consigue
desarrollando módulos con una función única y una aversión excesiva de
interacción con otros módulos. Cada módulo se basa en una sub-función
específica de los requisitos, creando una sencilla interfaz cuando se vea desde
otras partes de la estructura del programa.
La independencia se mide usando dos criterios cualitativos: cohesión y
acoplamiento.
Acoplamiento: Es una medida de la interconexión entre los módulos de la
estructura de un programa. Depende de la complejidad de la interfaz entre
los módulos, el punto en el que se entra o se hace referencia al módulo y
qué datos pasan a través de la interfaz. Las conexiones sencillas entre los
módulos hacen que el software sea más fácil de entender, suelo
subclasificarse en:
Acoplamiento de datos: está subordinado al módulo y se accede a él por
medio de una lista convencional de argumentos a través de la cual se pasan los
datos.
Acoplamiento de marca: cuando en vez de argumentos simples se pasa
una porción de la estructura de datos se pasa por la interfaz del módulo.
Acoplamiento de control: se pasa un indicador de control (una variable que
controla las decisiones en el módulo subordinado).
Acoplamiento externo: cuando los módulos están atados a un entorno
externo al software.
Acoplamiento común: varios módulos hacen referencia a un área global de
datos.
Acoplamiento de contenido: un módulo hace uso de datos o de información
de control mantenidos dentro de los límites de otro módulo. Cuando se realiza
una ramificación hacia la mitad de otro módulo.
Cohesión Es una extensión natural del concepto de ocultamiento de la
información. Un módulo con cohesión realiza una sola tarea dentro de un
6. procedimiento de software, requiriendo poca interacción con los
procedimientos que se realizan en otras partes del programa. Un módulo
con cohesión debería hacer una sola cosa. Siempre debemos buscar la
cohesión más alta, aunque la parte media del espectro es a menudo
aceptable, suelen desglosarse como:
Coincidencialmente cohesivo: un módulo que realiza un conjunto de tareas
poco relacionadas las unas con las otras.
Cohesión lógica: realiza tareas relacionadas lógicamente (produce todas las
salidas).
Cohesión temporal: contienen tareas relacionadas por el hecho de que
todas deben hacerse en el mismo intervalo de tiempo.
Cohesión procedimental: cuando los elementos de procesamiento están
relacionados y deben ejecutarse en un orden específico.
Cohesión de comunicación: todos los elementos de procesamiento se
concentran en un área de la estructura de datos.
Adicional a ello, existe varios tipos de software entre los cuales se destacan:
Software de sistemas: Está formado por todos aquellos programas cuya
finalidad es servir al desarrollo o al funcionamiento de otros programas. Estos
programas son muy variados: editores, compiladores, sistemas operativos,
entornos gráficos, programas de telecomunicaciones, etc. pero se caracterizan
por estar muy próximos al hardware, por ser utilizados concurrentemente por
numerosos usuarios y por tratarse de programas de amplia difusión, no estando
diseñados normalmente a medida. Esto permite un mayor esfuerzo en su diseño
y optimización, pero también les obliga a ser muy fiables, cumpliendo
estrictamente las especificaciones para las que fueron creados. Un ejemplo de
este tipo de software son los sistemas operativos, como Windows y Unix.
Software de tiempo real: Está formado por todos aquellos programas que
miden, analizan y controlan los sucesos del mundo real a medida que ocurren,
debiendo reaccionar de forma correcta a los estímulos de entrada en un tiempo
máximo prefijado. Deben, por tanto, cumplir unos requisitos temporales muy
7. estrictos y, dado que los procesos que controlan pueden ser potencialmente
peligrosos, tienen que ser fiables y tolerantes a fallos. Por otro lado, no suelen
ser muy complejos y precisan de poca interacción con el usuario
Software de gestión: El procesamiento de información de gestión
constituye, casi desde los inicios de la informática la mayor de las áreas de
aplicación de los ordenadores. Estos programas utilizan grandes cantidades de
información almacenadas en bases de datos con objeto de facilitar las
transacciones comerciales o la toma de decisiones. Además de las tareas
convencionales de procesamiento de datos, en las que el tiempo de
procesamiento no es crítico y los errores pueden ser corregidos a posteriori,
incluyen programas interactivos que sirven de soporte a transacciones
comerciales.
Software científico y de ingeniería: El campo del software científico y de
ingeniería se ha visto ampliado últimamente con el desarrollo de los sistemas de
diseño, ingeniería y fabricación asistida por ordenador (CAD, CAE y CAM), los
simuladores gráficos y otras aplicaciones interactivas que lo acercan más al
software de tiempo real e incluso al software de sistemas.
Software de ordenadores personales : El uso de ordenadores personales
y de uso doméstico se ha generalizado a lo largo de la pasada década.
Aplicaciones típicas son los procesadores de textos, las hojas de cálculo, bases
de datos, aplicaciones gráficas, juegos, etc. Son productos de amplia difusión
orientados a usuarios no profesionales, por lo que entre sus requisitos se
encuentran la facilidad de uso y el bajo coste. Un ejemplo de este tipo de software
es el paquete de Office.
Software empotrado: Software empotrado es aquel que va instalado en
otros productos industriales, como por ejemplo la electrónica de consumo,
dotando a estos productos de un grado de inteligencia cada vez mayor.
Comparten características con el software de sistemas, el software de tiempo
real, el software de ingeniería y científico y el software de ordenadores
personales. Otro ejemplo de los productos que utilizan este tipo de software son
los teléfonos celulares.
8. Software de inteligencia artificial: El software basado en lenguajes
procedimentales es útil para realizar de forma rápida y fiable operaciones que
para el ser humano son tediosas e incluso inabordables. El software de
inteligencia artificial trata de dar respuesta a estas deficiencias, basándose en el
uso de lenguajes declarativos, sistemas expertos y redes neuronales.
Software de aplicación: entre estos se encuentran los programas de oficina ,
programas de edición y diseño gráfico, programas de gestión empresarial,
programas científicas y educativos .
Aunado a lo anterior, se dará a conocer los requerimientos de instalación , es
decir las características que debe tener el software instalado en una
computadora para poder soportar y ejecutar una aplicación:
Sistema operativo window 7 pro, 64 bit
Memoria ram-4GB, dos canales SDRAM a 1600MHz
Disco duro SATA de 1TB 7200 rpm (6gb/s
Tarjeta de video grafico integrados HD Intel
Lector de código de barra
Dentro de esta configuración, es importante considerar que las
características universales que constituyen los softwares son las siguientes:
El software es un elemento del sistema que es lógico. Por tanto, el software
tiene características considerablemente distintas al hardware:
El software se desarrolla, no se fabrica en un sentido clásico.
El software no se estropea.
La mayoria de software se construye a medida, en vez de ensamblar
componentes existentes.
Algunas características de calidad fundamentales en todo producto de
programación son: utilidad, claridad, confiabilidad, eficiencia y economía.
Utilidad Que satisfaga las necesidades del usuario
9. Confiabilidad: Capacidad de un programa para desempeñar una función
requerida bajo ciertas condiciones durante un tiempo específico.
Claridad. Los productos de software deben ser escritos con claridad y ser
fáciles de entender tanto internamente como externamente.
Económico. El producto debe ser costeable en su desarrollo, mantenimiento
y uso.
El software es ahora la clave del éxito de muchos de los sistemas basados
en computadora.
Paint y diseño
Paint es un programa para la creación y edición sencilla de imágenes a
partir de una serie de herramientas de fácil uso, siendo apropiado para trabajarlo
en la creación de diseño. Fue desarrollado en el año 1982 por la empresa
Microsoft, quien lo introdujo en el Sistema Operativo Windows desde su primera
versión.
En las últimas versiones, optimizaron algunas funciones y agregaron
utilidades sin modificar la interfaz y lógica de uso. Este programa emula en digital
una hoja en blanco y el uso de lápices, pinceles, formas predefinidas, borrador,
líneas, etc, para dibujar. Además, tiene herramientas para cambiar el tamaño de
las imágenes, girarlas, reflejarlas, invertir colores, recortar partes, duplicar los
recortes realizados sobre la imagen o copiar en otros programas, entre otras
posibilidades. Vamos a mostrar cómo usar este programa para dibujar y para
modificar características básicas a imágenes como fotógrafas, ilustraciones o
dibujos digitales hechos en el computador o escaneados
Ventajas y desventajas
Facilidad de uso.
Sencilla interfaz gráfica.
La aplicación viene con el sistema operativo Windows, por tanto no hay
que pensar en su instalación.
10. Se pueden realizar las siguientes opciones, gracias a sus herramientas:
Creación de dibujos.
Recorte de imágenes.
Agregar texto a imagen Corregir aspectos básicos de imágenes de forma
rápida.
Cambiar tamaño de las imágenes.
Agregar detalles a las imágenes.
Agregar o cambiar colores a los dibujos.
Guardar imágenes para insertarlas en otro programa.
Elegir el formato con el que se quiere guardar una imagen.
Guardar una copia de una imagen cambiando el formato.
Las desventajas, por su parte, no son muchas, pero vale la pena
mencionarlas para tenerlas presente al momento de elegir utilizar este programa:
Su facilidad radica en no ofrecer demasiadas herramientas, lo cual es una
desventaja en algunas situaciones.
No ofrece la posibilidad de editores de imagen profesional. Algunas de
sus limitaciones son: Los colores son sólidos. Esto quiere decir que no da
la opción de utilizar colores degradados, o generarle efectos.
La herramienta de agregar texto no es versátil.
Donde se ubica el puntero queda escrito, sin dar la opción de mover el
elemento si se requiere ubicarlo en otra parte o cambiarle alguna
característica.
Menos posibilidad y flexibilidad de corregir error al no trabajar por capas,
lo que implica que todo lo que se realiza queda encima de la imagen
(relacionada con limitación anterior).
Los componentes que contienen esta aplicación se basan en:
Barra de título: Muestra el nombre del archivo que se está trabajando,
seguido del nombre del programa. Al abrir el programa el nombre del archivo por
defecto es Dibujo. Se recomienda que al grabar se asigne un nombre diferente,
no solo porque es una correcta práctica al momento de guardar información para
recuperarla posteriormente más fácil.
11. Barra de menú: Se encuentra en esta barra todas las opciones que da el
programa, las cuales se encuentran divididas en seis grupos tales como: archivo,
edición, ver imágenes, colores, ayuda .
Área de trabajo: Espacio que tenemos para crear o editar imágenes. Al
ancho y alto del Área, que es lo que determina su tamaño, se le denomina
Atributos. Es muy importante tener en cuenta los atributos pues una imagen muy
grande no solo puede sobrepasar innecesariamente el tamaño requerido, sino
que esto implica a su vez que sea un archivo más pesado. Igualmente, si es muy
pequeña no se ve bien al quererla usar, por ejemplo, en un documento, una
presentación, etc.
Cuadro o paleta de colores: Muestra las posibilidades de colores con las
que se cuenta, pudiendo personalizarla
Herramientas: Zona donde se encuentran las diversas opciones para
trabajar con las imágenes
Cuadro de opciones: Se habilita en la parte inferior del cuadro de
herramientas al seleccionar algunas de ellas. Por tanto, se explica en relación
con la herramienta correspondiente.
Selección forma libre: útil para seleccionar una parte de la imagen con la
que se está trabajando, permitiendo generar una Área de contornos irregulares.
El Área seleccionada se puede copiar o cortar, y pegar (replicar cuantas veces
se quiera)
Selección: Permite realizar una selección cuadrada o rectangular de una
parte de la imagen con la que se está trabajando.
Borrador: Sirve para borrar partes de la imagen o la imagen completa. En
el cuadro de opciones que se habilita puede escoger el tamaño del
borrador.Puede usar la tecla + (suma) para agrandar y la tecla (menos) para
disminuir manualmente el tamaño del borrador.
Relleno con color
Seleccionar color
12. Zoom: Sirve para acercar la imagen y poder editarla de una forma más
precisa. Elija la herramienta zoom y en el cuadro de opciones puede escoger el
nivel de ampliación que desee.
Lápiz y picel: Sirve para dibujar de forma libre.
Aerógrafo: Permite pintar con efecto de spray. Seleccione y escoja el
tamaño estándar que desee.
Texto
Línea recta y curva: Permite dibujar líneas rectas eligiendo el punto de
inicio con clic sostenido y arrastrando el puntero hasta donde se quiera hacer la
línea, marcando hasta el punto final. En el cuadro de opciones puede escoger el
grosor de línea, e igualmente es posible que seleccione color.
Programas utilizados para grabar pantalla
El software puede aplicarse a numerosas situaciones del mundo real. En
primer lugar, a todos aquellos problemas para los que se haya establecido un
conjunto específico de acciones que lleven a su resolución es por esta razón que
se ha creado programas para grabar pantalla, con el fin de dar a conocer, todo
lo que hacemos en los dispositivos electrónicos como: computadoras, Tablet,
dispositivos móviles entre otros , a continuación se darán a conocer algunos de
las aplicaciones que se desarrollan en estos medios computacionales:
Los softwares que capturan la pantalla de la computadora, ya sea
Windows o Mac.
1. Camtasia: es uno del software más poderoso para grabar el contenido
de la pantalla de tu computadora, sirve para editar pequeños videos, que permite
hacer cortes y otros montajes en el contenido, permite importar videos en HD
de otras fuentes y agregar enlaces en los que se puede hacer clic para generar
un contenido más dinámico (más o menos como en una presentación de
PowerPoint).
2. Spring Free Cam: El programa hace la captura del contenido con
facilidad y no pesa mucho. Además, tiene una serie de opciones de edición muy
13. importantes como remover ruidos de fondo y partes del video o agregarle pistas
de audio (como música de fondo).Guarda los videos en formato HD ,o los exporta
directamente al YouTube.
3. Screenflow: Con Screenflow puedes grabar todos los canales de
media de tu computadora al mismo tiempo: toda el área del monitor, el contenido
de la webcam, audio del sistema de la computadora y del micrófono.También
viene con un software para armar el video, permitiendo cortes para remover
ciertos trechos o incluir pedazos de otras fuentes.el programa es exclusivo para
MAC
4. SmartPixel: es un software que fue desarrollado para grabar la pantalla
de la computadora mientras el usuario juega. Por ese motivo, usa un sistema de
compresión avanzado para lograr crear videos de alta calidad, mientras opera
de manera suave e imperceptible. El software es únicamente aplicado o para
Windows
5. CamStudio: Una de las opciones más famosas de aplicaciones para
grabar pantalla de la computadora es CamStudio., el software es sencillo de usar
y muy intuitivo (su sitio web dice que cualquiera puede aprender a usar sus
funciones en pocos minutos).Una de sus ventajas es la capacidad de crear
videos con gran calidad, pero con peso menor que el de otros software. Además,
es posible grabar también la webcam junto a la pantalla y agregarle subtítulos al
contenido sin dificultades.El programa está disponible para Windows.
6. Screen Capture Studio: El software captura la pantalla de la
computadora, pero también cuenta con un editor completo con muchas
funciones (como transiciones, filtros y chroma key) para perfeccionar el
contenido.
7. Free Screen Video Recorder: Desarrollado por DVD Videosoft (que
tiene una serie de aplicaciones para trabajar con videos, como conversores de
formatos, editores de audio e incluso un GIF maker), esa aplicación graba todo
el contenido de la pantalla de tu computadora Windows.
8.Bandicam: es un grabador de pantalla ligero para Windows capaz de
capturar cualquier cosa que aparezca en la pantalla de tu ordenador en forma de
vídeo de alta calidad. Además, permite grabar un área determinada de la pantalla
de un ordenador o capturar cualquier juego que utilice tecnologías gráficas
Además de grabar con tu computadora, es posible también capturar el
contenido de la pantalla de tu celular.
9. Record itl: Esta aplicación permite al usuario grabar el contenido de la
pantalla de su dispositivo móvil, ya sea un iPhone o un iPad. Además de grabar
la pantalla del smartphone, el software también captura las reacciones del
usuario por la cámara frontal del aparato y permite hacer ediciones para
14. agregarle pistas de audio (como comentarios o narraciones), cortar partes
indeseadas, insertar filtros de video o alterar su velocidad.
10. AZ Screen Recorder: Una de las principales opciones para grabar el
contenido de la pantalla de tu smarthphone o tablet Android es AZ Screen
Recorder.La aplicación tiene de todo: una interfaz fácil de usar (con botones que
están encima de la pantalla, pero no interfieren con el contenido grabado), un
pequeño editor para armar el contenido y hasta la posibilidad de grabar el
contenido de la cámara frontal del aparato, es muy liviano y no consume mucha
memoria RAM ni capacidad de almacenamiento de tu dispositivo móvil.
11. Go Record: Otra aplicación para capturar el contenido de la pantalla
del smartphone es Go Record. Este software es uno de los más populares en la
App Store y por una buena razón: es muy liviano y tiene una interfaz muy fácil
de usar. Con el recurso de Face Cam, también permite agregarle las reacciones
del usuario al contenido por la cámara frontal del aparato.
12. DU Recorder: DU Recorder es una aplicación gratuita para filmar la
pantalla del smartphone o tablet. El software se destaca por tener soporte en
cerca de 20 idiomas), además de una interfaz muy sencilla de usar, la aplicación
para Android graba en 1080p con 60 frames por segundo y es totalmente
gratuita.
13. Screen Recording Video Capture: Además de las funciones básicas
(como grabar la pantalla, insertar reacciones por la cámara frontal, agregarle
pistas de audio), Screen Recording Video Capture se destaca por el soporte
visual a los usuarios.
14. RecMe Free Screen Recording: RecMe Free Screen Recording es
una aplicación exclusiva para Android con todas las funciones que podemos
querer.Graba videos en resolución Full HD (1080p), con 60 frames por segundo
y captura audio por el micrófono del usuario.
La aplicación viene en versión gratuita con todas esas funciones y una
versión profesional, que tiene como ventaja poder insertar la reacción del usuario
capturada por la cámara frontal del celular.
La utilización de los softwares en ordenadores, como instrumentos de
ayuda a las diferentes actividades humanas, ha cobrado tal importancia, que hoy
resulta casi inconcebible de sustituir en un mundo tan competitivo sin su uso.