Introducción a la Ingeniería de sistemas

Slides:



Advertisements
Presentaciones similares
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Advertisements

ANÁLISIS DE REQUERIMIENTOS
Introducción a LAS Bases de Datos
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
INSTITUTO TECNOLOGICO DE MINATITLAN
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Programación 1 Introducción
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
Software La buena programación no se aprende de generalidades, sino viendo cómo los programas significativos pueden hacerse claros, “fáciles” de leer,
ESCUELA POLITÉCNICA DEL EJÉRCITO
M.S.C. Ivette Hernández Dávila
Introducción al Software
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
HERRAMIENTAS CASE.
UNIDAD I Conceptos Básicos.
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
SEMANA Introducción.
TRADUCTOR DE UN PROGRAMA
Programas informáticos. Software Se denomina software al conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea.
Viviana Poblete López Módulo: Modelo de Datos
INTRODUCCIÓN A LA COMPUTACIÓN
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Ciclo de Vida del Software Paradigmas de Desarrollo
LENGUAJE DE PROGRAMACIÓN
Página 1 09/01/2005 Materia: Tecnología de la Información Curso: Profesora Ariana Rosenthal Tecnología de la Información Profesora Ariana Rosenthal Software.
PROGRAMACIÓN PROCEDIMENTAL
Escuela de ciencias básicas, tecnología e ingeniería Software Introducción a la Ingeniería de sistemas
TIPOS DE SOFTWARE Se denomina software a un programa, equipamiento lógico o soporte lógico necesario para hacer posible la realización de una tarea con.
Unidad VI Documentación
Introducción a la Ingeniería de sistemas
LOS SISTEMAS OPERATIVOS
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
FUNDAMENTOS DE PROGRAMACION
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
SOFTWARE.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Importancia en la efectividad del:
COMPUTO III Ing. Jimmy Ojeda Arnica.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Tecnología de la Información y Comunicación 1
Universidad Metropolitana Introducción a la Computación
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Métrica v2.1 Técnicas: Modelado de datos (Parte 1)
COMPUTO III Ing. Jimmy Ojeda Arnica. METODOLOGIA DEL CURSO Objetivos del curso : Comprender el entorno de los lenguajes visuales. Comprender el entorno.
Metodología de la programación
Docente: Lic. M. Alina Vargas García Horario: Lunes 20:05 – 21:25 Miércoles 20:05 – 21:25 Gestión: 2011.
Ingeniería de Requisitos
Lenguajes de Programación
Lenguaje programación
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
UNITEC NEGOCIOS ELECTRÓNICOS ”DESARROLLO DE SOFTWARE ”
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
BASE DE DATOS DISTRIBUIDAS
Estructurar tus ideas para hacerlas realidad
Omar de Jesús Rosales hernández
Proceso de desarrollo de Software
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Harware Software Yuneidy moreno 7-2 Tecnología i. E. devora Arango.
Las fases del ciclo de la vida de desarrollo de sistemas
Conalep 150 Tehuacán inmi 309 soma
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
Conociendo el modelo Cliente-Servidor
Aplicación web de tipo Ambiente Educativo Virtual, un sistema de gestión de cursos, de distribución libre, que ayuda a los educadores a crear comunidades.
Entregables del Proyecto
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

Introducción a la Ingeniería de sistemas 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 Inicio Solicita la tarjeta Solicita el tipo de cuenta 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 Solicita la tarjeta Solicita el tipo de cuenta Solicita el valor a retirar Solicita la clave Procesa transacción Si los fondos son suficientes Entrega dinero 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. Una vez diligencie la tabla publíquela en el e-portafolio disponible en el entorno de evaluación y seguimiento 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

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) 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. -Programación orientada en objetos. Programación: -Reutiliza objetos -Polimorfismo y herencia.

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.

Los lenguajes de alto nivel (lenguajes de tercera generación) 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. .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 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

Lenguaje de programación 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: 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 máquina · Lenguaje de bajo nivel (ensamblador) · Lenguaje de alto nivel Los lenguajes máquina p 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. 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. pproporcionan instrucciones específicas para un determinado tipo de hardware y son directamente intangibles por la máquina el lenguaje ensamblador le permite al programador indicarle al computador exactamente cómo llevar a cabo una tarea específica usando la menor cantidad de instrucciones. Aún cuando el código generado por los compiladores con opción de optimización es eficiente , la optimización manual puede resultar en una mejora sustancial en términos de rendimiento y consumo de memoria. El lenguaje ensamblador es usualmente utilizado en las siguientes circunstancias: Mejorar la eficiencia de una rutina específica que se ha tra nsformado en un cuello de botella . Obtener acceso a funciones de bajo nivel del procesador para realizar tareas que no son soportadas por los lenguajes de alto nivel Escribir manejadores de dispositivos para comunicarse directamente con hardware especial tales como tarjetas de red Trabajar en ambientes con recursos limitados puede requerir el uso del lenguaje ensamblador pues el código ejecutable puede ser menor que el generado por el compilador Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran básicamente en aplicaciones de tiempo real, control de procesos y de dispositivos electrónicos na en desuso No tiene muchas ventajas Se hacen tareas mas fáciles Mejora el rendimiento y consumo de la memoria Son los mas agiles y modernos que permiten acceder fácilmente a muchos programas sin mucha dificultad. Lenguaje(s) de programación sugeridos para el estudio de caso (justificación):· Java: Es un entorno de programación orientado a objetos para crear programas que funcionen en distintas plataformas.

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   Asociación Clases de relaciones En la máxima se encuentran las siguientes relaciones: Relación uno a uno (1:1) 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 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 Objeto-Relacional 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. Licencias perpetuas y licencias a plazo. Almacenar datos de los que puede acceder rápida, fácil y segura. Ofrece herramientas de gestión. Relacional Los datos y las relaciones entre los datos se representan por medio de una serie de tablas. Licencia GNU GPL(La licencia publica general de GNU) ,para empresas que quieren incorporarlo en productos privativos deben comprar a la empresa una licencia especifica que les permita este uso. Datos coherentes. Procedimientos almacenados motor de almacenamiento. Bajo precio. Justifique su respuesta Motor de base de datos sugerido para el cliente 1 Motor de base de datos sugerido para el cliente 2

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