Ingeniería web ll actividad 1

马上开始. 它是免费的哦
注册 使用您的电邮地址
Ingeniería web ll actividad 1 作者: Mind Map: Ingeniería web ll actividad 1

1. En la década de los 60 inicio un cambio en la forma en que se implementaba el software, de una manera más empírica a una manera más técnica vista desde la ingeniería, de aquí surgió la ingeniería de software con un objetivo de dar una técnica al desarrollo del software. Para ese momento cada software se debía adaptar individualmente a cada tipo de negocio, lo que hacia que los tiempos de producción y mantenimiento fueran muy elevados, a partir de este problema se creó la necesidad de implementar técnicas que ayudaran a modificar el software en vez de crearlo desde 0 nuevamente.

2. Surgimiento

3. Características

4. Antecedentes

5. Evolución

6. - El software se desarrolla no se fabrica, debido a esto los costes de los proyectos de software no se pueden manejar como un proyecto de fabricación. - El software es un producto intangible, por lo que este no presenta fallas por culpa del entorno, si este presenta fallos, deben ser detectados y corregidos en sus primeras etapas de desarrollo - El software se produce a medida, a diferencia de otras industrias donde se construyen productos genéricos, en la actualidad se desarrollan software que sirven de bases para personalizar otros productos acordes a la necesidad del usuario - Se relaciona a todos los aspectos de la producción, no solo a la parte técnica, sino también a la parte administrativa, de innovación y distintos métodos y teorías para apoyar la producción efectiva del software.

7. La ingeniería de software se creó con la finalidad de poder controlar diversos procesos que requerían de un hardware, que, inicialmente era manejado por un operador, lo que implicaba capacitación de nivel elevado para una persona, lo que, en caso de requerir un reemplazo, este debía estar al mismo nivel para no cometer errores, la solución a esto por costos y capacitación fue el software, el cual automatizaba gran parte de los procesos con una sola instrucción, lo que redujo costos y la capacitación o conocimiento necesario del operador no debía ser muy alto. Debido a esto con el tiempo se han implementado diferentes tipos de software que han facilitado cada vez más la interacción y comprensión del usuario, pero a su vez ha elevado el costo de producción de este, sin embargo un software puede perdurar y adaptarse fácilmente a los cambios, mientras un operador no lo hacía, especialmente en la época actual donde el tiempo de vida es bastante poco, el adaptar el software y que este evolucione, es una parte fundamental de la ingeniería de software.

8. Década de los 40 y 50: en esta época era primordial el desarrollo del hardware y el software era desarrollado por los mismos diseñadores del hardware.

9. Década de los 60: Se empieza a diferenciar la importancia del software con la del hardware, en esta época se empezó a analizar ideas como la reutilización o la arquitectura de software que hasta el momento no existía.

10. Década de los 70: Los costos de producción de software empezaron a superar los costos de producción del hardware, por lo que se inició con la producción de modelo de ciclo de vida como el de cascada, se inició con las metodologías estructuradas que dieron un avance importante en el análisis y diseño del software.

11. Década de los 80: Aparecen las herramientas CASE en respuesta a la necesidad de automatizar parte del ciclo de vida del software, se difundieron los lenguajes de programación que, aunque estos existían desde los 60, fue hasta los 80 cuando se difundieron de manera general.

12. Década de los 90: Se desarrollan tanto las normas de calidad como las ISO para determinar la calidad de un proceso de desarrollo de software, así como la programación orientada a objetos para el desarrollo de sistemas informáticos, esto llevo a los profesionales a adquirir buenas prácticas para el desarrollo y construcción de software.

13. Década de los 2000: Surgen los métodos híbridos que combinan la adaptabilidad de los métodos ágiles con la formalidad de los métodos más rigurosos, en la actualidad contamos con este tipo de metodologías principalmente el Scrum para el desarrollo y construcción ágil de software.

14. Década 2010: En esta década se afianzan los conocimientos anteriores y se le da una importancia especial a la ciencia y gestión de la ingeniería de servicio, la cual requiere enfocarse en varios grupos como informática, marketing, gestión de proyectos, derecho en la parte legal, diseño de cara al usuario, seguridad de la información, etc.

15. Alcance

16. Enfoque

17. Localización

18. Componentes

19. En ingeniería de software se deben definir y comprender correctamente, los procesos necesarios para el desarrollo de un producto, si estos no son claros se presentaran problemas en el futuro, si estos procesos no existen, el proyecto no tiene alcance a ningún publico. Esto se construye partiendo de los entregables que se van a realizar, los riesgos existentes, escenario presupuestos y restricciones que competen al proceso de desarrollo. Para lograr esto, se deben establecer objetivos claros, los cuales deben ser asequibles, definitivos, cuantificables y de una duración especifica. Las especificaciones de requisitos del software deben documentar las características del software, indicar la relación entre el producto o servicio y la necesidad del negocio y los detalles iniciales.

20. La ingeniaría de software tiene un enfoque sistemático, es decir, una serie de actividades y procesos aprobados para la producción de software, comúnmente llamado ciclo de vida del software, el cual inicia desde el contacto con un posible cliente o usuario hasta su etapa de mantenimiento luego de que el desarrollo esté completado.

21. Actualmente podemos encontrar software en casi cada tarea cotidiana de nuestra vida, existen software que controlan procesos industriales, generalmente de bajo nivel, debido a que las tareas automatizadas del sector industrial son tareas repetitivas que no requieren demasiada interacción con el usuario. Pasamos luego al software genérico para usuarios comunes como los son los sistemas operativos que cuentan con una interfaz gráfica, ejemplos de estos son los SO para computadores y los SO para teléfonos móviles. Luego tenemos los software personalizados y especializados para cierta tarea, dentro de estos se encuentra una amplia gamma, desde software de diseño industrial, de piezas 3D, arquitectónicos, y los de negocio, diseñados especialmente para empresas de distintos sectores del comercio. Por último tenemos los software de inteligencia artificial, que aunque poco implementados principalmente en Latinoamérica, estos han tenido un auge en países con mejor estudio del software, este tipo de software puede aprender por sí mismo con distintos tipos de programación como puede ser la supervisada, la no supervisada y la de retroalimentación, donde el software de "enseña" a sí mismo a partir del ensayo y error, en un futuro se podrá ver en varias aplicaciones prácticas, que repercutirán directamente en la economía del mundo.

22. Los componentes de software son paquetes, servicios o módulos que tienen un conjunto de funciones o datos, estos se colocan de tal manera que puedan ser relacionados con funciones o llamados, por lo cual se dice que son modulares y cohesivos. Los componentes se pueden comunicar entre ellos a través de interfaces, el usuario de esta interfaz no tiene necesidad de saber como funcionan estas por debajo del sistema, solo las instrucciones o datos que necesita el método para funcionar. Los componentes son sustituibles, esto quiere decir que los componentes pueden ser reemplazados por otros que cumplan la misma funcionalidad o requisitos del componente que se va a sustituir, con esto se pueden actualizar los componentes o alternar con otros, sin afectar el sistema. Los componentes pueden ser vistos como objetos o colecciones de estos. La reusabilidad es una característica importante en un componente, si un componente tiene esta característica es un componente robusto, que ha sido testeado en múltiples ocasiones, tiene una documentación formal, tiene la capacidad de devolver códigos de error y está diseñado para usos imprevistos.