Está en la página 1de 29

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. Solicitud cotización del producto
2. Si se esta de acuerdo con cotizacion
3. Informar forma de pago
4. Pagar producto
5. Si no esta de acuerdo con la cotizacion
6. Solicitar una nueva
.
.
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 DE AHORROS CUENTA CORRIENTE

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 - Herencia y poliformismo


de programación. - clase

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.
.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
La mayoría de los 3GL y 4GL permiten que Visual Basic, C++, C# y J#. .NET
se trabaje en un entorno de desarrollo
integrado, o IDE (por sus siglas en inglés). · Entornos de autoría: Los entornos de autoría son
Los IDE proporcionan al programador herramientas de programación de propósitos
todas las herramientas necesarias para especiales para crear aplicaciones multimedia,
desarrollar aplicaciones en un programa. programas de capacitación por computadora, páginas
Incluyen compiladores y soporte de web y otras aplicaciones.
tiempo de ejecución para sus 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 Características Usos Ventajas
programación
Lenguaje de cuarta Es un producto de Microsoft en el campo de Lenguaje de programación bastante
la programación Combina varios lenguajes de complejo y potente permite trabajar
generacion .NET programación en un IDE. Los lenguajes diferentes lenguajes a la ves
incluidos son Visual Basic, C++, C# y J#. .NET

Por ser lenguajes de fácil manejo el desarrollo del software es sencillo lo que permite
su rápida elaboración asi, un soporte adecuado y sobre todo un bajo precio
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
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
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.
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 Características Tipo Ventajas
datos Licenciamiento

Oracle Lider del mercado, funciona


con todos los sistemas Software con Facil de aprender, alto
operativos, alto rendiemito,
facil manipulacion licencia rendimiento, de facil
implementacion
MYSQL Codigo abierto Software libre Bajo costo, de facil
mantenimiento

Por contar con los recursos necesarios la empresa puede adquirir una base de datos
mas robusta, que le permite implementar todas sus aplicaciones sin ninguna
restricción
UnaAl vez
no contar con licencia
diligencie y ser
la tabla un codigo abierto
publíquela es de bajo costo
en el e-portafolio y permiteen
disponible serel entorno
de implementado en empresas que no cuenta con los recursos suficiente
evaluación y seguimiento
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

También podría gustarte