Ingeniería de
software
Ingeniería de software es la aplicación de un enfoque
sistemático, disciplinado y cuantificable al desarrollo, operación y
mantenimiento de software, y el estudio de estos enfoques, es decir, la
aplicación de la ingeniería al software Es la aplicación de la ingeniería al
software, ya que integra matemáticas, ciencias de la computación y prácticas
cuyos orígenes se encuentran en la ingeniería.
La creación del software es un proceso intrínsecamente
creativo y la ingeniería del software trata de sistematizar este proceso con el
fin de acotar el riesgo del fracaso en la consecución del objetivo creativo por
medio de diversas técnicas que se han demostrado adecuadas en base a la
experiencia previa.
Tendencias actuales en la ingeniería de software
La ingeniería de software es una disciplina joven y aún está en
desarrollo. Las direcciones en que la ingeniería de software se está
desarrollando incluyen:
Aspectos
Los aspectos ayudan a los ingenieros de software a lidiar
con los atributos de calidad al proporcionar herramientas para añadir o quitar código
repetitivo de muchas áreas en el código fuente. Los aspectos describen cómo
todos los objetos o funciones deben comportarse en circunstancias particulares.
Por ejemplo, los aspectos puede agregar control de depuración, registro o bloqueo
en todos los objetos de un tipo particular.
ágil
El desarrollo ágil de software guía a los proyectos de
desarrollo de software que evolucionan rápidamente con cambiantes expectativas
y mercados competitivos. Los proponentes de este método creen que procesos
pesados, dirigidos por documentos (como TickIT, CMM e ISO 9000) están
desapareciendo en importancia.Algunas personas creen que las empresas y
agencias exportan muchos de los puestos de trabajo que pueden ser guiados por
procesos pesados. Conceptos relacionados incluyen la programación extrema, scrum
y lean software development.
Experimental
La ingeniería de software experimental es una rama de la
ingeniería de software interesada en la elaboración de experimentos sobre el
software, en la recolección de datos de los experimentos y en la elaboración de
leyes y teorías desde estos datos. Los proponentes de este método defienden que
la naturaleza del software es tal que podemos hacer avanzar el conocimiento en
software a través de sólo experimentos.
Soporte técnico
El soporte técnico es un rango de servicios que proporcionan
asistencia con el hardware o software de una computadora, o algún otro
dispositivo electrónico o mecánico. En general los servicios de soporte técnico
tratan de ayudar al usuario a resolver determinados problemas con algún
producto en vez de entrenar o personalizar. En general, el servicio de soporte
técnico sirve para ayudar a resolver los problemas que puedan presentárseles a
los usuarios, mientras hacen uso de servicios, programas o dispositivos.
Las compañías e instituciones también tienen generalmente soporte
técnico interno para empleados, estudiantes y otros asociados.
Tipos de soporte
El soporte técnico se puede dar por distintos tipos de
medio, incluyendo el correo electrónico, chat, software de aplicación, faxes, y
técnicos, aunque el más común es el teléfono. En los últimos 2 años hay una
tendencia a la prestación de soporte técnico en remoto, donde un técnico se
conecta al ordenador mediante una aplicación de conexión remota.
Programador
Un programador es aquella persona que escribe, depura y
mantiene el código fuente de un programa informático, es decir, del conjunto de
instrucciones que ejecuta el hardware de una computadora para realizar una
tarea determinada. La programación es una de las principales disciplinas dentro
de la informática. En la mayoría de los países, programador es también una categoría
profesional reconocida.
Los programadores también reciben el nombre de desarrolladores
de software, aunque estrictamente forman parte de un equipo de personas de
distintas especialidades (mayormente informáticas), y siendo que el equipo es
propiamente el desarrollador.
Especialidades
Programadores de mainframe. Aunque se cree extinta la
actividad en los viejos grandes sistemas informáticos, lo cierto es que aún
existen muchos en funcionamiento que requieren mantenimiento. Entre sus
conocimientos se cuenta COBOL, RPG, JCL, base de datos jerárquicas, etc.
Programadores de "Nuevas Tecnologías". Esta es una
rama que gira en torno a Internet, los nuevos servicios como la Web 2.0 y los
negocios por medios electrónicos o e-commerce. Entre sus conocimientos destacan
lenguajes del lado del servidor como Java, ASP, .NET, JSP, PHP, Ruby, Python o Perl,
y lenguajes del lado de cliente como HTML, XHTML, CSS, Javascript ó AJAX
(conjunto de tecnologías existentes como XML y Javascript).
Programadores de Firmware y videojuegos. Destacan sus
conocimientos de hardware, Microprocesadores, ensamblador y C.
Programadores de sistemas abiertos. Rama asociada a la Arquitectura
Cliente-Servidor. Requiere conocimientos de C, Pascal, etc.
Analista de
sistemas
Analista de Sistema: puede referirse al encargado del
desarrollo de aplicaciones en lo que respecta a su diseño y obtención de los
algoritmos, así como de analizar las posibles utilidades y modificaciones
necesarias de los sistemas operativos para una mayor eficacia de un sistema
informático. Otra misión de estas personas es dar apoyo técnico a los usuarios
de las aplicaciones existentes.
Orígenes
En sus inicios, la industria del software adoptó un enfoque
organizativo tayloriano, al igual que la mayoría de las industrias del momento.
Bajo tal enfoque, el proceso de construcción de software se concibe como un
conjunto de tareas altamente especializadas donde está claramente definido el
papel de cada categoría profesional:
El analista tiene como cometido analizar un problema y
describirlo con el propósito de ser solucionado mediante un sistema
informático.
El diseñador realiza, con base en el análisis, el diseño de
la solución
El analista tiene que delimitar el análisis para ver lo que
se quiere hacer inicialmente y después darle al usuario nuevas
Perfil tradicional del analista
Los conocimientos que requiere son aquellos relacionados con
las técnicas de análisis de sistemas de información:
Conocimiento del paradigma tradicional de la ingeniería del
software y del tradicional ciclo de vida del software en cascada.
Modelado funcional: Diagrama de flujo de datos, diagrama de
estado, etc.
Modelado de datos y sus técnicas: Diagrama entidad-relación,
modelo relacional, etc.
Conocimiento de la tecnología: arquitectura de software, bases
de datos, etc

Diseño web
El diseño web es una actividad que consiste en la
planificación, diseño e implementación de sitios web. No es simplemente una aplicación
de diseño convencional, ya que requiere tener en cuenta la navegabilidad, interactividad,
usabilidad, arquitectura de la información y la interacción de medios como el audio,
texto, imagen, enlaces y vídeo.
El diseño web ha visto amplia aplicación en los sectores
comerciales de Internet especialmente en la World Wide Web. A menudo la web se
utiliza como medio de expresión plástica en sí. Artistas y creadores hacen de
las páginas en Internet un medio más para ofrecer sus producciones y
utilizarlas como un canal más de difusión de su obra.
Diseño web aplicado
El diseño de páginas web se trata básicamente de realizar un
documento con información hiperenlazado con otros documentos y asignarle una
presentación para diferentes dispositivos de salida (en una pantalla de computador,
en papel, en un teléfono móvil, etc)
Etapas
El diseño visual de la información que se desea editar. En
esta etapa se trabaja distribuyendo el texto, los gráficos, los vínculos a
otros documentos y otros objetos multimedia que se consideren pertinentes. Es
importante que antes de trabajar sobre el computador se realice un boceto o
prediseño sobre el papel.
Estructura y relación jerárquica de las páginas
del sitio web. Una vez que se tiene el boceto se pasa a 'escribir' la página
web. Para esto, y fundamentalmente para manejar los vínculos entre documentos,
se eño y obtención de los
algoritmos, así como de analizar las posibles utilidades y modificaciones
necesarias de los sistemas operativos para una mayor eficacia de un sistema
informático.




No hay comentarios.:
Publicar un comentario