SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Definiciones en la Ingeniería de
           Software

      Universidad Tecnologica de Hermosillo
  Tecnologias de la Informacion y la Comunicación
              Juan Jose Sanchez Garcia

               15 de enero de 2013
Introduccion
El presente trabajo contempla una breve pero informativa
introducción al tema de la Ingenieria de Software.

Este trabajo cubre varios temas de importancia para el alumno
de TICS pues presenta conceptos importantes de la Ingenieria
de Software.

Entre los temas que están en este trabajo se encuentra
W3C,Refactorizacion de Software,Sistema de computo,etc.
Ingeniería de Software: Definición, inicios,
           importancia, utilidad
Definicion
Es la aplicación de un enfoque sistemático, disciplinado y
cuantificable al desarrollo, operación y mantenimiento de
   software, y el estudio de estos enfoques, es decir, la
           aplicación de la ingeniería al software.
Inicios
El concepto de ingeniería del software surgió en 1968, tras una
conferencia en Garmisch (Alemania) que tuvo como objetivo
resolver los problemas de la crisis del software. El término
crisis del software se usó desde finales de 1960 hasta mediados
de 1980 para describir los frecuentes problemas que aparecían
durante el proceso de desarrollo de nuevo software.
Tras la aparición de nuevo hardware basado en circuitos
integrados, comenzaron a desarrollarse sistemas y aplicaciones
mucho más complejos que hasta entonces no era posible
construir puesto que el hardware disponible no lo permitía.
Estos nuevos proyectos de desarrollo de software, en la mayoría
   de ocasiones, no se terminaban a tiempo, lo cual también
 provocaba que el presupuesto final del software excediera de
aquel que se había pactado. Algunos de estos proyectos eran tan
   críticos (sistemas de control de aeropuertos, equipos para
   medicina, etc.) que sus implicaciones iban más allá de las
                 pérdidas millonarias que causaban
Importancia
En la ingeniería de software se utilizan los métodos, las
    herramientas y los procedimientos necesarios para que el
 software que se vaya formando tenga una buena calidad y que
los errores que se puedan cometer sean mínimos. Hay un factor
      que se toma en cuenta para que el software funcione
           adecuadamente y tenga la calidad requerida.
Las organizaciones se ven obligadas a disminuir el costo y el
tiempo tanto para el desarrollo de su producción, como para el
 funcionamiento de la organización como tal, ello lleva a la idea
    de generar crecimiento arrancando por la problemática de
   corregir falencias y automatizar procesos sin dejar de lado el
   hecho de que la solución definitiva no solo debe ser capaz de
realizar la labor que se solicita de la forma más eficiente y eficaz
   sino también de permitir que mute o cambie de acuerdo a la
  exigencia del mercado, con conocimiento claro que esta tiene
                    un tiempo de vida limitado
Utilidad
En la construcción y desarrollo de proyectos se aplican métodos
 y técnicas para resolver los problemas, la informática aporta
    herramientas y procedimientos sobre los que se apoya la
                    ingeniería de software.
         mejorar la calidad de los productos de software
         aumentar la productividad y trabajo de los ingenieros
    del software.
         Facilitar el control del proceso de desarrollo de
    software.
         Suministrar a los desarrolladores las bases para
    construir software de alta calidad en una forma eficiente.
         Definir una disciplina que garantice la producción y el
    mantenimiento de los productos software desarrollados en el
    plazo fijado y dentro del costo estimado.
Clasificacion de los Sistemas de Computo
 De acuerdo a la forma de representación física de la
  información: Hace referencia a la forma de recibir y/o procesar
     internamente la información surgiendo así 3 tipos de estos
                            sistemas:

 Sistemas Analógicos
 Sistemas Digitales
 Sistemas Hibridos
Sistemas Analogicos
Basados en la lectura de magnitudes físicas que pueden tomar
     un valor cualquiera dentro de un rango prefijado. Estas
   representan los números mediante una cantidad física, es
  decir, asignan valores numéricos por medio de la medición
física de una propiedad real, como la longitud de un objeto, el
Angulo entre 2 líneas, o la cantidad de voltaje que pasa a través
              de un punto en un circuito eléctrico.
Sistema Digital
Las computadoras digitales representan los datos o unidades
   separadas. La forma más simple de computadora digital es
     contar con los dedos. A diferencia de la computadora
   analógica, limitada por la precisión de las mediciones que
  puedan realizarse, la computadora digital puede representar
correctamente los datos con tantas posiciones y números que se
                           requieran.
Sistema Hibrido
Estos sistemas toman valores tanto digitales como analógicos.
 Generalmente se usan en problemas especiales en los que los
datos de entrada provienen de mediciones convertidas a dígitos
     y son procesados por una computadora por ejemplo.
De acuerdo al tipo de uso
Tienen que ver con el tipo de aplicaciones que puede
                  ejecutar, se tipifican en:
 Computadoras de uso personal
 Computadoras de uso Especifico
Uso Personal
Es la computadora que puede utilizarse para distintas clases de
      aplicaciones, es decir que puede soportar el trabajo
concurrente de diferentes aplicaciones de usuario y/o sistema.
Uso Especifico
Es la computadora que únicamente puede utilizarse para una
  o grupo de aplicaciones determinado a una aplicación muy
       concreta, este tipo de computadoras son conocidas
habitualmente como embebidas pues se encuentra incorporadas
               a otros a otros sistemas o equipos.
De Acuerdo a la potencia
 Hace referencia a la configuración que presentan las
computadoras que les permite un mejor desempeño , esta
clasificación considera:
                      Supercomputadora
                      Microcomputadora
                       Servidores de red
                      Estación de trabajo
                   Computadora Personal
                     Computadoras móvil
Software Engineering Institute
Software Engineering Institute (SEI) es un instituto federal
estadounidense de investigación y desarrollo, fundado por
Congreso de los Estados Unidos en 1984 para desarrollar
modelos de evaluación y mejora en el desarrollo de
software, que dieran respuesta a los problemas que generaba al
ejército estadounidense la programación e integración de los
sub-sistemas de software en la construcción de complejos
sistemas militares. Financiado por el Departamento de Defensa
de los Estados Unidos y administrado por la Universidad
Carnegie Mellon.
Es un referente en Ingeniería de Software por realizar el
desarrollo del modelo SW-CMM (1991) que ha sido el punto
  de arranque de todos los que han ido formando parte del
modelo que ha desarrollado sobre el concepto de capacidad y
               madurez, hasta el actual CMMI.
W3C
El World Wide Web Consortium, abreviado W3C, es un
consorcio internacional que produce recomendaciones para la
                       WorldWide Web.
Está dirigida por Tim Berners-Lee, el creador original de URL
    (Uniform Resource Locator, Localizador Uniforme de
Recursos), HTTP (HyperTextTransfer Protocol, Protocolo de
 Transferencia de HiperTexto) y HTML (Hyper Text Markup
 Language,Lenguaje de Marcado de HiperTexto) que son las
      principales tecnologías sobre las que se basa la Web.
Modelos y filosofias de desarrollo de
              software
La ingeniería de software dispone de varios modelos, paradigmas y
filosofías de desarrollo, en los cuales se apoya para la construcción
               del software, entre ellos se puede citar:
         Modelo en cascada o Clásico (modelo tradicional)
                        Modelo de prototipos
                          Modelo en espiral
                        Desarrollo por etapas
     Desarrollo iterativo y creciente o Iterativo e Incremental
              RAD (Rapid Application Development)
                       Desarrollo concurrente
                         Proceso Unificado
                RUP (Proceso Unificado de Rational)
Ciclo de vida del desarrollo de Software
El ciclo de vida básico de un software consta de los siguientes
                              procedimientos:
   •         Definición de objetivos: definir el resultado del proyecto y su
                         papel en la estrategia global.
  •         Análisis de los requisitos y su viabilidad: recopilar, examinar y
formular los requisitos del cliente y examinar cualquier restricción que se
                                 pueda aplicar.
    •         Diseño general: requisitos generales de la arquitectura de la
                                   aplicación.
  •         Diseño en detalle: definición precisa de cada subconjunto de la
                                   aplicación.
       •        Programación (programación e implementación): es la
implementación de un lenguaje de programación para crear las funciones
                     definidas durante la etapa de diseño.
 •          Prueba de unidad: prueba individual de cada subconjunto de la
     aplicación para garantizar que se implementaron de acuerdo con las
                               especificaciones.
•         Integración: para garantizar que los diferentes módulos se
     integren con la aplicación. Éste es el propósito de la prueba de
           integración que está cuidadosamente documentada.
   •        Prueba beta (o validación), para garantizar que el software
                cumple con las especificaciones originales.
•        Documentación: sirve para documentar información necesaria
        para los usuarios del software y para desarrollos futuros.
                         •       Implementación
  •         Mantenimiento: para todos los procedimientos correctivos
    (mantenimiento correctivo) y las actualizaciones secundarias del
                   software (mantenimiento continuo).
El orden y la presencia de cada uno de estos procedimientos en el ciclo
  de vida de una aplicación dependen del tipo de modelo de ciclo de
      vida acordado entre el cliente y el equipo de desarrolladores.
•        Integración: para garantizar que los diferentes módulos se
     integren con la aplicación. Éste es el propósito de la prueba de
          integración que está cuidadosamente documentada.
  •        Prueba beta (o validación), para garantizar que el software
               cumple con las especificaciones originales.
•        Documentación: sirve para documentar información necesaria
        para los usuarios del software y para desarrollos futuros.
                        •         Implementación
  •        Mantenimiento: para todos los procedimientos correctivos
    (mantenimiento correctivo) y las actualizaciones secundarias del
                  software (mantenimiento continuo).
El orden y la presencia de cada uno de estos procedimientos en el ciclo
de vida de una aplicación dependen del tipo de modelo de ciclo de vida
        acordado entre el cliente y el equipo de desarrolladores.
Arquitectura de Software
En los inicios de la informática, la programación se consideraba un
arte y se desarrollaba como tal, debido a la dificultad que entrañaba
para la mayoría de las personas, pero con el tiempo se han ido
descubriendo y desarrollando formas y guías generales, con base a las
cuales se puedan resolver los problemas. A estas, se les ha
denominado Arquitectura de Software, porque, a semejanza de los
planos de un edificio o construcción, estas indican la estructura,
funcionamiento e interacción entre las partes del software. En el
libro "An introduction to Software Architecture", David Garlan y
Mary Shaw definen que la Arquitectura es un nivel de diseño que
hace foco en aspectos "más allá de los algoritmos y estructuras de
datos de la computación; el diseño y especificación de la estructura
global del sistema es un nuevo tipo de problema".
Conclusion
 La ingeniería de software es un tema muy importante dentro
           del proceso de aprendizaje de un alumno.
   La ingeniería de software permite a los programadores la
   creación de mejor software mediante el uso de técnicas y
   metodologías para garantizar la correcta funcionalidad de
este, además de poder formalizar el código fuente para facilitar
                  la reutilización del software.
La ingeniería de software ha sido uno de los pilares mas grandes
para el crecimiento de la industria del software a lo largo de los
                                años
Bibliografia
 http://es.wikipedia.org/wiki/Arquitectura_de_soft
                        ware
http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de
_software#Modelos_y_filosof.C3.ADas_de_desarrollo
                    _de_software
http://es.wikipedia.org/wiki/World_Wide_Web_Co
                      nsortium
http://es.wikipedia.org/wiki/Software_Engineering
                      _Institute
http://www.ub.edu.ar/catedras/ingenieria/ing_soft
     ware/ubftecwwwdfd/glossary/glosary.htm
http://www.buenastareas.com/ensayos/Inportancia-De-
     La-Ingenier%C3%ADa-De-Software/1205392.html
http://www.itpuebla.edu.mx/Alumnos/Cursos_Tutoriales
/Ana_Sosa_Pintle/SISTEMAS/ARCHIVOS_FUNDAMENTOS
                  /ARCHIVOS/U4_1.htm
  http://histinf.blogs.upv.es/2010/12/28/ingenieria-del-
                          software/
        http://prezi.com/wribnzku2hre/ieee-830/
 http://www.slideshare.net/almoralgon/clasificacion-de-
                 los-sistemas-de-computo
http://es.wikipedia.org/wiki/Ventana_(inform%C3%A1tic
                       a)#Modalidad

Weitere ähnliche Inhalte

Was ist angesagt?

Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwarejuankexmisiodj
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Softwareem3marquez
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. Cristhian Martinez
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosRafael Fdo Lopez Castillo
 
14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de softwareJhon Barrera
 
02 unidad i proceso
02 unidad i   proceso02 unidad i   proceso
02 unidad i procesovictdiazm
 
Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4Enrique Barreiro
 
Ingeniería de software II - Parte 2
Ingeniería de software II - Parte 2Ingeniería de software II - Parte 2
Ingeniería de software II - Parte 2Marta Silvia Tabares
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de SoftwareUacm Lis Slt
 
Intoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del SoftwareIntoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del Softwareguest9ad165
 
software
softwaresoftware
softwarealkosto
 

Was ist angesagt? (20)

ing del software
 ing del software  ing del software
ing del software
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.software
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE. SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
SELECCIÓN DE TECNICAS DE INGENIERIA DE SOFTWARE.
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelos
 
14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software14. fundamentos de desarrollo de software
14. fundamentos de desarrollo de software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
02 unidad i proceso
02 unidad i   proceso02 unidad i   proceso
02 unidad i proceso
 
Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4Ingeniería del Software de Gestión. Tema 4
Ingeniería del Software de Gestión. Tema 4
 
Ingeniería de software II - Parte 2
Ingeniería de software II - Parte 2Ingeniería de software II - Parte 2
Ingeniería de software II - Parte 2
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de Software
 
Cuadro Comparativo
Cuadro ComparativoCuadro Comparativo
Cuadro Comparativo
 
Intoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del SoftwareIntoduccion A La Ingenieria Del Software
Intoduccion A La Ingenieria Del Software
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
 
Conceptos
ConceptosConceptos
Conceptos
 
software
softwaresoftware
software
 
Diapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napaDiapositivas-Ing-SW-napa
Diapositivas-Ing-SW-napa
 
ingenieria de software
ingenieria de softwareingenieria de software
ingenieria de software
 
Ingeniería del software
 Ingeniería  del software  Ingeniería  del software
Ingeniería del software
 
Jose r ojas ii
Jose r ojas iiJose r ojas ii
Jose r ojas ii
 

Andere mochten auch

PresentacióN Del Curso IntroduccióN A La Programacion
PresentacióN Del Curso IntroduccióN A La ProgramacionPresentacióN Del Curso IntroduccióN A La Programacion
PresentacióN Del Curso IntroduccióN A La ProgramacionAndres Garcia
 
Lenguajes de programación y framework más utilizados por alumnos de la carre...
Lenguajes de programación y framework más utilizados por alumnos  de la carre...Lenguajes de programación y framework más utilizados por alumnos  de la carre...
Lenguajes de programación y framework más utilizados por alumnos de la carre...Edwin Roy Casas Huamanta
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programaciónSheo Pusdá
 
Visual 2010 sql server 2008
Visual 2010 sql server 2008Visual 2010 sql server 2008
Visual 2010 sql server 2008Alex Vasquez
 
Conceptos basicos de programacion
Conceptos basicos de programacionConceptos basicos de programacion
Conceptos basicos de programacionBarbara brice?
 
Vision para la ingenieria civil
Vision para la ingenieria civilVision para la ingenieria civil
Vision para la ingenieria civilAlberto Cañizales
 
Metodología de la programación
Metodología de la programaciónMetodología de la programación
Metodología de la programaciónAnsd
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...José Antonio Sandoval Acosta
 
Metodologia de la programación Capitulo 1: Conceptos Generales
Metodologia de la programación Capitulo 1: Conceptos GeneralesMetodologia de la programación Capitulo 1: Conceptos Generales
Metodologia de la programación Capitulo 1: Conceptos GeneralesVideoconferencias UTPL
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladorespaulina8
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFranco Guamán
 
Logica computacional
Logica computacionalLogica computacional
Logica computacionalTurokJG
 

Andere mochten auch (20)

Clase1 fundamentos
Clase1 fundamentosClase1 fundamentos
Clase1 fundamentos
 
Presentación Informática
Presentación InformáticaPresentación Informática
Presentación Informática
 
PresentacióN Del Curso IntroduccióN A La Programacion
PresentacióN Del Curso IntroduccióN A La ProgramacionPresentacióN Del Curso IntroduccióN A La Programacion
PresentacióN Del Curso IntroduccióN A La Programacion
 
1_Introduccion
1_Introduccion1_Introduccion
1_Introduccion
 
Conferencia1
Conferencia1Conferencia1
Conferencia1
 
Lenguajes de programación y framework más utilizados por alumnos de la carre...
Lenguajes de programación y framework más utilizados por alumnos  de la carre...Lenguajes de programación y framework más utilizados por alumnos  de la carre...
Lenguajes de programación y framework más utilizados por alumnos de la carre...
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Visual 2010 sql server 2008
Visual 2010 sql server 2008Visual 2010 sql server 2008
Visual 2010 sql server 2008
 
Conceptos basicos de programacion
Conceptos basicos de programacionConceptos basicos de programacion
Conceptos basicos de programacion
 
Vision para la ingenieria civil
Vision para la ingenieria civilVision para la ingenieria civil
Vision para la ingenieria civil
 
Tema1 prog logica
Tema1 prog logicaTema1 prog logica
Tema1 prog logica
 
Metodología de la programación
Metodología de la programaciónMetodología de la programación
Metodología de la programación
 
La lógica aplicada a la programacion
La lógica aplicada a la programacionLa lógica aplicada a la programacion
La lógica aplicada a la programacion
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Metodologia de la programación Capitulo 1: Conceptos Generales
Metodologia de la programación Capitulo 1: Conceptos GeneralesMetodologia de la programación Capitulo 1: Conceptos Generales
Metodologia de la programación Capitulo 1: Conceptos Generales
 
C:\fakepath\compiladores
C:\fakepath\compiladoresC:\fakepath\compiladores
C:\fakepath\compiladores
 
Hilos En Java
Hilos En JavaHilos En Java
Hilos En Java
 
Fundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad IFundamentos de Programación. Unidad I
Fundamentos de Programación. Unidad I
 
Logica computacional
Logica computacionalLogica computacional
Logica computacional
 
Programacion 1
Programacion 1Programacion 1
Programacion 1
 

Ähnlich wie Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1

ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxMaikoUrizar1
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software jevo1994
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareT.I.C
 
Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.usserp584
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranMarijoalbarranb
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareIngryd Cobain
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfBibliotecaenlineaUNI
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesUlises Cruz
 

Ähnlich wie Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1 (20)

ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Inf 162
Inf 162Inf 162
Inf 162
 
Ciclodevidadeunsistema
CiclodevidadeunsistemaCiclodevidadeunsistema
Ciclodevidadeunsistema
 
Omar,luis,daniel
Omar,luis,danielOmar,luis,daniel
Omar,luis,daniel
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
 
sofware libre
sofware libre sofware libre
sofware libre
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
 
Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.Ingenieria del Software: Software a medida y generico.
Ingenieria del Software: Software a medida y generico.
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Fundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdfFundamentos de ingenieria de software - metodologias.pdf
Fundamentos de ingenieria de software - metodologias.pdf
 
ingenieriadesoftware1
ingenieriadesoftware1ingenieriadesoftware1
ingenieriadesoftware1
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Examen omar
Examen omarExamen omar
Examen omar
 

Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1

  • 1. Definiciones en la Ingeniería de Software Universidad Tecnologica de Hermosillo Tecnologias de la Informacion y la Comunicación Juan Jose Sanchez Garcia 15 de enero de 2013
  • 3. El presente trabajo contempla una breve pero informativa introducción al tema de la Ingenieria de Software. Este trabajo cubre varios temas de importancia para el alumno de TICS pues presenta conceptos importantes de la Ingenieria de Software. Entre los temas que están en este trabajo se encuentra W3C,Refactorizacion de Software,Sistema de computo,etc.
  • 4. Ingeniería de Software: Definición, inicios, importancia, utilidad
  • 6. Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software, y el estudio de estos enfoques, es decir, la aplicación de la ingeniería al software.
  • 8. El concepto de ingeniería del software surgió en 1968, tras una conferencia en Garmisch (Alemania) que tuvo como objetivo resolver los problemas de la crisis del software. El término crisis del software se usó desde finales de 1960 hasta mediados de 1980 para describir los frecuentes problemas que aparecían durante el proceso de desarrollo de nuevo software.
  • 9. Tras la aparición de nuevo hardware basado en circuitos integrados, comenzaron a desarrollarse sistemas y aplicaciones mucho más complejos que hasta entonces no era posible construir puesto que el hardware disponible no lo permitía.
  • 10. Estos nuevos proyectos de desarrollo de software, en la mayoría de ocasiones, no se terminaban a tiempo, lo cual también provocaba que el presupuesto final del software excediera de aquel que se había pactado. Algunos de estos proyectos eran tan críticos (sistemas de control de aeropuertos, equipos para medicina, etc.) que sus implicaciones iban más allá de las pérdidas millonarias que causaban
  • 12. En la ingeniería de software se utilizan los métodos, las herramientas y los procedimientos necesarios para que el software que se vaya formando tenga una buena calidad y que los errores que se puedan cometer sean mínimos. Hay un factor que se toma en cuenta para que el software funcione adecuadamente y tenga la calidad requerida.
  • 13. Las organizaciones se ven obligadas a disminuir el costo y el tiempo tanto para el desarrollo de su producción, como para el funcionamiento de la organización como tal, ello lleva a la idea de generar crecimiento arrancando por la problemática de corregir falencias y automatizar procesos sin dejar de lado el hecho de que la solución definitiva no solo debe ser capaz de realizar la labor que se solicita de la forma más eficiente y eficaz sino también de permitir que mute o cambie de acuerdo a la exigencia del mercado, con conocimiento claro que esta tiene un tiempo de vida limitado
  • 15. En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas, la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software.
  • 16. mejorar la calidad de los productos de software  aumentar la productividad y trabajo de los ingenieros del software.  Facilitar el control del proceso de desarrollo de software.  Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.  Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.
  • 17. Clasificacion de los Sistemas de Computo
  • 18.  De acuerdo a la forma de representación física de la información: Hace referencia a la forma de recibir y/o procesar internamente la información surgiendo así 3 tipos de estos sistemas:  Sistemas Analógicos  Sistemas Digitales  Sistemas Hibridos
  • 20. Basados en la lectura de magnitudes físicas que pueden tomar un valor cualquiera dentro de un rango prefijado. Estas representan los números mediante una cantidad física, es decir, asignan valores numéricos por medio de la medición física de una propiedad real, como la longitud de un objeto, el Angulo entre 2 líneas, o la cantidad de voltaje que pasa a través de un punto en un circuito eléctrico.
  • 22. Las computadoras digitales representan los datos o unidades separadas. La forma más simple de computadora digital es contar con los dedos. A diferencia de la computadora analógica, limitada por la precisión de las mediciones que puedan realizarse, la computadora digital puede representar correctamente los datos con tantas posiciones y números que se requieran.
  • 24. Estos sistemas toman valores tanto digitales como analógicos. Generalmente se usan en problemas especiales en los que los datos de entrada provienen de mediciones convertidas a dígitos y son procesados por una computadora por ejemplo.
  • 25. De acuerdo al tipo de uso
  • 26. Tienen que ver con el tipo de aplicaciones que puede ejecutar, se tipifican en:  Computadoras de uso personal  Computadoras de uso Especifico
  • 28. Es la computadora que puede utilizarse para distintas clases de aplicaciones, es decir que puede soportar el trabajo concurrente de diferentes aplicaciones de usuario y/o sistema.
  • 30. Es la computadora que únicamente puede utilizarse para una o grupo de aplicaciones determinado a una aplicación muy concreta, este tipo de computadoras son conocidas habitualmente como embebidas pues se encuentra incorporadas a otros a otros sistemas o equipos.
  • 31. De Acuerdo a la potencia Hace referencia a la configuración que presentan las computadoras que les permite un mejor desempeño , esta clasificación considera:  Supercomputadora  Microcomputadora  Servidores de red  Estación de trabajo  Computadora Personal  Computadoras móvil
  • 33. Software Engineering Institute (SEI) es un instituto federal estadounidense de investigación y desarrollo, fundado por Congreso de los Estados Unidos en 1984 para desarrollar modelos de evaluación y mejora en el desarrollo de software, que dieran respuesta a los problemas que generaba al ejército estadounidense la programación e integración de los sub-sistemas de software en la construcción de complejos sistemas militares. Financiado por el Departamento de Defensa de los Estados Unidos y administrado por la Universidad Carnegie Mellon.
  • 34. Es un referente en Ingeniería de Software por realizar el desarrollo del modelo SW-CMM (1991) que ha sido el punto de arranque de todos los que han ido formando parte del modelo que ha desarrollado sobre el concepto de capacidad y madurez, hasta el actual CMMI.
  • 35. W3C
  • 36. El World Wide Web Consortium, abreviado W3C, es un consorcio internacional que produce recomendaciones para la WorldWide Web. Está dirigida por Tim Berners-Lee, el creador original de URL (Uniform Resource Locator, Localizador Uniforme de Recursos), HTTP (HyperTextTransfer Protocol, Protocolo de Transferencia de HiperTexto) y HTML (Hyper Text Markup Language,Lenguaje de Marcado de HiperTexto) que son las principales tecnologías sobre las que se basa la Web.
  • 37. Modelos y filosofias de desarrollo de software
  • 38. La ingeniería de software dispone de varios modelos, paradigmas y filosofías de desarrollo, en los cuales se apoya para la construcción del software, entre ellos se puede citar:  Modelo en cascada o Clásico (modelo tradicional)  Modelo de prototipos  Modelo en espiral  Desarrollo por etapas  Desarrollo iterativo y creciente o Iterativo e Incremental  RAD (Rapid Application Development)  Desarrollo concurrente  Proceso Unificado  RUP (Proceso Unificado de Rational)
  • 39. Ciclo de vida del desarrollo de Software
  • 40. El ciclo de vida básico de un software consta de los siguientes procedimientos: • Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global. • Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. • Diseño general: requisitos generales de la arquitectura de la aplicación. • Diseño en detalle: definición precisa de cada subconjunto de la aplicación. • Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño. • Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.
  • 41. Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada. • Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales. • Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros. • Implementación • Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo). El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.
  • 42. Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada. • Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales. • Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros. • Implementación • Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo). El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.
  • 44. En los inicios de la informática, la programación se consideraba un arte y se desarrollaba como tal, debido a la dificultad que entrañaba para la mayoría de las personas, pero con el tiempo se han ido descubriendo y desarrollando formas y guías generales, con base a las cuales se puedan resolver los problemas. A estas, se les ha denominado Arquitectura de Software, porque, a semejanza de los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software. En el libro "An introduction to Software Architecture", David Garlan y Mary Shaw definen que la Arquitectura es un nivel de diseño que hace foco en aspectos "más allá de los algoritmos y estructuras de datos de la computación; el diseño y especificación de la estructura global del sistema es un nuevo tipo de problema".
  • 45. Conclusion La ingeniería de software es un tema muy importante dentro del proceso de aprendizaje de un alumno. La ingeniería de software permite a los programadores la creación de mejor software mediante el uso de técnicas y metodologías para garantizar la correcta funcionalidad de este, además de poder formalizar el código fuente para facilitar la reutilización del software. La ingeniería de software ha sido uno de los pilares mas grandes para el crecimiento de la industria del software a lo largo de los años
  • 46. Bibliografia http://es.wikipedia.org/wiki/Arquitectura_de_soft ware http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de _software#Modelos_y_filosof.C3.ADas_de_desarrollo _de_software http://es.wikipedia.org/wiki/World_Wide_Web_Co nsortium http://es.wikipedia.org/wiki/Software_Engineering _Institute http://www.ub.edu.ar/catedras/ingenieria/ing_soft ware/ubftecwwwdfd/glossary/glosary.htm
  • 47. http://www.buenastareas.com/ensayos/Inportancia-De- La-Ingenier%C3%ADa-De-Software/1205392.html http://www.itpuebla.edu.mx/Alumnos/Cursos_Tutoriales /Ana_Sosa_Pintle/SISTEMAS/ARCHIVOS_FUNDAMENTOS /ARCHIVOS/U4_1.htm http://histinf.blogs.upv.es/2010/12/28/ingenieria-del- software/ http://prezi.com/wribnzku2hre/ieee-830/ http://www.slideshare.net/almoralgon/clasificacion-de- los-sistemas-de-computo http://es.wikipedia.org/wiki/Ventana_(inform%C3%A1tic a)#Modalidad