lunes, 24 de noviembre de 2014

Etica En la Profesion



¿Cuáles son los retos fundamentales que afronta la ingeniería del software?
   ·         Reto de la heterogeneidad: desarrollar técnicas para desarrollar software confiable y flexible para la diversidad de necesidades.
   ·         Reto de entrega: lograr entregar el trabajo a tiempo y en forma evitando la mayor parte de contratiempos.
   ·         Reto de la confianza: lograr que el cliente se sienta seguro de que el sistema podrá satisfacer las necesidades.
   ·         Retos no independientes: desarrollo constante de aplicaciones y sistemas innovadores con las nuevas tecnologías.
 Responsabilidad profesional y ética  
 La ingeniería del software se lleva a cabo dentro de un marco legal y social que limita la libertad de los ingenieros.
  Los ISW deben aceptar que su trabajo comprende responsabilidades más amplias que simplemente la aplicación de habilidades técnicas.
  Deben comportarse de una forma ética y moral responsable.
  No debería utilizar su capacidad y sus habilidades para comportarse de forma deshonesta o de forma que deshonre.
 Existen áreas donde los estándares de comportamiento aceptable no están acotados por las leyes, sino por la responsabilidad profesional.
1.       Confidencialidad: guardar asuntos ajenos de clientes o empleadores independientemente si se nos pide o no.
2.       Competencia: no tratar de trabajar en un puesto en el cual no tengamos las habilidades para llevarlo a cabo.
3.       Derechos de propiedad intelectual: asegurarse que  la propiedad intelectual de los empleadores y clientes está protegida, y que no será tomada por ningún individuo ajeno a lo establecido.
4.       Uso inapropiado de las computadoras: no se debe utilizar las habilidades personales para hacer mal uso de computadoras ajenas, como lo es el caso de los ordenadores del trabajo.
¿Cuáles son las sociedades que establecieron un código de ética, no solo para sus ramas sino también para la ingeniería en software?
   ·         ACM (Association for Computing Machinery)
   ·        IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)
   ·         British Computer Society
¿En qué consiste el código de ética de la ACM y IEEE?
   ·         Está compuesto por 8 principios los cuales están relacionados con el comportamiento y decisiones hechas por ingenieros en software, incluyendo practicantes, educadores, administradores, supervisores y creadores de políticas así como aprendices y estudiantes de la profesión.
    ·         Los principios identifican las relaciones éticas en las que los individuos, grupos y organizaciones participan, y las obligaciones primarias dentro de estas relaciones.
    ·         Cada  principio son ilustraciones de algunas de las obligaciones incluidas en estas relaciones. Estas obligaciones se fundamentan en la humanidad del ingeniero de software, con especial cuidado en la gente afectada por el trabajo de los ingenieros de software, y los elementos únicos de la práctica.
¿Cuál es el código de ética?
   ·         PÚBLICO - Los Ingenieros de Software deberán actuar consistentemente con el interés público.
   ·         CLIENTE Y EMPLEADOR - Los Ingenieros de Software deberán actuar de una forma determinada que esté en los mejores intereses de su cliente y empleador consistente con el interés público.
   ·         PRODUCTO- Los Ingenieros de Software deberán asegurar que sus productos y modificaciones relacionadas logren el más alto estándar profesional posible.
    ·         JUICIO - Los Ingenieros de Software deberán mantener integridad e independencia al emitir su juicio profesional.
·         GERENCIA - Los gerentes y líderes de Ingeniería de Software deberán suscribirse y promocionar un enfoque ético para la gerencia de desarrollo y mantenimiento de software.
·         PROFESIÓN - Los Ingenieros de Software deberán fomentar la integridad y reputación de la profesión consistente con el interés público.
·         COLEGAS - Los Ingenieros de Software deberán ser justos y comprensivos con sus colegas.
·         INTERÉS PROPIO - Los Ingenieros de Software deberán participar en el aprendizaje de por vida del ejercicio de su profesión y deberán promover un enfoque ético para el ejercicio de la misma.
¿Cuáles son los problemas éticos por los que se ve sometido un  ingeniero en software?
·         Diversidad en puntos de vista y objetivos
·         Desconfianza en la intención con la que se desarrolla cierto software
·         Falta de ética por parte de un empleado

·         Participación en el desarrollo de sistemas militares.



1.- Actividad Ética de la Profesión


2.- Quiz Etica de la Profesion


3.- Cuestionario Etica de la profesion

Plan de Estudio ITSON Ingenieria en Software (ISW) 2009

¿Razones por las que ITSON decidió emprender la carrera de ingeniería en software?
·         Nuevas tendencias de tecnologías de información
·         Oportunidad de México para poder desarrollar empresas de software por la cercanía a USA
·         Iniciativa del gobierno Mexicano por impulsar las instituciones educativas para convertir a Sonora como polo de desarrollo de la industria de software corredor de parques de Alta tecnología que se ubicarían en Hermosillo, Nogales y Obregón.
·         ITSON emprende nuevas empresas de software llamadas: SonoraSoft Technology Park, Novutek y el Centro de Innovación y Transferencia de Tecnologías de Información (CITTI).
  Todas estas demandas requieren que se cree una capacitación especializada de desarrolladores  de software para poder convertir el estado en el polo para el desarrollo de la industria software de México.
¿Cuál es el objetivo del programa educativo?
Formar  recurso humano comprometido con su labor, innovador  y emprendedor, capaz de desarrollar soluciones de software de  forma eficiente, que contribuyan al crecimiento y progreso la sociedad.
¿En qué consiste el perfil de egresado de la carrera de ingeniería en software?
En ejercer como  profesionista que desarrolla soluciones de software, mediante  aplicaciones de procesos, modelos y estándares de calidad de la industria del software, las cuales contribuyen al crecimiento y progreso de su sociedad, en un ambiente que provee vida sustentable y oportunidades a sus habitantes.
¿Cómo están compuestos los bloques de la carrera de ingeniería en software?





¿Cuáles son las competencias profesionales que maneja la carrera de ingeniería en Software?
       Diseño de Soluciones de Software a través de la aplicación de metodologías, herramientas y estándares apropiados al problema.
       Producción de  aplicaciones de software a partir de especificaciones del diseño y haciendo uso de las mejores prácticas que aseguren la calidad del producto.
       Administrar Proyectos de Desarrollo de Software mediante la aplicación de procesos, modelos y estándares que contribuyan a la calidad total del producto.
¿Cuáles son las áreas de trabajo en las que puede desempeñarse un egresado con perfil de ingeniero en software?
ÁreasLugares
  • Análisis, diseño, construcción y pruebas en el desarrollo de software
  • Administración de bases de datos
  • Administración de proyectos de desarrollo de software
  • Empresas con áreas de desarrollo de software, fábricas de software, empresas desarrolladoras de software y su propia empresa.
  • Empresas con necesidades en sistemas de información

¿Cuáles son las materias que se imparten en la enseñanza para analizar y diseñar?
      Análisis de Sistemas
      Análisis y Modelado de Software
      Diseño de Software I c/Práctica Profesional I
      Diseño de Software II
      Diseño de Sistemas Interactivos
      Diseño y Desarrollo de Aplicaciones Empresariales
¿Qué conocimientos son los adquiridos por las materias de análisis y diseño?
En estas materias se enseña al alumno sobre la correcta documentación, de los bocetos de los primeros proyectos que tendrán, además de usos de diagramas como es el caso del UML.
¿Cuáles son las materias que se imparten en la enseñanza para la construcción del software?
      Programación I c/Lab.
      Programación II c/Lab.
      Estructura de Datos
      Base de Datos I
      Programación III
      Métodos Numéricos Computacionales
      Pruebas de Software
      Base de Datos II
      Aplicaciones Web
      Sistemas Distribuidos
      Cómputo Móvil
      Optativa I
      Optativa II
¿Qué conocimientos son los adquiridos por las materias de construcción del software?
El alumno aprende a pensar lógicamente y resolver problemas mediantes soluciones tecnológicas gráficas, aplicando métodos, análisis y pruebas para que estas soluciones sean de alta calidad. Se aprenden lenguajes como API Java para creación de aplicaciones de escritorio, JAVASCRIPT, CSS, HTML entre otros asp.net visual studio.net para creaciones de aplicaciones web, mano de estructuras para todo ámbito y estructuras de almacenamientos cumpliendo requerimientos de calidad ISO.


¿Cuáles son las materias que se imparten en la enseñanza para la Administración de Proyectos de Software?
         Ingeniería de Software
         Administración
         Administración de Proyectos
         Evaluación de Proyectos de Software
         Administración de Proyectos de Software I y Práctica Profesional
         Administración de Proyectos de Software II
         Tecnologías de Información para los Negocios
         Calidad del Software
         Evaluación del Software
¿Qué conocimientos son los adquiridos por las materias de Administración de Proyectos de Software?
El alumno aprende las metodologías, los estándares de calidad (CMMI, ISO, MOPROSOFT), y aprende a gestionar proyectos tanto basicos, como lineados a los requerimientos y estándares de una empresa.
Ahora que ya vimos los conocimientos que adquiere una persona al estudiar esta carrera podemos decir ¿Qué habilidades requiere para poder llegar a tener el perfil de ingeniero en software?
Una persona que desea estudiar esta carrera debe tener:
·         Sentido de lógica
·         Saber trabajar en equipo
·         Dominio básico en el idioma ingles
·         Iniciativa
Nota: Este presente plan de estudios pretende ser modificado a partir de Enero 2015 por lo que ya no sera valido.



  1. Actividad Plan de estudios
  2.  Cuestionario
  3. Quiz Plan de Estudios



miércoles, 19 de noviembre de 2014

RUP

Proceso Unificado de Rational

El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización. También se conoce por este nombre al software, también desarrollado por Rational, que incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo con las necesidades.
Originalmente se diseñó un proceso genérico y de dominio público, el Proceso Unificado, y una especificación más detallada, el Rational Unified Process, que se vendiera como producto independiente.

El Proceso Unificado es dirigido por casos de uso

Un sistema de software se crea para servir a sus usuarios. Por lo tanto, para construir un sistema exitoso se debe conocer qué es lo que quieren y necesitan los usuarios prospectos.
El término usuario se refiere no solamente a los usuarios humanos, sino a otros sistemas. En este contexto, el término usuario representa algo o alguien que interactúa con el sistema por desarrollar.
Un caso de uso es una pieza en la funcionalidad del sistema que le da al usuario un resultado de valor. Los casos de uso capturan los requerimientos funcionales. Todos los casos de uso juntos constituyen el modelo de casos de uso el cual describe la funcionalidad completa del sistema. Este modelo reemplaza la tradicional especificación funcional del sistema. Una especificación funcional tradicional se concentra en responder la pregunta: ¿Qué se supone que el sistema debe hacer? La estrategia de casos de uso puede ser definida agregando tres palabras al final de la pregunta: ¿por cada usuario? Estas tres palabras tienen una implicación importante, nos fuerzan a pensar en términos del valor a los usuarios y no solamente en términos de las funciones que sería bueno que tuviera. Sin embargo, los casos de uso no son solamente una herramienta para especificar los requerimientos del sistema, también dirigen su diseño, implementación y pruebas, esto es, dirigen el proceso de desarrollo.
Aún y cuando los casos de uso dirigen el proceso, no son elegidos de manera aislada. Son desarrollados a la par con la arquitectura del sistema, esto es, los casos de uso dirigen la arquitectura del sistema y la arquitectura del sistema influencia la elección de los casos de uso. Por lo tanto, al arquitectura del sistema y los casos de uso maduran conforme avanza el ciclo de vida.