domingo, 13 de octubre de 2019

PORTADA

INSTITUTO  DANIEL QUIROZ 

CATEDRATICO: OSCAR MODESTO CLAROS

   AUMNOS:          INGRIS JACKELINE VASQUEZ
                                                                    NAHUN WILFREDO URBINA

                        TEMA:                    Ingeniería de software

      

 

LUGAR: YORO YORO

 

IIIBTPI


¿Qué es Ingeniería de software?


Ingeniería de software en la actualidad


En la actualidad el software tiene un doble papel. Es el producto, pero al mismo tiempo, actúa como el conductor que entrega el producto. Como conductor  utilizado para entregar el producto, actúa como base de control, por ejemplo un sistema operativo, o un sistema gestor de redes.
El software actúa como distribuidor y hace llegar a los usuarios, el producto más importante del este siglo: la información.
El software modifica la información personal para hacerlos más útiles en un entorno local, administra información comercial para mejorar la competitividad, facilita el acceso a redes a nivel mundial, y propone la forma de obtener información de cualquier manera.

Para ser ingeniero de software se necesita:



  • Capacidad de resolución de problemas.
  • Un enfoque lógico y metódico de su trabajo.
  • Prestar atención a los detalles.
  • Compromiso para trabajar con los proyectos de principio a fin.
  • Un elevado nivel de conocimientos técnicos.
  • Mantenerse al día sobre los cambios en nuevas tecnologías.
  • Excelentes habilidades interpersonales.
  • Habilidades de comunicación escrita para presentar propuestas e informes a los clientes, y para escribir las instrucciones y manuales de los programas.
  • Una gran capacidad de comunicación para enseñar a los clientes a utilizar los nuevos programas.
  • Comprensión del tipo de actividades empresariales del cliente y de sus necesidades de TIC.
  • Trabajar bien por cuenta propia y con demás miembros de los equipos.
  • Estar bien organizado y trabajar bien bajo presión para cumplir con los plazos de entrega.

¿Cuál es el trabajo de un ingeniero de software?


Los ingenieros de software están involucrados en todas las etapas del desarrollo de un producto de software. Aplican la tecnología de software para satisfacer una necesidad específica o para resolver un problema particular.

Sus funciones podrían implicar el análisis de un sistema existente, diseñando un nuevo software e indicando el modo de funcionamiento y las características que tendrá (especificación TIC), el diseño del sistema y luego la creación de un código informático que permite entenderlo. Los ingenieros de software deben probar este código para asegurarse de que el ordenador puede funcionar sin problemas.

Al inicio de un proyecto, los ingenieros del software deben conocer el negocio del cliente y sus necesidades y problemas particulares.

A continuación, trabajan con sus clientes para ponerse de acuerdo sobre las cuestiones más importantes, como el hardware y el software que necesitan, y los costes y plazos de entrega, así como la definición de una propuesta para los productos software final.

sábado, 12 de octubre de 2019

Modelos y ciclos de vida del Desarrollo de Software



La ingeniería de software, con el fin de ordenar el caos que era anteriormente el desarrollo de software, dispone de varios modelos, paradigmas y filosofías de desarrollo, estos los conocemos principalmente como modelos o ciclos de vida del desarrollo de software, esto incluye el proceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega y el retiro del sistema y representa todas las actividades y artefactos (productos intermedios) necesarios para desarrollar una aplicación.

El ciclo de vida de un software contiene 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. Este 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.


·        Implementancion

·  Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).



Ventajas Y Desventajas de LA Ingenieria de software


Desde el punto de vista de gestión

·         Facilitar la tarea de seguimiento del proyecto
·         Optimizar el uso de recursos
·         Facilitar la comunicación entre usuarios y desarrolladores
·         Facilitar la evaluación de resultados y cumplimiento de objetivos

Desde el punto de vista de los ingenieros de software

·         Ayudar a comprender el problema
·         Permitir la reutilización
·         Facilitar el mantenimiento del producto final
·         Optimizar el conjunto y cada una de las fases del proceso de desarrollo

Desde el punto de vista de cliente o usuario final

·         Garantizar el nivel de calidad del producto final
·         Obtener el ciclo de vida adecuado para el proyecto
·         Confianza en los plazos del tiempo mostrados en la definición del proyecto.

Desventajas:
*Comprar puede ser más caro que construir.
*Costo de herramientas integradas y equipo necesario.
*Progreso más difícil de medir.
*Menos eficiente.
*Menor precisión científica.
*Riesgo de revertirse a las prácticas sin control de antaño.
*Más fallas (por síndrome de "codificar a lo bestia").
*Prototipos pueden no escalar, un problema mayúsculo.
*Funciones reducidas (por "timeboxing").
*Dependencia en componentes de terceros: funcionalidad de más o de

Menos, problemas legales.