30
Escuela de ciencias básicas, tecnología e ingeniería Software Introducción a la Ingeniería de sistemas 90013

Escuela de ciencias básicas, tecnología e ingeniería

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Escuela de ciencias básicas, tecnología e ingeniería

Escuela de ciencias básicas, tecnología e ingeniería

Software

Introducción a la Ingeniería de sistemas90013

Page 2: Escuela de ciencias básicas, tecnología e ingeniería

SOFTWARE• Programas• Paradigmas de programación• Lenguajes de programación• Bases de datos• Ingeniería del software

Page 3: Escuela de ciencias básicas, tecnología e ingeniería

SOFTWAREDos 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

Page 4: Escuela de ciencias básicas, tecnología e ingeniería

SOFTWARE

Page 5: Escuela de ciencias básicas, tecnología e ingeniería

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:

Inicio1. Solicita la tarjeta2. Solicita el tipo de cuenta3. Solicita el valor a retirar4. Solicita la clave5. Procesa transacción6. Si los fondos son suficientes7. Entrega dinero8. Entrega saldo9. De lo contrario10. Presenta mensaje transacción inválidaFin

Page 6: Escuela de ciencias básicas, tecnología e ingeniería

Actividad 1:

De acuerdo al ejemplo anterior, ahora identifique los pasos para liquidar el pago de una mensajero en el caso de estudio, teniendo en cuenta los siguientes criterios:

Por cada sobre entregado se pagan $200, por cada inconsistencia se descuentan $300.

Una vez diligencie la tabla publíquela en el e-portafolio disponible en el entorno de evaluación y seguimiento

1. 2. 3.4.5.6....

Page 7: Escuela de ciencias básicas, tecnología e ingeniería

PARADIGMAS DE PROGRAMACIÓN

Page 8: Escuela de ciencias básicas, tecnología e ingeniería

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

Page 9: Escuela de ciencias básicas, tecnología e ingeniería

PROGRAMACION MODULARLa programación modular consiste en resolver de forma independiente los subproblemas resultantes de una descomposición.

Page 10: Escuela de ciencias básicas, tecnología e ingeniería

PROG. ORIENTADA A OBJETOS

Page 11: Escuela de ciencias básicas, tecnología e ingeniería

POO - HERENCIA YPOLIMORFISMO

Page 12: Escuela de ciencias básicas, tecnología e ingeniería

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

Page 13: Escuela de ciencias básicas, tecnología e ingeniería

Clase: CUENTA

CUENTA CORRIENTECUENTA DE AHORROS

ATRIBUTOS

Nombre de ClienteNumero de Cuenta

SucursalSaldo Disponible

Métodos

AltaDeposito

RetiroMuestra

POO - CLASE

Page 14: Escuela de ciencias básicas, tecnología e ingeniería

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)

Una vez diligencie la tabla publíquela en el e-portafolio disponible en el entorno de evaluación y seguimiento

Item Descripción

Características propias del tipo de programación.

Page 15: Escuela de ciencias básicas, tecnología e ingeniería

· 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

Page 16: Escuela de ciencias básicas, tecnología e ingeniería

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

Page 17: Escuela de ciencias básicas, tecnología e ingeniería

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.

.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.

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.

LENGUAJES DE PROGRAMACION

Page 18: Escuela de ciencias básicas, tecnología e ingeniería

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

Page 19: Escuela de ciencias básicas, tecnología e ingeniería

TRADUCCIÓN DEL LENGUAJE

LENGUAJES DE PROGRAMACION

Page 20: Escuela de ciencias básicas, tecnología e ingeniería

Actividad 3:

Rayo Ltda, la empresa abordada en el caso de estudio, requiere una aplicación para dispositivos móviles, que le permita asignar los sobres a los mensajeros y al finalizar el día se descargue la información de las entregas. Diligencie la siguiente tabla y concluya sobre qué lenguaje o lenguajes de programación sugeriría:

Una vez diligencie la tabla publíquela en el e-portafolio disponible en el entorno de evaluación y seguimiento

Lenguaje de programación

Características Usos Ventajas

Lenguaje(s) de programación sugeridos para el estudio de caso

Page 21: Escuela de ciencias básicas, tecnología e ingeniería

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

Page 22: Escuela de ciencias básicas, tecnología e ingeniería

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

Page 23: Escuela de ciencias básicas, tecnología e ingeniería

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

Page 24: Escuela de ciencias básicas, tecnología e ingeniería

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

BASES DE DATOS

Page 25: Escuela de ciencias básicas, tecnología e ingeniería

Actividad 3:

Rayo Ltda, la empresa abordada en el caso de estudio, requiere una aplicación para dispositivos móviles, que le permita asignar los sobres a los mensajeros y al finalizar el día se descargue la información de las entregas. Diligencie la siguiente tabla y concluya sobre qué lenguaje o lenguajes de programación sugeriría:

Una vez diligencie la tabla publíquela en el e-portafolio disponible en el entorno de evaluación y seguimiento

Lenguaje de programación

Características Usos Ventajas

Lenguaje(s) de programación sugeridos para el estudio de caso

Page 26: Escuela de ciencias básicas, tecnología e ingeniería

SOFTWARE

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.

Bases de datos

Page 27: Escuela de ciencias básicas, tecnología e ingeniería

Actividad 4:

Rayo Ltda, desea implementar un sistema de información que funcione vía web pero sin incurrir en gastos de licenciamiento, para lo cual necesita que usted, le asesore en la toma de decisión. Clasifique los motores de base de dato disponibles y recomiende a Rayo Ltda, que opción tomar.

Una vez diligencie la tabla publíquela en el e-portafolio disponible en el entorno de evaluación y seguimiento

Motor de bases de datos

Características Tipo Licenciamiento

Ventajas

Motor de base de datos sugerido para el estudio de caso .Justifique su respuesta

Page 28: Escuela de ciencias básicas, tecnología e ingeniería

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

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.

Page 29: Escuela de ciencias básicas, tecnología e ingeniería

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 TAREAS1. Planeación del sistema 2. Análisis del sistema 3. Diseño del sistema 4. Mantenimiento y control del sistema5. Retiro u obsolescencia

INGENIERÍA DEL SOFTWARE

Page 30: Escuela de ciencias básicas, tecnología e ingeniería

GRACIAS POR SU ATENCION