Download bases de datos

Document related concepts

Dylan (lenguaje de programación) wikipedia , lookup

Common Lisp wikipedia , lookup

Programación funcional wikipedia , lookup

Transcript
Escuela de ciencias básicas,
tecnología e ingeniería
Software
Introducción a la Ingeniería de sistemas
90013
SOFTWARE
•
•
•
•
•
Programas
Paradigmas de programación
Lenguajes de programación
Bases de datos
Ingeniería del software
SOFTWARE
Dos fases pueden ser identificadas en el
proceso de creación de un programa:
1 Fase de resolución del problema
2 Fase de Implementación
SOFTWARE
SOFTWARE
En la actualidad cotidianamente se utilizan sistemas de información que, se basan en
algoritmos, entendidos como una serie de pasos orientados a un objetivo. Revisemos, los
pasos para realizar un retiro son:
Inicio
1. Solicita la tarjeta
2. Solicita el tipo de cuenta
3. Solicita el valor a retirar
4. Solicita la clave
5. Procesa transacción
6. Si los fondos son suficientes
7.
Entrega dinero
8.
Entrega saldo
9. De lo contrario
10. Presenta mensaje transacción inválida
Fin
Actividad 1:
Servitransfer, una empresa de giros, acaba de aprobar la compra e
implementación del software para la gestión de remesas. Describa a continuación
los pasos que debe seguir Siste+, asumiendo que el software ya está elaborado.
Involucre el proceso de compra (contrato) y pago.
Inicio
1. recibo Solicitud de demanda del producto
2. exposición características contenido del software
3. Envío de cotizaciones
4. Celebración del contrato
5. Recepción de Pago del producto
6. Expedición factura de venta
7. Envío y entrega del producto
8. Instalación del software
9. Prueba y funcionamiento de los programas
Fin
Una vez diligencie la tabla publíquela en el e-portafolio disponible en el entorno
de evaluación y seguimiento
PARADIGMAS DE PROGRAMACIÓN
PROGRAMACIÓN ESTRUCTURADA
Orientado a mejorar la
claridad, calidad y tiempo de
desarrollo de un programa de
computadora,
utilizando
únicamente subrutinas y tres
estructuras:
secuencia,
selección e iteración
Esta programación utiliza:
•Diseño descendente
•Recursos abstractos
•Estructuras básicas
PROGRAMACION MODULAR
La programación modular consiste
en resolver de forma independiente
los subproblemas resultantes de una
descomposición.
PROG. ORIENTADA
A OBJETOS
POO - HERENCIA Y
POLIMORFISMO
POO - CLASE
La definición de una clase es la declaración de un tipo de dato que involucra la
especificación de los atributos y los métodos de un objeto.
COMO SE USAN LOS OBJETOS
Los objetos sólo pueden utilizarse enviándoles mensajes para que reaccionen
con alguna acción que repercuta en el estado de un programa. Puesto que los
datos que contiene un objeto sólo pueden utilizarse a través de los métodos
del mismo, los mensajes en sí son los nombres de los métodos asociados.
POO - CLASE
Clase: CUENTA
CUENTA CORRIENTE
CUENTA DE AHORROS
ATRIBUTOS
Nombre de Cliente
Numero de Cuenta
Sucursal
Saldo Disponible
Métodos
Alta
Deposito
Retiro
Muestra
Actividad 2:
Scratch es un software desarrollado por el Instituto tecnológico de Masacchussets
para facilitar el proceso de aprendizaje de fundamentos de programación. Los
programas que se pueden hacer con scratch corresponden a programación
orientada a objetos. En la siguiente tabla enuncie las características propias de
éste tipo de programación que se encuentran al explorar el entorno de scratch
(www.scratch.mit.edu)
Item
Descripción
Características propias del tipo
de programación.
-Programación orientada en
objetos.
Programación:
-Reutiliza objetos
-Polimorfismo y herencia.
Una vez diligencie la tabla publíquela en el e-portafolio disponible en el entorno
de evaluación y seguimiento
LENGUAJES DE
PROGRAMACION
· Lenguaje máquina
· Lenguaje de bajo nivel (ensamblador)
· Lenguaje de alto nivel
Los lenguajes máquina proporcionan instrucciones
específicas para un determinado tipo de hardware y son
directamente intangibles por la máquina
El lenguaje ensamblador se caracteriza porque sus
instrucciones son mucho más sencillas de recordar,
aunque dependen del tipo de computadora y necesitan
ser traducidas a lenguaje máquina por un programa al
que también se le denomina ensamblador.
LENGUAJES DE
PROGRAMACION
Los lenguajes de alto nivel
(lenguajes de tercera generación)
Existen muchos lenguajes de alto nivel. Algunos de los más
populares en la actualidad son los siguientes:
· C: A veces se considera como el “pura sangre” de los
lenguajes de programación, c produce programas en código
ejecutable rápido y eficiente.
· C++: Es la implementación orientada a objetos de C. Al igual
que C, C++ es un lenguaje extremadamente poderoso y
eficiente.
· Java: Es un entorno de programación orientado a objetos
para crear programas que funcionen en distintas
plataformas.
· ActiveX: Este código crea funciones auto contenidas que
pueden ser accedidas y ejecutadas por cualquier otro
programa compatible con ActiveX en cualquier sistema o red
ActiveX.
LENGUAJES DE
PROGRAMACION
Lenguajes de cuarta generación:
Los lenguajes de cuarta generación (4GL,
por sus siglas en inglés). Generalmente, un
4GL utiliza un entorno de texto, muy
parecido al de 3GL o un entorno visual.
La mayoría de los 3GL y 4GL permiten que
se trabaje en un entorno de desarrollo
integrado, o IDE (por sus siglas en inglés).
Los IDE proporcionan al programador
todas las herramientas necesarias para
desarrollar aplicaciones en un programa.
Incluyen compiladores y soporte de
tiempo de ejecución para sus aplicaciones.
.NET: Es un producto de Microsoft en el campo de la
programación Combina varios lenguajes de
programación en un IDE. Los lenguajes incluidos son
Visual Basic, C++, C# y J#. .NET
· Entornos de autoría: Los entornos de autoría son
herramientas de programación de propósitos
especiales para crear aplicaciones multimedia,
programas de capacitación por computadora, páginas
web y otras aplicaciones.
· Sun Studio One: es un editor visual para los applets
Java y Swing. Un applet es un programa que se ejecuta
dentro de una página web.
LENGUAJES DE
PROGRAMACION
Lenguajes de quinta generación:
Los lenguajes de quinta generación (5GL, por sus siglas en inglés) Son en realidad un
poco misteriosos. En principio un 5GL podría utilizar inteligencia artificial para crear
software basándose en la descripción de lo que el software debe realizar.
· Lenguajes de desarrollo de la world Wide Web:
Las herramientas de desarrollo que se relacionan con la web han evolucionado en
poder y capacidades. Por tanto es imposible hablar en un contexto contemporáneo
sobre programación y desarrollo sin tomar en cuenta las herramientas que hacen que
sea posible el desarrollo de la web.
· Lenguaje de marcación de hipertexto HTML
. Lenguaje de marcación extensible XML
· HTML extensible
· Lenguaje de hojas de estilo extensible (XSL)
· Lenguaje de marcación extensible de perfil móvil (XHTML MP)
· Dreamweaver
· Flash
LENGUAJES DE
PROGRAMACION
TRADUCCIÓN DEL LENGUAJE
Actividad 3:
Siste+ cuenta con personal de soporte que se encarga de atender a los clientes
desde las instalaciones de Siste+ a través de un call center y en las propias
instalaciones de los clientes. Siste+ requiere un software para que sus
funcionarios, reporten su actividades diarias a fin de controlar en tiempo real el
avance de sus proyectos o contratos. Colabórele a Siste+ haciendo un análisis de
los diferentes lenguajes de programación y seleccione los que sugeriría para el
caso planteado:
Lenguaje de
programación
Lenguaje máquina
Características
Los lenguajes
máquina p
Usos
pproporcionan
instrucciones
específicas para un
determinado tipo
de hardware y son
directamente
intangibles por la
máquina
Ventajas
No tiene muchas
ventajas
Una vez diligencie la tabla publíquela en el e-portafolio disponible en el entorno
de evaluación y seguimiento
BASES DE DATOS
Una base de datos contiene un conjunto de elementos
o hechos relacionados acomodados en una estructura
especifica. Es una colección de datos persistentes que
pueden compartirse e interrelacionarse.
CARACTERTISTICAS DE LAS BASES DE DATOS
· Persistentes: Significa que los datos residen en un
almacenamiento estable, tal como un disco magnético.
· Compartir: Significa que una base de datos puede
tener múltiples usos y usuarios.
· Interrelación: Significa que los datos almacenados
como unidades separadas se pueden conectar para
mostrar un cuadro completo
BASES DE DATOS
Sistemas de administración de bases de datos
es un conjunto de componentes que soportan la creación, el uso
y el mantenimiento de las bases de datos. Inicialmente, los
DBMS proporcionan un eficiente almacenamiento y
recuperación de datos.
Oracle: el sistema de base de datos Oracle se ha convertido en el
DBMS a nivel empresarial más popular en el mundo, dominando 40%
de este mercado.
· DB2: DB2 de IBM tiene versiones que se ejecutan en Windows,
Linux y distintas versiones de los sistemas operativos UNIX, además
tiene el segundo lugar en popularidad con 34% de DBMS instalado.
· SQL Server: SQL Server de Microsoft es el DBMS ,cuenta con 11%
del mercado de administración de bases de datos a nivel
empresarial.
· MYSQL: MySQL es el DBMS empresarial más popular entre la
comunidad de (código abierto).. Además, una razón importante por
la que muchas empresas utilizan MySQL Server es el costo.
BASES DE DATOS
El modelo de datos
Es una herramienta que se compone, por una parte, de un
formalismo que describa los datos y, por otra, de un conjunto
de operaciones que permitan manipularlos. Además, se puede
adicionar un tercer componente y es el referente al conjunto de
reglas que mantienen la integridad de los datos, es decir, que
permiten verificar cuales datos son válidos dentro de un sistema
y cuáles deben ser rechazados.
Modelos lógicos basados en objetos
Los modelos lógicos basados en objetos se utilizan para
describir los datos en los niveles conceptual y de visión. Se
caracterizan por el hecho de que permiten una estructuración
bastante flexible y hacen posible especificar claramente las
limitaciones de los datos. Algunos de los más conocidos son:
· El modelo entidad – relación
· El modelo binario
· El modelo semántico de datos
· El modelo infológico
BASES DE DATOS
Entidad
Asociación
Clases de relaciones
En la máxima se encuentran las siguientes
relaciones:
a. Relación uno a uno (1:1)
b. b. Relación uno a muchos (1:N )
c. Relación muchos a muchos (M:N
SOFTWARE
Bases de datos
Modelos lógicos basados en
registros
Los modelos lógicos basados en
registros se utilizan para describir los
datos en los niveles conceptual y de
visión. estos modelos sirven para
especificar tanto la estructura lógica
general de la base de datos como
una descripción en un nivel más alto
de una implantación. Se encuentran
tres modelos de datos que han
tenido la más amplia aceptación:
· Modelo relacional: Los datos y las
relaciones entre los datos se
representan por medio de una serie
de tablas.
· Modelo de red: Los datos en el
modelo de red se representan por
medio de conjuntos de registros y las
relaciones entre los datos se
representan con ligas
· Modelo Jerárquico: El modelo
jerárquico es similar al modelo de
red en cuanto a los datos y las
relaciones entre los datos se
representan por medio de registros y
ligas, respectivamente.
Actividad 4:
Siste+ tiene dos nuevos clientes para la implementación de su software de
nómina. Ambos quieren buenas herramientas pero el primero ha manifestado
que está dispuesto a cubrir los costos a que haya lugar, por su parte el segundo
cliente solicita buscar las alternativas más económicas por bajo presupuesto.
Analice las alternativas disponibles como Sistema Gestor de Base de Datos SGBD, y
su recomendación para cada caso
Motor de bases de
datos
Objeto-Relacional
Características
Tipo
Licenciamiento
Ventajas
Los modelos
Licencias perpetuas Almacenar datos de
lógicos
y licencias a plazo.
los que puede acceder
basados en
rápida, fácil y segura.
objetos se
Ofrece herramientas
utilizan para
de gestión.
describir los
datos en los
niveles
conceptual y
de visión.
Se
Una vez diligencie la tabla
publíquela
en el e-portafolio disponible en el entorno
caracterizan
de evaluación y seguimiento
por el hecho
de que
INGENIERÍA DEL SOFTWARE
Revisemos qué plantea el texto de Roger Pressman, Ingeniería de Software. Un enfoque práctico, al respecto:
“La Ingeniería del software es una disciplina o área de la informática o ciencias de la computación, que ofrece
métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo.
Cuando se desarrolla una
aplicación
(sistema
de
información) para un cliente
que tiene unas necesidades
específicas, que necesita el
producto en un momento
concreto y que va a pagar por
su
desarrollo,
resultan
esenciales el coste, el plazo de
realización, y el cumplimiento
de
los
requisitos.
Este
desarrollo es más difícil que el
de un programa individual,
básicamente por los siguientes
motivos:
Ø Volumen.
Ø Evolución
Ø Complejidad.
Ø Coordinación.
Ø Comunicación.
INGENIERÍA DEL SOFTWARE
El desarrollo de cualquier sistema de información
implica la realización de tres pasos genéricos:
definición, construcción y mantenimiento.
Ø Fase de definición.
Ø Fase de construcción..
Ø Fase de mantenimiento.
Clasificación
La ingeniería del software se ocupa de la
planificación y estimación de proyectos, análisis de
requisitos, diseño de software, codificación, prueba
y mantenimiento.
Ciclo de vida de un sistema de información
Orden FASES DILIGENCIAS O TAREAS
1. Planeación del sistema
2. Análisis del sistema
3. Diseño del sistema
4. Mantenimiento y control del sistema
5. Retiro u obsolescencia
GRACIAS POR SU ATENCION