Descripción general y guía temática de la ingeniería de software.
El siguiente esquema se proporciona como una descripción general y una guía temática de la ingeniería de software:
Ingeniería de software : aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software ; esa es la aplicación de la ingeniería al software . [1]
El sistema ACM Computing Classification es una ontología polijerárquica que organiza los temas del campo y puede usarse en aplicaciones web semánticas y como un sistema de clasificación estándar de facto para el campo. La sección principal "Software y su ingeniería" proporciona un esquema y una ontología para la ingeniería de software.
Aplicaciones de software
Los ingenieros de software crean software ( aplicaciones , sistemas operativos , software de sistema ) que la gente usa.
Las aplicaciones influyen en la ingeniería de software al presionar a los desarrolladores para que resuelvan problemas de nuevas maneras. Por ejemplo, el software de consumo enfatiza el bajo costo, el software médico enfatiza la alta calidad y el software de comercio por Internet enfatiza el rápido desarrollo.
- Software de negocios
- Analítica
- Reservas aéreas
- Bancario
- Comercio
- Compiladores
- Comunicación
- Gráficos de computadora
- Criptografía
- Bases de datos , soportan casi todos los campos.
- Sistemas integrados Tanto los ingenieros de software como los ingenieros tradicionales escriben sistemas de control de software para productos integrados.
- Ingeniería Todas las ramas tradicionales de la ingeniería utilizan ampliamente el software. Los ingenieros utilizan hojas de cálculo más que nunca calculadoras. Los ingenieros utilizan herramientas de software personalizadas para diseñar, analizar y simular sus propios proyectos, como puentes y líneas eléctricas. Estos proyectos se parecen al software en muchos aspectos, porque el trabajo existe como documentos electrónicos y pasa por fases de análisis, diseño , implementación y prueba. Las herramientas de software para ingenieros utilizan los principios de la informática; así como los principios del cálculo, la física y la química.
- Archivo
- Finanzas
- Juegos
- Los sistemas de información soportan casi todos los campos.
- LIS Gestión de datos de laboratorio.
- MIS Gestión de datos financieros y de personal.
- Logística
- Fabricación
- Música
- Administración de redes
- Redes e Internet
- suites de oficina
- Sistemas operativos
- Robótica
- Procesamiento de señales , codificación e interpretación de señales.
- Simulación , soporta casi todos los campos.
- Ingeniería : Una simulación de software puede ser más barata de construir y más flexible de cambiar que un modelo de ingeniería física.
- Ciencias
- Ciencias
- Control de trafico
- Capacitación
- Visualización , compatible con casi todos los campos.
- Votación
- World Wide Web
Temas de ingeniería de software
Paradigma de programación, basado en una tecnología de lenguaje de programación.
Bases de datos
Interfaces gráficas de usuario
Herramientas de programación
Bibliotecas
Lenguajes de diseño
Patrones, documentan muchas técnicas comunes de programación y gestión de proyectos.
Procesos y metodologías
- Ágil
- De peso pesado
- Modelos de proceso
- Metamodelos
Plataformas
Una plataforma combina hardware informático y un sistema operativo. A medida que las plataformas se vuelven más potentes y menos costosas, las aplicaciones y herramientas aumentan su disponibilidad.
Otras prácticas
Otras herramientas
temas de informatica
Los ingenieros de software cualificados saben mucho de informática, incluido lo que es posible e imposible y lo que es fácil y difícil para el software.
Temas de matematicas
Las matemáticas discretas son una base clave de la ingeniería de software .
Otro
Fases del ciclo de vida
Entregables
Se deben desarrollar entregables para muchos proyectos de SE. Los ingenieros de software rara vez elaboran todos estos resultados por sí mismos. Por lo general, cooperan con los redactores, formadores, instaladores, especialistas en marketing, personal de soporte técnico y otras personas que elaboran muchos de estos productos.
- Software de aplicación: el software
- Base de datos : esquemas y datos.
- Documentación , en línea y/o impresa, preguntas frecuentes , archivo Léame , notas de la versión , ayuda , para cada función
- Política de administración y mantenimiento , qué se debe respaldar, verificar, configurar, ...
- Instaladores
- Migración
- Actualización desde instalaciones anteriores
- Actualización desde instalaciones de la competencia
- Materiales de formación , para cada rol.
- Información de soporte para grupos de soporte informático.
- Materiales de marketing y ventas.
- Libros blancos , explican las tecnologías utilizadas en las aplicaciones.
Roles comerciales
Temas de gestión
Temas de negocios
Profesión de ingeniería de software.
Historia de la ingeniería de software.
Historia de la ingeniería de software.
Pioneros
Muchas personas hicieron importantes contribuciones a las tecnologías, prácticas o aplicaciones de SE.
- John Backus : Fortran , primer compilador optimizador, BNF
- Victor Basili : Fábrica de experiencias.
- FL Bauer : Principio de pila , popularizó el término Ingeniería de Software
- Kent Beck : refactorización , programación extrema , programación en pares , desarrollo basado en pruebas .
- Tim Berners-Lee : World Wide Web
- Barry Boehm : economía SE , COCOMO , modelo espiral .
- Grady Booch : Diseño orientado a objetos , UML .
- Fred Brooks : Sistema Gestionado 360 y OS 360 . Escribió El mes del hombre mítico y No Silver Bullet .
- Larry Constantine : Diseño estructurado , acoplamiento , cohesión
- Edsger Dijkstra : Escribió notas sobre programación estructurada , una disciplina de programación y declaración Go To considerada dañina , algoritmos , métodos formales , pedagogía .
- Michael Fagan : Inspección de software .
- Tom Gilb : métricas de software , inspección de software , entrega evolutiva ("Evo") .
- Adele Goldstine : escribió el manual del operador de ENIAC , la primera computadora digital electrónica, y entrenó a algunas de las primeras computadoras humanas.
- Lois Haibt : FORTRAN , escribió el primer analizador.
- Margaret Hamilton : acuñó el término "ingeniería de software", desarrolló el lenguaje de sistemas universales.
- Mary Jean Harrold : Pruebas de regresión , localización de fallos
- Grace Hopper : El primer compilador (Mark 1), COBOL , Nanosegundos .
- Watts Humphrey : Modelo de Madurez de Capacidades , Proceso de Software Personal , miembro del Instituto de Ingeniería de Software .
- Jean Ichbiah : Ada
- Michael A. Jackson : Programación estructurada de Jackson , Desarrollo del sistema Jackson
- Bill Joy : Berkeley Unix , vi , Java .
- Alan Kay : pequeña charla
- Brian Kernighan : C y Unix.
- Donald Knuth : escribió El arte de la programación informática , TeX , algoritmos , programación alfabetizada
- Nancy Leveson : Seguridad del sistema
- Bertrand Meyer : Diseño por contrato , lenguaje de programación Eiffel .
- Peter G. Neumann : Resumen de RIESGOS , ACM Sigsoft.
- David Parnas : Diseño de módulos, responsabilidad social, profesionalismo.
- Jef Raskin : desarrolló la GUI original de Macintosh y fue autor de The Humane Interface.
- Dennis Ritchie : C y Unix .
- Winston W. Royce : modelo de cascada .
- Mary Shaw : arquitectura de software .
- Richard Stallman : Fundador de la Fundación de Software Libre
- Linus Torvalds : kernel de Linux , software libre / desarrollo de código abierto .
- Will Tracz: Reutilización, Notas de ingeniería de software de ACM.
- Gerald Weinberg : Escribió La psicología de la programación informática .
- Elaine Weyuker : pruebas de software
- Jeannette Wing : Especificaciones formales .
- Ed Yourdon : Programación estructurada , escribió The Decline and Fall of the American Programmer .
Ver también
Publicaciones destacadas
- About Face: The Essentials of User Interface Design de Alan Cooper , sobre diseño de interfaz de usuario. ISBN 0-7645-2641-3
- El modelo de madurez de capacidades de Watts Humphrey . Escrito para el Instituto de Ingeniería de Software , haciendo énfasis en gestión y proceso. (Ver Gestión del proceso de software ISBN 0-201-18095-2 )
- La Catedral y el Bazar de Eric Raymond sobre el desarrollo de código abierto.
- La decadencia y caída del programador estadounidense por Ed Yourdon predice el fin del desarrollo de software en los EE. UU. ISBN 0-13-191958-X
- Patrones de diseño de Erich Gamma , Richard Helm , Ralph Johnson y John Vlissides . ISBN 0-201-63361-2
- Programación extrema explicada por Kent Beck ISBN 0-321-27865-8
- "Ir a Declaración considerada nociva" por Edsger Dijkstra .
- "Internet, innovación y código abierto: actores en la red" - Artículo del primer lunes de Ilkka Tuomi (2000) fuente
- The Mythical Man-Month de Fred Brooks , sobre gestión de proyectos. ISBN 0-201-83595-9
- Análisis y diseño orientado a objetos de Grady Booch . ISBN 0-8053-5340-2
- Peopleware de Tom DeMarco y Tim Lister. ISBN 0-932633-43-9
- El ingeniero pragmático versus el diseñador científico por EW Dijkstra [1]
- Principios de Gestión de Ingeniería de Software de Tom Gilb sobre procesos evolutivos. ISBN 0-201-19246-2
- La psicología de la programación informática de Gerald Weinberg . Escrito como consultor independiente, en parte sobre sus años en IBM. ISBN 0-932633-42-0
- Refactorización: mejora del diseño del código existente por Martin Fowler , Kent Beck , John Brant, William Opdyke y Don Roberts. ISBN 0-201-48567-2
- El programador pragmático: de oficial a maestro por Andrew Hunt y David Thomas . ISBN 0-201-61622-X
- Cuerpo de conocimientos de ingeniería de software (SWEBOK) ISO/IEC TR 19759
Campos relacionados
Ver también
Referencias
enlaces externos
- Sistema de clasificación informática ACM
- Guía del cuerpo de conocimientos de ingeniería de software (SWEBOK)
- Organizaciones profesionales
- Sociedad Británica de Computación
- Asociación para Maquinaria de Computación
- Sociedad de Computación IEEE
- Profesionalismo
- Código de Ética de SE
- Licencia profesional en Texas
- Educación
- Plan de estudios de pregrado CCSE
- Estándares
- Estándares de ingeniería de software IEEE
- Grupo de Trabajo de Ingeniería de Internet
- YO ASI
- Organizaciones gubernamentales
- Instituto Europeo de Software
- Instituto de Ingeniería de Software
- Ágil
- Organización para promover el desarrollo de software ágil
- Desarrollo impulsado por pruebas
- Programación extrema
- Otras organizaciones
- Comunidad en línea para ingenieros de software
- Sociedad de Ingeniería de Software
- Demografía
- Oficina de Estadísticas Laborales de EE. UU. sobre SE
- Encuestas
- Página de David Redmiles del sitio de la Universidad de California
- Otro
- Texto completo en PDF de la conferencia de la OTAN en Garmisch
- Riesgos informáticos Columna de riesgos de Peter G. Neumann .