You are on page 1of 28

SOFTWARE

Integrantes Grupo: Carmen Alicia Gonzlez Marisol Muoz Muoz Cristian Romero

Tutor: Ing. Norbey Romero

Universidad Nacional Abierta y a Distancia- UNAD Escuela de ciencias Bsicas Tecnologa e Ingeniera Curso: Introduccin a la Ingeniera de sistemas

Marzo 20 de 2012

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

TABLA DE CONTENIDOS Pg. INTRODUCCION OBJETIVOS 1 PROGRAMAS 1.1 Definicin Programa 1.2 Estructura de un Programa 2 Paradigmas de la Programacin 2.1 Programacin Modular 2.2 Programacin orientada a objetos 3 lenguajes de Programacin 3.1 Que es lenguaje de programacin 3.2 Utilidad de los lenguajes de programacin 3.3 Tipos de los Lenguajes de programacin 3.4 Generaciones (Evolucin de los Lenguajes de programacin) 3.5 Lenguajes de Desarrollo de la World Wide Web 3.6 Lenguaje de Secuencia de Comandos 4 BASES DE DATOS 4.1 Caracteristicas de las Bases de Datos 2.4 Modelo de Datos 4.2.1 Modelos Lgicos Basados en objetos 4.2.2 Modelos logicos basados en Registros 4.2.3 Modelos Fisicos de los datos 5 INGENIERIA DEL SOFTWARE 5.1 Objetivos de los Proyectos de Sistemas 5.2 Ciclo de vida de un sistema de informacin 6 CONCLUSIONES 7 BIBLIOGRAFIA 3 4 5 5 7 7 8 8 9 9 10 10 11 12 12 15 15 16 17 18 18 19 21 25 27 28

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

INTRODUCCIN

El capitulo del software nos da la oportunidad de adquirir conocimientos acerca los programas, dndonos la definicin, su utilidad y de qu manera podemos aplicarlos en la vida real para la solucin de problemas informticos en la organizaciones. Se hace referencia a los paradigmas de programacin que son los modelos en los cuales nos podemos basar a la hora de desarrollar un programa, entre ellos la programacin estructurada, la programacin orientada a objetos, la programacin modular, etc. El desarrollo de los programas implica el uso de lenguajes de programacin que sirven para comunicar a la maquina (computador) con las instrucciones que brinda el hombre para el desarrollo e implementacin del software, en la actualidad existen varios lenguajes que permiten lograrlo y a la medida que pasa el tiempo se han sofisticado de tal manera que permite al hombre facilitar el uso de estos lenguajes, segn sus caractersticas se clasifican en generaciones desde la primera hasta la quinta actualmente. Las Bases de datos tambin son mencionadas en el capitulo porque es la parte donde el software usa una serie de datos relacionados, acomodados en una estructura especifica que facilitan operaciones entre ellos tales como creacin, consulta, eliminacin de registros entre otros, finalmente todo lo anterior lo recopilamos en la ingeniera del software siendo esta la ciencia encargada de estudiar los problemas relacionados con la creacin del software y la solucin, teniendo un enfoque sistemtico y cuantificable al desarrollo, operacin y mantenimiento del mismo debido a que el software despus de ser creado requiere un mantenimiento de acuerdo a su vida til o a las nuevas necesidades del cliente.

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

OBJETIVOS

GENERAL Introducir al alumno en los conceptos de programas, prestando atencin a los paradigmas de programacin, los diferentes lenguajes de programacin, sus avances y tipos de bases de datos, tambin se muestra la necesidad de establecer un mtodo disciplinado de desarrollo de software, que se dirija a solucionar los problemas en la produccin del mismo.

ESPECIFICOS Definir el significado de los programas y sus usos en las organizaciones, teniendo en cuenta sus paradigmas para el desarrollo. Conocer los lenguajes de programacin y evolucin al paso del tiempo e incremento de las necesidades tecnolgicas. Mostrar las ventajas que ofrece las Bases de Datos para la administracin de la informacin de altos volmenes en las empresas. Conocer los conceptos fundamentales de los sistemas de informacin y los procesos del ciclo de vida del software

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

1. PROGRAMAS

CLASIFICACION DE SOFTWARE Software de Sistema: Consiste en programas informticos que sirven para controlar e interactuar con el sistema operativo, dndole control sobre el hardware y dando soporte a otros programas. Software de Aplicacin: Es aquel que le permite a los usuarios desarrollar varias tareas especficas como lo son aplicaciones ofimticas. Videojuegos. Software de Programacin: Es el conjunto de herramientas que permiten al programador desarrollar programas informticos, usando diferentes alternativas y lenguajes de programacin por ejemplo: Editores de texto, compiladores.

1.1

DEFINICION PROGRAMA:

(Programa en informtica) Un programa informtico es un conjunto de instrucciones que una vez ejecutadas realizarn una o varias tareas en una computadora. La gran mayora de las empresas utilizan la gestin en sistemas de informacin, es as como procesos de facturacin, crditos, contabilidad, presupuestos, inventario y nminas, entre otros, se administran con el apoyo de programas o software elaborado para un fin especfico Algunos conceptos estn relacionados con el desarrollo de software con un plan de estudio para complementar cursos con el fin de profundizar un rea como lo son algoritmos, introduccin a la programacin, estructuras de datos y programacin orientada a objetos. UN PROBLEMA SE PUEDE DESCRIBIR COMO: Una cuestin que se trata de aclarar. Proposicin o dificultad de solucin dudosa. Conjunto de hechos o circunstancias que dificultan la consecucin de algn fin. Planteamiento de una situacin cuya respuesta desconocida debe obtenerse a travs de mtodos cientficos o sistemticos. No puede tener sino una solucin, o ms de una en nmero fijo. Puede tener indefinido nmero de soluciones.
5

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

Los ingenieros de sistemas son los encargados de crear software o programas para darles solucin a dichos problemas. Pasos para solucionar el problema de cualquier entidad: a) b) c) d) Definir el problema Disear el algoritmo Transformar el algoritmo a un programa Ejecutar y validar el programa para el proceso de creacin de un

Tambin se puede identificar dos fases programa:

a) Fase de resolucin del problema b) Fase de implementacin (realizacin) en un lenguaje de programacin. Para tener la fase de resolucin del problema debemos tener un anlisis del problema y diseo de algoritmo. Anlisis del problema: se puede decir que el anlisis es poder examinar el tipo de problema que se presenta con el fin de obtener una idea clara sobre lo que se solicita. Diseo del algoritmo: debemos de tener en cuenta 3 partes que son: Entrada, Proceso y Salida. Verificacin de algoritmos: Es comprobar que el algoritmo realice las tareas pedidas y produzca el resultado esperado. Fase de implementacin: una vez diseado el algoritmo deber ser verificado por la fase de codificacin, es decir la traduccin del algoritmo a un determinado lenguaje de programacin que es complementada con la ejecucin.

PROGRAMA DE CMPUTO Un programa de cmputo es un conjunto de instrucciones o cdigos que permiten habilitar a la computadora para que realice un trabajo determinado. Estas se pueden dividir en tres principales categoras: Sistemas Operativos, Herramientas y Aplicaciones.

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

1.2

ESTRUCTURA DE UN PROGRAMA

La herramienta ms usada para representar algoritmos es el pseudocdigo ya que con esta herramienta logramos tener una estructura muy clara y similar a un programa. Las secciones que se divide un programa habitualmente son: Cabecera El cuerpo del programa o Bloque de declaraciones o Bloque de instrucciones La cabecera contiene el nombre del programa El bloque de declaraciones se define como las constantes con nombre es decir los datos definidos por el usuario. El bloque de instrucciones son las acciones a ejecutar para la obtencin de los resultados; Las instrucciones o acciones bsicas en este bloque se pueden clasificar como: De inicio/fin: La primera instruccin de este bloque ser siempre la de inicio y la ltima la de fin De asignacin: Esta instruccin se utiliza para dar valor a una variable en el interior de un problema, De lectura: Toma uno o varios valores desde un dispositivo de entrada y los almacena en memoria en las variables que aparecen listadas en la propia instruccin De escritura: Enva datos a un dispositivo de salida De bifurcacin: Estas instrucciones no realizan trabajo efectivo alguno, pero permiten controlar el que se ejecuten o no otras instrucciones, as como alterar el orden en que las acciones son ejecutadas 2. PARADIGMAS DE LA PROGRAMACIN Paradigma: significa Ejemplo, modelo o patrn sostenido en una disciplina. PROGRAMACION ESTRUCTURADA Es una teora de programacin que consiste en construir programas de fcil comprensin; tambin es til cuando se necesitan hacer correcciones o modificaciones despus de haber concluido un programa o una aplicacin. La representacin grafica de la programacin estructurada es realizada a travs de diagramas de flujo el cual se representan el programa con sus entradas, procesos y salidas.
7

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

Diseo descendente: El diseo descendente es una forma de afrontar un proyecto de programacin que consiste en empezar por lo ms general e ir avanzando nivel a nivel hacia lo ms particular. Recursos abstractos: Sirve para disgregar un programa en trminos de recursos abstractos debemos descomponer acciones complejas en acciones ms simples, las que son capaces de ejecutar o constituyen instrucciones de computadora disponible. Estructuras bsicas: Un programa propio puede ser escrito utilizando slo tres tipos de estructuras de control: Secuenciales Selectivas Repetitivas 2.1 PROGRAMACION MODULAR

La programacin modular es un paradigma de programacin que consiste en dividir un programa en mdulos o subprogramas con el fin de hacerlo ms legible y manejable. Se presenta histricamente como una evolucin de la programacin estructurada para solucionar problemas de programacin ms grandes y complejos de lo que sta puede resolver. 2.2 PROGRAMACION ORIENTADA A OBJETOS

El termino (POO) se popularizo en la dcada de 1990 donde La programacin Orientada a objetos (POO) es una forma especial de programar, ms cercana a como expresaramos las cosas en la vida real que otros tipos de programacin. Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en trminos de objetos, propiedades, mtodos y otras cosas que veremos rpidamente para aclarar conceptos y dar una pequea base que permita soltarnos un poco con este tipo de programacin. La programacin orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la mquina. Esto es posible gracias a la forma racional con la que se manejan las abstracciones que representan las entidades del dominio del problema, y a propiedades como la jerarqua o el encapsulamiento. OBJETO: Es una entidad de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (mtodos) los mismos que consecuentemente reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa).

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

HERENCIA: La herencia es la contribucin ms importante de la POO, pues mediante este mecanismo es posible lograr la principal meta de la POO que es la reutilizacin de cdigo. La herencia define relaciones entre clases, donde una clase comparte la estructura o comportamiento definidos en una o ms clases. POLIMORFISMO: Otro de los mecanismos aportados por la POO es el de polimorfismo, el cual es la capacidad de tener mtodos con el mismo nombre pero que su implementacin sea diferente El polimorfismo se Pueden clasificar en dos grandes clases: Polimorfismo dinmico: es aqul en el que el cdigo no incluye ningn tipo de especificacin sobre el tipo de datos sobre el que se trabaja. As, puede ser utilizado a todo tipo de datos compatible. Polimorfismo esttico: es aqul en el que los tipos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de poder ser utilizados CLASE: Son lenguajes de programacin orientada a objetos utilizan el trmino clase para describir a los objetos de un mismo tipo. Normalmente, la definicin de una clase es la declaracin de un tipo de dato que involucra la especificacin de los atributos y los mtodos de un objeto

3.

LENGUAJES DE LA PROGRAMACIN

3.1. QU ES UN LENGUAJE DE PROGRAMACIN? En computacin, un lenguaje de programacin es cualquier lenguaje artificial, el cual, se utiliza para definir adecuadamente una secuencia de instrucciones que puedan ser interpretadas y ejecutadas en una maquina o computador. Se asume que las instrucciones as escritas son traducidas luego a un cdigo que la mquina pueda comprender. El proceso de traduccin es realizado normalmente por la computadora, usando un programa especializado para tal fin.

3.2. Utilidad de los lenguajes de programacin:


9

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

Gracias a estos lenguajes se crean programas muy complejos como ej: los sistemas operativos, casi todos tienen la finalidad de interactuar con el usuario Para la creacion de un lenguaje de programacion se usa otro lenguaje de programacin. Sirven tambien para llenar la necesidad que tienen varios usuarios de crear programas que se ajusten a sus requerimientos, , y que hagan los que ellos quieren. Otra de las utilidades es la creacion de modelos virtuales que los programadores prog crean para describir fenomenos especificos. Sirven para crear programas comerciales, juegos de computador, programas de publicacin. 3.3. Tipos de los Lenguajes de programacin Segn el nivel se clasifican en:
Son los que se aproximan al nivel de comunicacin riguroso o crudo del computador(llamado lenguaje de maquina) Utilizan terminos de lenguaje en ingles de ej: STORE(almacenar), ADD(Adicionar), JUMP(Saltar) Son llamados lenguajes de bajo nivel los l que ae han constituido con lenguaje de maquina(sistemas de codigos interpretados por el microprocesador de un computador)

SEGUN SU NIVEL

Lenguaje Bajo Nivel

Tienen la capacidad de utilizar comandos en ingles Son aquellos que, permiten el uso de funciones a nivel aritmtico, pero a nivel Lenguajes de lgico dependen de literales en Medio Nivel ensamblador. Estos lenguajes estn orientados a procedimientos. Los procedimientos se componen de procesos. Ejemplos: C, Basic. Permiten una maxima flexibilidad al programador a la hora de ser abstracto. Lenguaje de Estos lenguajes estn orientados a Alto Nivel objetos. Los objetos se componen de propiedades cuya naturaleza emerge de procedimientos. Ejemplos C++, Frortran, 10

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE Cobol, los programas escritos en un lenguaje de alto nivel se llaman programas fuente, y el programa traducido : programa objeto

3.4 Generaciones (Evolucin de los Lenguajes de programacin) PRIMIERA GENERACION 1GL SEGUNDA GENERACION- 2GL TERCERA GENERACION 3GL Lenguaje de Maquina Lenguaje Ensamblador Se crean los primeros Lenguajes de alto nivel ej: Pascal,Cobol Lenguajes capaces de generar codigo por si solos llamados RAD, Utilizan un entrono de texto o visiual en el entorno de texto el programador utiliza palabras en ingles cuando genera el codigo fuente. En los de cuarta generacion se encuentran tambien los lenguajes orientados a objetos(elementos ej: botones, cuadros de texto, etc) Ej: Visual, C++ Se encuentran los lenguajes orientados a la inteligencia Artificial, etos estan todavia poco desarrollados Ej: Lisp(es el segundo lenguaje mas antiguo, orientado a objetos),

CUARTA GENERACION 4GL

QUINTA GENERACION 5GL

Ejemplos de Lenguajes de Alto Nivel: Lenguaje C Produce programas de codigo ejecutable, rapido y eficiente Lenguaje C++ Es la implementacion orientada a objetos del lenguaje C, el C++ tambien es poderoso y eficiente Lenguaje JAVA Programacion orientada a objetos(objeto se define como la unidad en que tiempo se realiza tareas de un programa), con este lenguaje se crean programas interactivos llamados applets para paginas web. Activex Crea funciones autocontenidas, similares a los applets de java, que pueden ser accedida o ejecutadas
11

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

desde otro programa compatible con Activex

Entornos de autoria: autori Son Herramientas de programacion para propositos especiales para crear aplicaciones multimedia,programas de capacitacion por computador, paginas web, web, algunos de estos: Microsoft, netscape visual Java Script(es una herramienta para el desarrollo rapido multiplataforma) Sun studio one: Es un editor visual para los applets(Programa que se ejecuta dentro de la web) java y Swing 3.5 Lenguajes de Desarrollo de la World Wide Web

Lenguaje de Marcacion de Hipertexto- HTML: Se utiliza para crear documentos para www, y para dar formato y apariencia a esta, insertar imgenes, elementos multimedia. multimedia

*Lenguaje de Marcancion Extensible -XML XML: Es un metalenguaje(Se usa para hablar a cerca de otro lenguaje) extensible de etiquetas. Lenguaje de marcacion *Lenguaje de Marcacion extensible de perfil Movil:-XHTML-MP: Conocido anteriormente como lenguaje de marcacion inalambrico (WML), con el se pueden crear documentos que se pueden ver en dispositivos de bolsillo. *Dreamwever: es un editor HTML, que permite que el diseador escriba visulmente pagina web

Lenguajes de Desarrollo de la World Wide Web

HTML Extensible - XHTML: Version nueva del html, estandar para desarrollar paginas web, similar al html

Lenguaje de Hojas de Estilo Extensible(XSL): Extensible(XSL) Es una tecnologia XML y su proposito es dar formato a documentos XML para navegadores HTML como el internet Explorer.

3.6 Lenguaje de Secuencia de comandos:

12

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

lenguaje de secuencia de comandos: capacidad de crear una pagina web dinamica, pueden cambiar de acuerdo a la informacion que suministra el ususario. Ej: tiendas en Linea
Java Script: Desarrollado para trabajar dentro del HTML, permite verificacion de paginas, animaciones sencillas y calculos Las paginas de Active Server(ASP):Son productos de Microsoft, se basa en visual basic y es bueno para acceder a bases de datos de Microsoft Lenguaje practico de extraccion e informes (PERL): Primeros que se originaron en los sistemas UNIX como una forma de automatizar tareas administrativas

Procesador de Hipertexto(PHP): Herramienta para el desarrollo de aplicaciones Web

TRADUCCION DEL LENGUAJE: Es un programa traductor, que acepta otros programas escritos en lenguaje y los ejecuta directamente o los transforma en adecuadamente para su ejecucion.

El proceso de compilacion tiene una etapas:

13

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

1. Edicin. Consiste en escribir el programa empleando algn lenguaje y un editor. Como resultado nos dar el cdigo fuente de nuestro programa. 2. Compilacin. Se traduce el cdigo fuente obtenido en la fase anterior a cdigo mquina. Si no se produce ningn error se obtiene el cdigo objeto. En caso de errores el compilador los mostrara para ayudarnos a corregirlos y se procedera a su compilacin de nuevo, una vez corregidos. 3. Linkado. Consiste en unir el archivo generado en la fase dos con determinadas rutinas internas del lenguaje, obteniendo el programa ejecutable. Una vez traducido, compilado y linkado el archivo esta listo para su ejecucin donde tambin podrn surgir problemas y fallos, para los cuales tendramos que volver a realizar todo el proceso anteriormente citado, de modo que puedan ser corregidos. Por este motivo es importante realizar numerosas pruebas en tiempo de ejecucin antes de presentar el programa al cliente.

Cdigo Fuente COMPILACION

Cdigo objetivo TRADUCCION ADICIONAL CODIGO EJECUTABLE

CODIGO EJECUTABLE

ENTRADA

PROCESADOR

SALIDA

14

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

4. BASES DE DATOS

Una base de datos es un conjunto de datos o hechos relacionados. Un sistema de administracion de base de datos (DBMS), es una herramienta de software que le permite realizar varias operaciones con ellos . Un DBMS permite hacer muchas tareas rutinarias: Ordenar miles de direcciones por codigo postal Encontrar todas las personas que vivien en un lugar en particular Imprimir registros Seleccionados 4.1. Caracteristicas de las Bases de Datos: Persistentes: Significa que los datos se encuentran en un almacenamiento estable. La persistencia depende del uso del uso deseado, ya que el almacenamiento y mantenimiento de datos es muy costoso, solo deben almacenarse datos mas relevantes o importantes. Compartir: Una base de datos puede tener varios usos y usuarios, una base de datos proporciana unos datos o memoria comun para varias funciones, ej: de una base de datos de los estudiantes de la UNAD se puede calcular la cartera cartera, realizar caracterizaciones de poblacion ion universitaria, etc. Interrelacion: Interrelacion con los datos almacenados como unidades separadas, Ejemplo una base de datos de clientes se relaciona con otros datos de una orden(puede ser otra base de datos). Las base de datos contienen entidades y r relaciones entre ellas, una entidad es conjunto de datos sobre un solo tema ej: una entidad representa una persona, una situacion, etc. Una compaa puede tener una base de datos de Empleados que contiene sus entidades como: empleados, departamentos,habilidades departamentos,habilid

15

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

Sistema de administracion de base de datos Es un conjunto de componentes que soportan la creacion , uso y mantenimiento de bases de datos.actualmente los sistemas de administracion de base de datos que dominan el mercado son: ORACLE Es el mas popular del mercado, ya que lo domina un 40%, aunque esta perdiendo su parte en este ante rivales como microsoft, IBM, es capaz de ser ejecutado en diferentes Sistemas operativos Es de IBM, tiene segundo lugar en popularidad, ofrece un sistemas estable y robusto capaz de volumenes altos de actividad.

DB2 Database Universal SQL SERVEREs de Microsoft, crece mas rapido, aunque no es tan popularpero la esta ganando ya que ofrece mas velocidad y caracteristicas avanzadas del lenguaje y eficiencia. MYSQL Es de codigo abierto, es facil de usar pero ucenta con menos carateristicas que la competencia, muchas empresas utilizan el mysql por el costo 4.2 Modelo de Datos: Es una herramienta que consta de un formalismo que describe los datos de una base de datos, un conjunto de operaciones que permite manipularlos y un conjunto de reglas que mantiene la integridad de los datos (que permite mirar que datos son validos dentro de un sistema en caso contrario los deben rechazar). Un modelo de datos es un conjunto de conceptos que nos perniten describir los datos, las relaciones que existen entre ellos, las restricciones de consistencia. Se han propuesto varios modelos de datos. se pueden definir en tres modelos: 4.2.1 Modelos Lgicos Basados en objetos: Representa los datos que se necesiten con la estructura s propias del lenguaje que se vaya a utilizar, se utilizan para describir los datos en los niveles de conceptual y de vision Modelo Entidad relacion(E-R) Modelo Binario Modelo Semantico de Datos Modelo Infologico

Modelo Entidad relacion(E-R): Orientado a Objetos, en un conjunto de objetos Basicos llamados entidades y sus relaciones. Es el conjunto de entidades,

16

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

atributos y relaciones relevantes dentro de una BD Los elementos del modelo Entidad - Relacion son: 1-Entidad: se agrupan por sus caracteristicas semejantes, objetos mas relevantes para la base de datos Ej: Municipios, barrios, casas. 2-Asociacion: Permite relacionar a cualquier nivel las entidades Nivel de Relaciones a) Relacion Uno a uno(1:1): es la forma mas simple, para cada entidad de un conjunto de entidades existe otro miembro asociado de otro conjunto b)Uno a Muchos(1:N): Para cada entidad o registro de una tabla existe asociadas varias entidades de otro conjunto, pero cada uno de esos registro o entidades solo se relaciona con esa tabla c) Muchos a Muchos(M:N): No hay restricciones en los conjuntos, muchos registros de una tabla se relaciona con muchos registros de otra

Cardinalidad Minima

a) 0 Particion opcional b) >0 Particion obligatoria

3-Atributo: representa ciertas caracteristicas genericas de una entidad, las variables o caracteristicas de los objetos; Ej: No. De Habitantes
17

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

Elaboracion de un Modelo E-R: 1. Se definen las entidades relevantes 2. Se ilustran las entidades 3. Se reconocen identificadores y atributos son propios de cada entidad 4. Se definen las relaciones Componentes de un diagrama entidad Relacion
Representan conjunto de entidades

Representan los atributos

Relacin entre conjunto de entidades

Representa la conexin entre los atributos, las entidades y las relaciones

4.2.2 Modelos logicos basados en Registros: Se utilizan para describir los datos en los niveles conceptual y de vision, sirven para especificar la estructura logica general de la base de datos. Existen tres modelos de datos Modelo Racional: Los datos y relaciones entre ellos se representan por medio de una serie de tablas, cada una con varias columnas con nombres unicos Modelo de Red: Aqui los datos se representan por medio de conjunto de registros y las relaciones entre los datos se representan con ligas, que se consideran como apuntadores. Los registros de la base de datos se organizan en forma de conjuntos de graficas arbitrarias. Modelo Jerarquico: Es similar al modelo de red, en cuanto a datos y relaciones, pero se diferencia por que los registros estan organizados como conjunto de arboles 4.2.3 Modelos Fisicos de los datos: Sirven para describir los datos en el nivel mas bajo. A diferencia de los modelos logicos son muy poco utilizados, algunos de ellos: El modelo unificador y la memoria de cuadros

5. INGENIERIA DEL SOFTWARE

18

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

El trmino de Ingeniera del software fue introducido a finales de los 60 a raz de la crisis del software, esta crisis fue el resultado de la introduccin de la tercera generacin del hardware. El hardware dejo de ser un impedimento para el desarrollo de la informtica; redujo los costos y mejoro la calidad y eficiencia en el software producido.

La crisis se caracterizo por los siguientes problemas: Imprecisin en la planificacin del proyecto y estimacin de los costos. Baja calidad del software. Dificultad de mantenimiento de programas con un diseo p poco estructurado, etc. Por otra parte se exige que el software sea eficaz y barato tanto en el desarrollo como en la compra, tambin se requiere una serie de caractersticas como fiabilidad, facilidad de mantenimiento y de uso, eficiencia, etc. La ingeniera del software se define como la ciencia que se ocupa del estudio de los problemas relacionados con el desarrollo de software y de sus soluciones. La ingeniera de software ha tenido varios enfoques dependiendo del autor pero segn la IEEE (Institute of Electrical and Electronics Engineers, en espaol Instituto de Ingenieros Elctricos y Electrnicos) en 1993 define que es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin (funcionamiento) y mantenimiento de software. La ingeniera del software trata con reas muy diversas de la informtica y de las ciencias de la computacin, tales como construccin de compiladores, sistemas
19

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

operativos o desarrollos en Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de informacin y aplicables a una infinidad de reas tales como: negocios, investigacin cientfica, medicina, produccin, logstica, banca, control de trfico, meteorologa, el mundo del derecho, las red de redes Internet, redes Intranet y Extranet, etc. Cuando se desarrolla una aplicacin para uso personal, como entretenimiento, el esfuerzo a realizar, el tiempo necesario para concluirlo, o hasta qu punto satisface nuestras expectativas, no son problemas importantes. Cuando, por el contrario, se desarrolla una aplicacin (sistema de informacin) para un cliente que tiene unas necesidades especficas, que necesita el producto en un momento concreto y que va a pagar por su desarrollo, resultan esenciales el coste, el plazo de realizacin, y el cumplimiento de los requisitos. Este desarrollo es ms difcil que el de un programa individual, bsicamente por los siguientes motivos: Volumen. Un proyecto, en la prctica suele ser grande. (Miles de lneas de cdigo). Evolucin. El sistema de informacin no es esttico. Evoluciona con las necesidades del usuario, los cambios del entorno (hardware, legislacin, etc.). Complejidad. El sistema de informacin es complejo. Es difcil que una nica persona conozca todos los detalles de una aplicacin. Coordinacin. En el desarrollo de un sistema de informacin intervienen muchas personas. Es difcil coordinar el trabajo de todos, de forma que al final los distintos componentes encajen Comunicacin. Cuando se desarrolla un sistema de informacin es porque hay alguien interesado en usarlo. Antes de comenzar el desarrollo, habr que concretar con el usuario (cliente) las caractersticas del sistema comunicacin con el cliente conlleva serios problemas, pues normalmente el desarrollador no conoce las necesidades del cliente, y el cliente no sabe discernir la informacin que es til para el desarrollador de la que no es. El desarrollo de cualquier sistema de informacin implica la realizacin de tres pasos genricos: definicin, construccin y mantenimiento.

20

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

5.1 OBJETIVOS DE LOS PROYECTOS DE SISTEMAS Para que los objetivos se cumplan las empresas emprenden proyectos por las siguientes razones: "Las cinco C Capacidad Las actividades de la organizacin estn influenciadas por la capacidad de sta para procesar transacciones con rapidez y eficiencia. Los sistemas de informacin mejoran esta capacidad en tres formas. Aumentan la velocidad de procesamiento: Los sistemas basados en computadora pueden ser de ayuda para eliminar la necesidad de clculos tediosos y comparaciones repetitivas. Un sistema automatizado puede ser de gran utilidad si lo que se necesita es un procesamiento acelerado. Aumento en el volumen: La incapacidad para mantener el ritmo de procesamiento no significa el abandono de los procedimientos existentes. Quiz stos resulten inadecuados para satisfacer las demandas actuales. En estas situaciones el analista de sistemas considera el impacto que tiene la introduccin de procesamiento computarizado, si el sistema existente es manual. Es poco probable que nicamente el aumento de la velocidad sea la respuesta. El tiempo de procesamiento por transaccin aumenta si se considera la cantidad de actividades comerciales de la empresa junto con su patrn de crecimiento. Recuperacin ms rpida de la informacin: Las organizaciones almacenan grandes cantidades de datos, por eso, debe tenerse en cuenta donde almacenarlos y como recuperarlos cuando se los necesita. Cuando un sistema se desarrolla en forma apropiada, se puede recuperar en forma rpida la informacin. Costo Vigilancia de los costos: Para determinar si la compaa evoluciona en la forma esperada, de acuerdo con lo presupuestado, se debe llevar a cabo el seguimiento de los costos de mano de obra, bienes y gastos generales. La creciente competitividad del mercado crea la necesidad de mejores mtodos para seguir los costos y relacionarlos con la productividad individual y organizacional. Reduccin de costos: Los diseos de sistemas ayudan a disminuir los costos, ya que toman ventaja de las capacidades de clculo automtico y de recuperacin de datos que estn incluidos en procedimientos de programas en computador. Muchas tareas son realizadas por programas
21

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

de cmputo, lo cual deja un nmero muy reducido de stas para su ejecucin manual, disminuyendo al personal. Control Mayor seguridad de informacin: Algunas veces el hecho de que los datos puedan ser guardados en una forma adecuada para su lectura por medio de una mquina, es una seguridad difcil de alcanzar en un medio ambiente donde no existen computadoras. Para aumentar la seguridad, generalmente se desarrollan sistemas de informacin automatizados. El acceso a la informacin puede estar controlado por un complejo sistemas de contraseas, limitado a ciertas reas o personal, si est bien protegido, es difcil de acceder. Menor margen de error: (mejora de la exactitud y la consistencia): Esto se puede lograr por medio del uso de procedimientos de control por lotes, tratando de que siempre se siga el mismo procedimiento. Cada paso se lleva a cabo de la misma manera, consistencia y con exactitud: por otra parte se efectan todos los pasos para cada lote de transacciones. A diferencia del ser humano, el sistema no se distrae con llamadas telefnicas, ni olvidos e interrupciones que sufre el ser humano. Si no se omiten etapas, es probable que no se produzcan errores. Comunicacin La falta de comunicacin es una fuente comn de dificultades que afectan tanto a cliente como a empleados. Sin embargo, los sistemas de informacin bien desarrollados amplan la comunicacin y facilitan la integracin de funciones individuales. Interconexin: (aumento en la comunicacin). Muchas empresas aumentan sus vas de comunicacin por medio del desarrollo de redes para este fin, dichas vas abarcan todo el pas y les permiten acelerar el flujo de informacin dentro de sus oficinas y otras instalaciones que no se encuentran en la misma localidad. Una de las caractersticas ms importantes de los sistemas de informacin para oficinas es la transmisin electrnica de informacin, como por ejemplo, los mensajes y los documentos. Integracin de reas en las empresas: Con frecuencia las actividades de las empresas abarcan varias reas de la organizacin, la informacin que surge en un rea se necesita en otra rea, por ejemplo. Los sistemas de informacin ayudan a comunicar los detalles del diseo a los diferentes grupos, mantienen las especificaciones esenciales en un sitio de fcil
22

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

acceso y calculan factores tales como el estrs y el nivel de costos a partir de detalles proporcionados por otros grupos. Competitividad Los sistemas de informacin computacionales son un arma estratgica, capaz de cambiar la forma en que la compaa compite en el mercado, en consecuencia stos sistemas mejoran la organizacin y la ayudan a ganar "ventaja competitiva", sin embargo, si los competidores de la compaa tienen capacidades ms avanzadas para el procesamiento de informacin, entonces los sistemas de informacin pueden convertirse en una "desventaja competitiva". Una organizacin puede ganar ventaja competitiva a travs de sus sistemas de informacin de diferentes formas: * Asegurar clientes: Como los clientes son lo ms importante para una organizacin, los directivos buscan diferentes formas para conseguir nuevos clientes y mantener los que tienen. Para eso las empresas proporcionan: 1- Mejores precios 2- Servicios exclusivos. 3- Productos diferentes. La ventaja en precios se observa continuamente en la actividad comercial (s el producto es exclusivo o distinto entonces tener el liderazgo en precios bajos quizs no sea el objetivo a alcanzar). La estrategia eficaz de precios a menudo se alcanza al desarrollar sistemas de informacin por razones tales como reduccin de costos y ganancia en la exactitud. Generalmente cuando una compaa puede ofrecer servicios exclusivos y atraer clientes, es posible que los competidores no sean capaces de atraer a los clientes de la compaa. * Dejar fuera a los competidores: Pasar sobre los competidores puede ser un inconveniente si ellos se encuentran la forma para duplicar los logros de la compaa, los sistemas de informacin pueden ser la base para dejar fuera del mercado a la competencia ya sea el disuadir sus intentos por ingresar al mercado o crendoles obstculo para su entrada. *Mejores acuerdos con los proveedores: En los negocios, los proveedores tambin tienen importancia estratgica. Una manera de utilizar los sistemas de informacin para favorecer arreglos con los proveedores es ofreciendo un mejor precio. Disminuyendo los costos. *Formar bases para nuevos productos: Los sistemas de informacin tambin forman la base de muchos productos y servicios nuevos. Los servicios de base de datos experimentan un crecimiento comn en todas las industrias, productos que van desde programas personales hasta planes de construccin pueden
23

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

hacerse a la medida del cliente gracias al procesamiento de informacin. Una cosa es clara, es necesario que los sistemas entren en operacin y que trabajen de manera confiable. Ms que una disciplina o un cuerpo de conocimiento, la ingeniera de software es un verbo, una palabra de accin, una manera de abordar un problema. [Scott Whitmire]

El desarrollo de cualquier sistema de informacin implica la realizacin de tres pasos genricos: definicin, construccin y mantenimiento. Fase de definicin. Se intenta caracterizar el sistema que se ha de construir. Esto es, determinar qu informacin ha de usar el sistema, qu funciones ha de realizar, qu condicionantes existen, cules han de ser las interfaces del sistema, y qu criterios de validacin se usarn. Se debe contestar a la pregunta qu hay que desarrollar? Fase de construccin. Se disean las estructuras de los datos (bases de datos o archivos) y de los programas, se escriben y documentan stos y se prueba el software.

24

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

Fase de mantenimiento. Comienza una vez construido el sistema, coincidiendo con su vida til. Durante ella el software es sometido a una serie de modificaciones y reparaciones. Clasificacin La ingeniera del software se ocupa de la planificacin y estimacin de proyectos, anlisis de requisitos, diseo de software, codificacin, prueba y mantenimiento. Cuando habla de proyectos software habla de sistemas de informacin. Para realizar esta tarea se propone una serie de mtodos. La realizacin de un proyecto se consigue aplicando los mtodos de acuerdo con una determinada secuencia.

5.2

Ciclo de vida de un sistema de informacin

Segn la ISO 12207-1 el ciclo de vida de software es un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotacin y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso. Se divide en fases y en cada una de ellas se definen tareas especficas que contribuyen al desarrollo del proyecto:

25

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

26

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

6. CONCLUSIONES

La creacin del software le permite a los usuarios desarrollar varias tareas especficas. Gracias a los algoritmos podemos crear cualquier tipo de programa que satisfacen todas nuestras necesidades para cualquier entidad. Gracias a los lenguajes de programacin, podemos contar con variedad de aplicaciones y/o programas que satisfacen nuestras necesidades tanto como estudiantes como empleados de una compaa o cualquier entidad. Mediante estos lenguajes se desarrollan paginas web y aplicaciones en la misma web que en la actualidad es el eje para casi todas las actividades cotidianas. Las Bases de datos en una organizacion, son el pilar de su desarrollo, ya que en ellas reposa toda la informacion importante y valiosa, ademas gracias a ellas se agilizan todos los procesos que se establecidos en la entidad. La calidad del software se consigue aplicando las buenas tecnicas de la ingenieria del software, desde el planteamiento del problema, las necesidades del cliente, la puesta en marcha del programa y el matenimiento que se debe realizar de acuerdo a la vida util y problemas que presente en su funcionamiento. Las empresas utilizan software de calidad con el fin de minimizar problemas y mejorar la productividad, esta en la habilidad de los ingenieros cumplir con estas espectativas para el xito de la comunidad y su propio xito profesional. La ingenieria del software permite la administracin y control de proyectos de software involucrando el uso de mtricas, recursos y tiempos, Manejo del riesgo y control de la calidad.

27

ESCUELA DE CIENCIAS BASICAS E INGENIERIA INTRODUCCION A LA INGENIERIA DE SISTEMAS SOFTWARE

7. BIBLIOGRAFIA

Tipos de Lenguajes de Programacion; Guiarte multimedia S.L; C/ Morcuera n12, 3B; Las Rozas, Madrid. [http://www.desarrolloweb.com] Cuarta Etapa: Informatica ;Lenguajes de programacion; RENA(Red Escolar Nacional); Todos los derechos reservados por RENA Copyrigth 2008; [www.rena.edu.ve] Introduccion al PC; Peter Arroyo; ISBN: 978-1-4357-1481-6; Material protegido por derechos de autor copyright; 2008 Contenido didactico del Curso: Introduccion a la ingenieria de sistemas 90013; Autor:Pilar Alexandra Moreno Actualizaciones: Janeth Flechas- Red de tutores del curso; Duitama 2012

28

You might also like