michillo
El siguiente esquema se proporciona como descripción general y guía temática del desarrollo de software:
Desarrollo de software : desarrollo de unproducto de software , que implica programación informática (proceso de escritura y mantenimiento del código fuente ), y abarca un proceso planificado y estructurado desde la concepción del software deseado hasta su manifestación final. [1] Por lo tanto, el desarrollo de software puede incluir investigación, nuevos desarrollos, creación de prototipos, modificación, reutilización, reingeniería, mantenimiento o cualquier otra actividad que dé como resultado productos de software. [2]
Quétipo¿Qué es el desarrollo de software?
El desarrollo de software se puede describir como todo lo siguiente:
Ramas del desarrollo de software
- Ingeniería de software
- Programación de computadoras
- Desarrollo de videojuegos
- Desarrollo web
- Desarrollo de aplicaciones web
- Desarrollo de aplicaciones móviles
Historia del desarrollo de software
Participantes en el desarrollo de software
- Desarrollador de software
- Ingeniero de software
- Ingeniero de software consultor
- Programador de computadoras
- Editor de software
- Desarrollador web
Problemas de desarrollo de software
Gestión de proyectos de software
- Gestión de proyectos de software : el arte y la ciencia de planificar y dirigir proyectos de software. Es una subdisciplina de la gestión de proyectos en la que se planifican, supervisan y controlan los proyectos de software.
Estrategias de desarrollo de software
- I+D de software offshore : prestación de servicios de desarrollo de software por parte de un proveedor externo ubicado en un país geográficamente alejado de la empresa cliente; un tipo de subcontratación offshore .
Proceso de desarrollo de software
- Proceso de desarrollo de software
- Ciclo de vida del lanzamiento de software
- Etapas del desarrollo
- Liberar
- Liberación para fabricación (RTM)
- Versión de disponibilidad general (GA)
- Comunicado web (RTW)
- Apoyo técnico
- Fin de vida útil : finalización del soporte para un producto
- Ciclo de vida del lanzamiento de software
Actividades y pasos
- Análisis de requisitos
- Especificación funcional
- Arquitectura de software
- Diseño de software
- Programación de computadoras
- Pruebas de software
- Implementación de software
- Versión de software
- Instalación del producto
- Activación del producto
- Desactivación
- Adaptación
- Actualización de software
- Desinstalación
- Retirada de productos
- Mantenimiento de software
Metodologías de desarrollo de software
- Desarrollo de software orientado a aspectos
- Ingeniería de software para salas blancas
- Desarrollo iterativo e incremental
- Metodología de financiación incremental
- Desarrollo rápido de aplicaciones
- Proceso unificado racional de IBM
- Modelo espiral
- Modelo de cascada
- Programación extrema
- Desarrollo de software lean
- Melé
- Modelo V
- Desarrollo basado en pruebas (TDD)
Desarrollo de software ágil
- Equipo multifuncional
- Programación extrema
- Desarrollo iterativo e incremental
- Programación en pareja
- Autoorganización
- Bloqueo de tiempo
Disciplinas de apoyo
- Programación de computadoras
- Documentación del software
- Ingeniería de software
- Garantía de calidad del software (SQA)
- Diseño de experiencia de usuario
Herramientas de desarrollo de software
Educación relevante para el desarrollo de software
- Licenciatura en informática : tipo de licenciatura otorgada para el estudio de la informática, que pone énfasis en los fundamentos matemáticos y teóricos de la informática, en lugar de enseñar tecnologías específicas que pueden quedar obsoletas rápidamente. Este tipo de título es una licenciatura inicial común para quienes ingresan al campo del desarrollo de software.
Organizaciones de desarrollo de software
Si bien la industria de la tecnología de la información (TI) experimenta cambios más rápido que cualquier otro campo, la mayoría de los expertos técnicos coinciden en que es necesario contar con una comunidad a la que consultar, aprender o compartir experiencias. A continuación, se incluye una lista de organizaciones de desarrollo de software conocidas.
- Estándares profesionales de la Asociación de Ingenieros y Técnicos en Informática (ACE – ACET) dentro de la industria de TI.
- La Association for Computing Machinery (ACM) es una de las comunidades científicas más grandes y antiguas que se dedican a la informática y la tecnología. Abarca una amplia gama de temas, entre ellos el comercio electrónico, la bioinformática y las redes.
- La Asociación de Profesionales Independientes de la Información (AIIP) es una asociación para profesionales de la información que trabajan de forma independiente o dentro de industrias relacionadas.
- La Asociación de Profesionales de Tecnologías de la Información (AITP) es una comunidad mundial que se centra en la educación en tecnologías de la información y ayuda a conectar a expertos de diferentes campos de TI.
- ASIS International (ASIS) es la comunidad líder que conecta a profesionales de seguridad de todo el mundo.
- La Asociación de Profesionales de Shareware (ASP) conecta a desarrolladores y especialistas técnicos que trabajan con servicios y aplicaciones bajo el principio de "probar antes de comprar".
- La Asociación de Mujeres en Informática (AWC) organiza eventos educativos y de networking para especialistas en tecnología femenina con el fin de aumentar la participación de mujeres en la industria.
- Black Data Processing Associates (BDPA) reúne a una comunidad de afroamericanos que trabajan en tecnología de la información para el crecimiento educativo y profesional.
- La Asociación de la Industria de Computadoras y Comunicaciones (CCIA) aboga por mercados abiertos, sistemas y competencia.
- La Asociación de la Industria de Tecnología Informática (CompTIA) proporciona certificaciones para la industria de TI, además de educar a individuos y grupos sobre los cambios y tendencias de la industria.
- Computer Professionals for Social Responsibility (CPSR) es una organización que se ocupa del impacto de la tecnología en la sociedad. El grupo ofrece una evaluación del desarrollo tecnológico y su impacto en diversos ámbitos de la vida.
- El Centro de Datos y Análisis de Software (DACS) recopila y sirve información sobre diversas entidades y el software que producen, así como su confiabilidad.
- EDUCAUSE es una organización sin fines de lucro cuya misión es "promover la educación superior a través de la tecnología de la información".
- La Asociación Europea de Fabricantes de Ordenadores (ECMA) es una organización europea que facilita estándares y sistemas de información y comunicación.
- La Asociación Internacional de Ingenieros (IAENG) es una asociación internacional que solía ser una red privada. En la actualidad, organiza anualmente el Congreso Mundial de Ingeniería para I+D e ingenieros.
- La Sociedad de Computación del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) brinda servicios educativos a sus miembros en todo el mundo. Esta sociedad tiene una de las redes más grandes y ofrece numerosos beneficios a sus miembros.
- La Asociación de Seguridad de Sistemas de Información (ISSA) es una organización sin fines de lucro que fomenta el uso de prácticas para proteger la confidencialidad y la integridad de los recursos de información.
- La Network Professional Association (NPA) alienta a sus miembros a adherirse al código de ética, seguir las últimas mejores prácticas y dedicarse a la autoeducación continua.
- La Asociación de la Industria de Servicios Tecnológicos (TSIA) es una asociación profesional que ofrece servicios de investigación y asesoramiento.
- La Sociedad para la Comunicación Técnica (STC) ofrece apoyo e intercambio de conocimientos a especialistas involucrados en la comunicación técnica y campos relacionados.
- User Experience Professionals Association (UXPA) es una organización que comparte conocimientos sobre UX y ayuda a sus miembros a crecer, desarrollar y mejorar sus productos.
- Women in Technology (WIT) aboga por la educación de representantes femeninas en la industria, desde la formación elemental hasta los programas avanzados.
Publicaciones sobre desarrollo de software
- Tiempos SD
- El programador pragmático
- Patrones de diseño: elementos de software reutilizable y orientado a objetos
- Introducción a los algoritmos
- Estructura e interpretación de programas informáticos
Personas influyentes en el desarrollo de software
Creadores y diseñadores del lenguaje
- Kathleen Booth ( Asamblea )
- Bjarne Stroustrup ( C++ )
- Brendan Eich ( JavaScript )
- James Gosling ( Java )
- Guido van Rossum ( Python )
Influenciadores del diseño de software
Véase también
- Activación del producto
- Plano de software
- Diseño de software
- Estimación del esfuerzo de desarrollo de software
- Esquema de diseño y desarrollo web
- Esquema de ingeniería de software
Referencias
- ^ "Desarrollo de aplicaciones (AppDev) definido y explicado".
- ^ DRM Associates (2002). "Glosario de desarrollo de nuevos productos" . Consultado el 29 de octubre de 2006 .