SlideShare ist ein Scribd-Unternehmen logo
1 von 7
REPÚBLICA BOLIVARIANA DE VENEZUELA
UNIVERSIDAD FERMIN TORO
VICERRECTORADO ACADEMICO
FACULTAD DE INGENIERIA
ESCUELA DE INGENIERIA EN COMPUTACION
Ensayo de software
Autor: Gómez Nixon
Prof.: Ing. Edecio Freitez
Cabudare, Noviembre 2015
El término “software” fue usado por primera vez en este sentido por John W.
Tuque en 1957. En las ciencias de la computación y la ingeniería de software.
El software es toda la información procesada por los sistemas informáticos:
programas y datos. El concepto de leer diferentes secuencias de instrucciones de
la memoria de un dispositivo para controlar cálculos fue inventado por Charles
Babare como parte de su máquina diferencial.
La teoría que forma la base de la mayor parte del software moderno fue
propuesta por vez primera por Alan Turing en su ensayo de 1936, Los números
computables, con una aplicación al problema de decisión (Entscheidungs problem).
Actualmente se suele definir al software como “el conjunto de programas y
procedimientos que hacen posible las operaciones de un computador o
sistema en conjunto de hardware, siendo este último los componentes físicos
que ejecuta las tareas enviadas por medio del software”.
Para explicarlo de la manera más fácil y sencillamente entendible, podríamos
decir que el software es un intermediario entre un sistema que ejecuta operaciones
y un usuario, generalmente hombre – máquina, aunque también existen casos
maquina – maquina en los que un computador es usuario de un proceso (de sí
mismo o de otro ordenador)
Entendiendo que el software puede ser binario, código fuente o ejecutable
también abarca archivos y datos; para ser precisos es todo lo “intangible”,
contrario al hardware que es todo lo “físico”. Este, a su vez comprende dos tipos
según el área de especialización y al campo donde va dirigido los cuales son:
Software de sistema.
Software de programación.
Software de aplicación.
Siendo el primero aquel que se encarga de crear una interfaz entre el usuario y
la máquina, generando una comunicación fácil y sencilla evitando a su vez que el
primero vea los procesos internos que se ejecutan para lograr las tareas que realiza
dicha máquina.
El segundo tipo se caracteriza por ser un conjunto de herramientas que permite
“crear” procesos y desarrollar programas usando varios lenguajes de
programación proporcionando editores de texto, interpretes, depuradores, entre
otros.
Por último, el software de aplicación es aquel que permite realizar tareas que
son de un campo especifico tales como bases de datos, software empresarial, por
nombrar algunos y que pueden ser automatizados. En general se usan en sistemas
contables, software de diseño, entre otros.
Para realizar un software o crear uno, se debe generar por medio de
procesos y reglas preestablecidas que deben ser aplicadas para su éxito. Este
proceso puede ser sencillo o complejo, todo dependiendo de qué objetivos y
necesidades se dicte para dicho programa. Para ello debe realizarse un estudio y
cumplir con las siguientes etapas:
• Análisis de requerimientos
Los requerimientos se obtienen de los clientes y/o usuarios, en esta fase inicial
se reúnen y especifican las funciones necesarias que deberá cumplir el sistema a
desarrollar. Hay que tomar en cuenta que los usuarios y/o clientes no son expertos
en programación, ellos solo tienen una idea general de lo que debería hacer el
sistema, por otro lado los programadores son expertos en el desarrollo de
sistemas, pero tienen muy poco conocimiento del ambiente diario de los usuarios,
lo cual hace que lograr el equilibrio ideal en esta etapa sea la principal fuente de
éxito del desarrollo del sistema, ya que en este se trazaran los objetivos a cumplir.
Por lo que se necesita desarrollar buenos criterios para la toma de decisiones.
Para lograr criterios certeros se deben tener algunos principios tales como:
o Presentar y entender cabalmente el dominio de la
información del problema.
o Definir correctamente las funciones que debe realizar el
Software.
o Representar el comportamiento del software a
consecuencias de acontecimientos externos, particulares,
incluso inesperados.
o Reconocer requisitos incompletos, ambiguos o
contradictorios.
o Dividir claramente los modelos que representan la
información, las funciones y comportamiento y
características no funcionales
• Diseño
Esta etapa se basa en “como” los requisitos van a lograrse. En otras palabras,
como la estructura del software hará posibles dichas necesidades.
• Codificación
Esta etapa consiste en la “programación” de lo diseñado previamente y se
caracteriza por necesitar más horas/hombre para su desarrollo.
Mientras se traduce los requisitos en lenguaje de programación o codificación,
es natural que se realicen tareas de depuración y evaluación, evitando así errores
futuros.
Durante la fase de programación existen varias formas de código para el
desarrollo del mismo, y que pueden ser de tipo fuente, objeto y ejecutable. Todo
esto dependiendo de lo que se necesite lograr y la manera más fácil y eficaz de
trabajar.
• Pruebas (unitarias y de integración)
En esta fase se pueden destacar dos tipos de pruebas, las unitarias y de
integración. La primera consiste en probar pequeñas partes del conjunto, como
módulos, procedimientos, entre otros. Mientras que el segundo comprende el
sistema completo para así garantizar el funcionamiento del sistema. Claro que
para realizar este primero debe cumplir la prueba unitaria.
• Instalación y paso a producción
La instalación, no es más que transferir los datos al computador configurados
para su uso. Esto quiere decir su entrega, y por lo tanto esta etapa es susceptible a
futuros ajustes y configuraciones.
• Mantenimiento
Este se entiende como la mejora y optimización del producto desarrollado e
instalado previamente y que comprende la depuración y configuración de
funciones anexasen caso de existir alguna.
Tomando en cuenta y entendiendo cada una de las etapas antes descritas, se
encuentran sub-etapas, en el que el “modelo de proceso o ciclo de vida” empleado
para el desarrollo de este, norma el orden y tareas involucradas para dicho
proceso. Entre los ciclos más conocidos se destacan tres:
• Cascada
• Modelo en espiral
• Modelo iterativo incremental.
El primer tipo es el tradicional, el cual generalmente no se usa en su forma
pura sino que se flexibiliza debido a que en su manera original es muy rígida.
Cuando se usa en una de sus variantes se caracteriza por ser un software pequeño
y sencillo y de gran eficacia. Claro está que para ello se realizan ajustes en los
procesos para lograr una retroalimentación de etapas y así cumplir con los
objetivos, así se obtiene el “modelo cascada retroalimentado”.
Una de las desventajas de este modelo es que si se realizan cambias durante el
proceso de desarrollo puede ocasionar confusión y el fracaso para dicho
programa.
El segundo modelo es uno de tipo evolutivo e iterativo, esto quiere decir que
permite desarrollar versiones cada vez más complejas hasta llegar al objetivo
siendo específico detallando absolutamente todo lo que el sistema debe hacer.
Este modelo se construye en una serie de versiones incrementales. Dicho modelo
se divide en “regiones de tareas”. En general existen entre tres y seis regiones de
tareas. Este tiene como ventaja la capacidad de ir adaptándose y aplicarse a lo
largo de todo el software. Además se adapta muy bien para desarrollos a gran
escala, pero se debe tener gran experiencia para evaluar los riesgos.
Este modelo se inicia generando un centro con una tarea específica y en el
cual se basa el programa y luego se agregan capas de tareas, las cuales pueden ser
sencillas o complejas dependiendo del proyecto a abarcar. Por lo general este tipo
de modelo se usa en proyectos de gran escala y complejidad tales como
navegadores y controladores aeronáuticos. De este modelo existe una variante, a
la cual se refiere como espiral win & win. Este se basa en el ganar-ganar,
traduciendo su nombre en español.
Lo que se refiere a que su objetivo principal es satisfacer las necesidades del
cliente mientras que el desarrollador del programa gana un buen presupuesto y el
tiempo necesario para trabajar en el diseño del software. Para esto se debe tener
habilidades de negociación para llegar a un acuerdo.
En este modelo existen las siguientes premisas para abarcar el proyecto:
• Identificación del sistema o subsistemas clave de los directivos (*) (saber
qué quieren).
• Determinación de «condiciones de victoria» de los directivos (saber qué
necesitan y los satisface)
• Negociación de las condiciones «victoria» de los directivos para obtener
condiciones «Victoria & Victoria» (negociar para que ambos ganen).
Por último se tiene el modelo iterativo o incremental. Este es uno de tipo
“evolutivo” debido a que permite crear versiones de “estudio” o prototipos
basándose en el modelo cascada y que depura en su desarrollo los ciclos hasta
llegar a su producto final, en el cual ya han sido evaluados las operaciones y
tomados como necesarios para su funcionamiento.
En este tipo de software, el funcionamiento se basa en partes pequeñas que
permiten su “reciclaje” o refiriéndose de otro modo, pueden ser reutilizables y son
llamados incrementos. Estos se caracterizan por ser construidos sobre uno ya
elaborado anteriormente y entregado (reutilizado).
Dicho todo esto, se puede denotar que el modelo evolutivo permite una
retroalimentación entre el cliente y el programador, debido a que se entrega una
versión de prueba con funciones básicas y a medida que el cliente arroja
evaluaciones para reajustar o agregar funciones se logra un diseño del software
depurado y certero hasta cumplir totalmente con los objetivos trazados.
Claramente, son muy factibles estos modelos evolutivos, debido a que es casi nulo
que un cliente este consiente de todas las funciones que debería poseer dicho
programa, por lo que da la ventaja al programador de reciclar el prototipo sin
generar pérdidas en tiempo de ajuste y evaluación, aumentando así el éxito del
producto.

Weitere ähnliche Inhalte

Was ist angesagt?

Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa... grachika
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De VidaJgperez
 
Dpss u3_a2_paov.pptx
 Dpss u3_a2_paov.pptx Dpss u3_a2_paov.pptx
Dpss u3_a2_paov.pptxPablo Olvera
 
Desarrollo de software diapositiva
Desarrollo  de software diapositivaDesarrollo  de software diapositiva
Desarrollo de software diapositivaNorma Rodriguez
 
Etapas del desarrollo de software
Etapas del desarrollo de softwareEtapas del desarrollo de software
Etapas del desarrollo de softwarexinithazangels
 
Ciclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaCiclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaMari Abad
 
Plantilla caso prueba
Plantilla caso pruebaPlantilla caso prueba
Plantilla caso pruebaSTBG
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programazeta2015
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de softwareITSPR
 
Software de sistema
Software de sistemaSoftware de sistema
Software de sistemacindy1230
 
Weitzenfeld guardaticomputacion2008
Weitzenfeld guardaticomputacion2008Weitzenfeld guardaticomputacion2008
Weitzenfeld guardaticomputacion2008Cesar Jimenez
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Ciclo y diseno narzimar sanchez
Ciclo y diseno narzimar sanchezCiclo y diseno narzimar sanchez
Ciclo y diseno narzimar sanchezNarzimar Sanchez
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erickerick
 

Was ist angesagt? (19)

Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa...
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De Vida
 
Dpss u3_a2_paov.pptx
 Dpss u3_a2_paov.pptx Dpss u3_a2_paov.pptx
Dpss u3_a2_paov.pptx
 
Desarrollo de software diapositiva
Desarrollo  de software diapositivaDesarrollo  de software diapositiva
Desarrollo de software diapositiva
 
Ciclo Vida del Software
Ciclo Vida del SoftwareCiclo Vida del Software
Ciclo Vida del Software
 
Dpss u3 a2_paov
Dpss u3 a2_paovDpss u3 a2_paov
Dpss u3 a2_paov
 
Etapas del desarrollo de software
Etapas del desarrollo de softwareEtapas del desarrollo de software
Etapas del desarrollo de software
 
Software
SoftwareSoftware
Software
 
Ciclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaCiclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informatica
 
Plantilla caso prueba
Plantilla caso pruebaPlantilla caso prueba
Plantilla caso prueba
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de software
 
Software de sistema
Software de sistemaSoftware de sistema
Software de sistema
 
Software de sistema
Software de sistemaSoftware de sistema
Software de sistema
 
Weitzenfeld guardaticomputacion2008
Weitzenfeld guardaticomputacion2008Weitzenfeld guardaticomputacion2008
Weitzenfeld guardaticomputacion2008
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Ciclo y diseno narzimar sanchez
Ciclo y diseno narzimar sanchezCiclo y diseno narzimar sanchez
Ciclo y diseno narzimar sanchez
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erick
 
El software
El softwareEl software
El software
 

Ähnlich wie Ensayo de software

Ähnlich wie Ensayo de software (20)

XXXS
XXXSXXXS
XXXS
 
EliDastaSoftware
EliDastaSoftwareEliDastaSoftware
EliDastaSoftware
 
ciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptx
 
AMSI
AMSIAMSI
AMSI
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erick
 
SDLC.pptx
SDLC.pptxSDLC.pptx
SDLC.pptx
 
Fasesdedesarrollodeunprograma
FasesdedesarrollodeunprogramaFasesdedesarrollodeunprograma
Fasesdedesarrollodeunprograma
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02
 
Software
SoftwareSoftware
Software
 
Fundamentos del computado2
Fundamentos del computado2Fundamentos del computado2
Fundamentos del computado2
 
Etapas del diseño .pdf
Etapas del diseño .pdfEtapas del diseño .pdf
Etapas del diseño .pdf
 
Ciclo de Vida del Software (Para SAIA)
Ciclo de Vida del Software (Para SAIA)Ciclo de Vida del Software (Para SAIA)
Ciclo de Vida del Software (Para SAIA)
 
Ciclo de Vida de un Software.pdf
Ciclo de Vida de un Software.pdfCiclo de Vida de un Software.pdf
Ciclo de Vida de un Software.pdf
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Software
SoftwareSoftware
Software
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicion
 
Tarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computadorTarea 2 de fundamentos del computador
Tarea 2 de fundamentos del computador
 
Software
SoftwareSoftware
Software
 

Kürzlich hochgeladen

clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxvalenciaespinozadavi1
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOLUISDAVIDVIZARRETARA
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfXimenaFallaLecca1
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesgovovo2388
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 

Kürzlich hochgeladen (20)

clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESOCAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
CAPITULO 4 ANODIZADO DE ALUMINIO ,OBTENCION Y PROCESO
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitales
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 

Ensayo de software

  • 1. REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD FERMIN TORO VICERRECTORADO ACADEMICO FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA EN COMPUTACION Ensayo de software Autor: Gómez Nixon Prof.: Ing. Edecio Freitez Cabudare, Noviembre 2015
  • 2. El término “software” fue usado por primera vez en este sentido por John W. Tuque en 1957. En las ciencias de la computación y la ingeniería de software. El software es toda la información procesada por los sistemas informáticos: programas y datos. El concepto de leer diferentes secuencias de instrucciones de la memoria de un dispositivo para controlar cálculos fue inventado por Charles Babare como parte de su máquina diferencial. La teoría que forma la base de la mayor parte del software moderno fue propuesta por vez primera por Alan Turing en su ensayo de 1936, Los números computables, con una aplicación al problema de decisión (Entscheidungs problem). Actualmente se suele definir al software como “el conjunto de programas y procedimientos que hacen posible las operaciones de un computador o sistema en conjunto de hardware, siendo este último los componentes físicos que ejecuta las tareas enviadas por medio del software”. Para explicarlo de la manera más fácil y sencillamente entendible, podríamos decir que el software es un intermediario entre un sistema que ejecuta operaciones y un usuario, generalmente hombre – máquina, aunque también existen casos maquina – maquina en los que un computador es usuario de un proceso (de sí mismo o de otro ordenador) Entendiendo que el software puede ser binario, código fuente o ejecutable también abarca archivos y datos; para ser precisos es todo lo “intangible”, contrario al hardware que es todo lo “físico”. Este, a su vez comprende dos tipos según el área de especialización y al campo donde va dirigido los cuales son: Software de sistema. Software de programación. Software de aplicación.
  • 3. Siendo el primero aquel que se encarga de crear una interfaz entre el usuario y la máquina, generando una comunicación fácil y sencilla evitando a su vez que el primero vea los procesos internos que se ejecutan para lograr las tareas que realiza dicha máquina. El segundo tipo se caracteriza por ser un conjunto de herramientas que permite “crear” procesos y desarrollar programas usando varios lenguajes de programación proporcionando editores de texto, interpretes, depuradores, entre otros. Por último, el software de aplicación es aquel que permite realizar tareas que son de un campo especifico tales como bases de datos, software empresarial, por nombrar algunos y que pueden ser automatizados. En general se usan en sistemas contables, software de diseño, entre otros. Para realizar un software o crear uno, se debe generar por medio de procesos y reglas preestablecidas que deben ser aplicadas para su éxito. Este proceso puede ser sencillo o complejo, todo dependiendo de qué objetivos y necesidades se dicte para dicho programa. Para ello debe realizarse un estudio y cumplir con las siguientes etapas: • Análisis de requerimientos Los requerimientos se obtienen de los clientes y/o usuarios, en esta fase inicial se reúnen y especifican las funciones necesarias que deberá cumplir el sistema a desarrollar. Hay que tomar en cuenta que los usuarios y/o clientes no son expertos en programación, ellos solo tienen una idea general de lo que debería hacer el sistema, por otro lado los programadores son expertos en el desarrollo de sistemas, pero tienen muy poco conocimiento del ambiente diario de los usuarios, lo cual hace que lograr el equilibrio ideal en esta etapa sea la principal fuente de éxito del desarrollo del sistema, ya que en este se trazaran los objetivos a cumplir. Por lo que se necesita desarrollar buenos criterios para la toma de decisiones.
  • 4. Para lograr criterios certeros se deben tener algunos principios tales como: o Presentar y entender cabalmente el dominio de la información del problema. o Definir correctamente las funciones que debe realizar el Software. o Representar el comportamiento del software a consecuencias de acontecimientos externos, particulares, incluso inesperados. o Reconocer requisitos incompletos, ambiguos o contradictorios. o Dividir claramente los modelos que representan la información, las funciones y comportamiento y características no funcionales • Diseño Esta etapa se basa en “como” los requisitos van a lograrse. En otras palabras, como la estructura del software hará posibles dichas necesidades. • Codificación Esta etapa consiste en la “programación” de lo diseñado previamente y se caracteriza por necesitar más horas/hombre para su desarrollo. Mientras se traduce los requisitos en lenguaje de programación o codificación, es natural que se realicen tareas de depuración y evaluación, evitando así errores futuros. Durante la fase de programación existen varias formas de código para el desarrollo del mismo, y que pueden ser de tipo fuente, objeto y ejecutable. Todo
  • 5. esto dependiendo de lo que se necesite lograr y la manera más fácil y eficaz de trabajar. • Pruebas (unitarias y de integración) En esta fase se pueden destacar dos tipos de pruebas, las unitarias y de integración. La primera consiste en probar pequeñas partes del conjunto, como módulos, procedimientos, entre otros. Mientras que el segundo comprende el sistema completo para así garantizar el funcionamiento del sistema. Claro que para realizar este primero debe cumplir la prueba unitaria. • Instalación y paso a producción La instalación, no es más que transferir los datos al computador configurados para su uso. Esto quiere decir su entrega, y por lo tanto esta etapa es susceptible a futuros ajustes y configuraciones. • Mantenimiento Este se entiende como la mejora y optimización del producto desarrollado e instalado previamente y que comprende la depuración y configuración de funciones anexasen caso de existir alguna. Tomando en cuenta y entendiendo cada una de las etapas antes descritas, se encuentran sub-etapas, en el que el “modelo de proceso o ciclo de vida” empleado para el desarrollo de este, norma el orden y tareas involucradas para dicho proceso. Entre los ciclos más conocidos se destacan tres: • Cascada • Modelo en espiral • Modelo iterativo incremental.
  • 6. El primer tipo es el tradicional, el cual generalmente no se usa en su forma pura sino que se flexibiliza debido a que en su manera original es muy rígida. Cuando se usa en una de sus variantes se caracteriza por ser un software pequeño y sencillo y de gran eficacia. Claro está que para ello se realizan ajustes en los procesos para lograr una retroalimentación de etapas y así cumplir con los objetivos, así se obtiene el “modelo cascada retroalimentado”. Una de las desventajas de este modelo es que si se realizan cambias durante el proceso de desarrollo puede ocasionar confusión y el fracaso para dicho programa. El segundo modelo es uno de tipo evolutivo e iterativo, esto quiere decir que permite desarrollar versiones cada vez más complejas hasta llegar al objetivo siendo específico detallando absolutamente todo lo que el sistema debe hacer. Este modelo se construye en una serie de versiones incrementales. Dicho modelo se divide en “regiones de tareas”. En general existen entre tres y seis regiones de tareas. Este tiene como ventaja la capacidad de ir adaptándose y aplicarse a lo largo de todo el software. Además se adapta muy bien para desarrollos a gran escala, pero se debe tener gran experiencia para evaluar los riesgos. Este modelo se inicia generando un centro con una tarea específica y en el cual se basa el programa y luego se agregan capas de tareas, las cuales pueden ser sencillas o complejas dependiendo del proyecto a abarcar. Por lo general este tipo de modelo se usa en proyectos de gran escala y complejidad tales como navegadores y controladores aeronáuticos. De este modelo existe una variante, a la cual se refiere como espiral win & win. Este se basa en el ganar-ganar, traduciendo su nombre en español. Lo que se refiere a que su objetivo principal es satisfacer las necesidades del cliente mientras que el desarrollador del programa gana un buen presupuesto y el tiempo necesario para trabajar en el diseño del software. Para esto se debe tener habilidades de negociación para llegar a un acuerdo.
  • 7. En este modelo existen las siguientes premisas para abarcar el proyecto: • Identificación del sistema o subsistemas clave de los directivos (*) (saber qué quieren). • Determinación de «condiciones de victoria» de los directivos (saber qué necesitan y los satisface) • Negociación de las condiciones «victoria» de los directivos para obtener condiciones «Victoria & Victoria» (negociar para que ambos ganen). Por último se tiene el modelo iterativo o incremental. Este es uno de tipo “evolutivo” debido a que permite crear versiones de “estudio” o prototipos basándose en el modelo cascada y que depura en su desarrollo los ciclos hasta llegar a su producto final, en el cual ya han sido evaluados las operaciones y tomados como necesarios para su funcionamiento. En este tipo de software, el funcionamiento se basa en partes pequeñas que permiten su “reciclaje” o refiriéndose de otro modo, pueden ser reutilizables y son llamados incrementos. Estos se caracterizan por ser construidos sobre uno ya elaborado anteriormente y entregado (reutilizado). Dicho todo esto, se puede denotar que el modelo evolutivo permite una retroalimentación entre el cliente y el programador, debido a que se entrega una versión de prueba con funciones básicas y a medida que el cliente arroja evaluaciones para reajustar o agregar funciones se logra un diseño del software depurado y certero hasta cumplir totalmente con los objetivos trazados. Claramente, son muy factibles estos modelos evolutivos, debido a que es casi nulo que un cliente este consiente de todas las funciones que debería poseer dicho programa, por lo que da la ventaja al programador de reciclar el prototipo sin generar pérdidas en tiempo de ajuste y evaluación, aumentando así el éxito del producto.