Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2. La institución
Arch&Soft era una institución mexicana de innovación y desarrollo
tecnológico, que contribuía a la competitividad de instituciones públicas
y de las pequeñas y medianas empresas (PYMES), a través del uso
estratégico de las tecnologías de información y comunicaciones (TIC).
Arch&Soft ofrecía servicios de: consultoría; desarrollo de productos y
soluciones tecnológicas para el sector público y privado; formación de
capital humano en el uso estratégico de las TIC e investigación aplicada
en temas relacionados con el desarrollo de Internet, nuevas tecnologías,
gobierno electrónico y sociedad de la información.
Los especialistas con los que contaba Arch&Soft se desempeñaban en
una variedad de disciplinas como:
- Seguridad en informática (perimetral y software).
- Infraestructura de redes y telecomunicaciones.
- Desarrollo de software a la medida.
- Consultoría en procesos de negocio.
- Investigadores y académicos en tecnologías de la
información.
Los tipos de proyectos abarcaban una variedad de sectores entre los
cuales se encontraban:
- Sector Financiero.
- Sector Salud.
- Sector Gubernamental.
- Sector Académico.
Las plataformas de desarrollo soportadas por Arch&Soft eran:
- Plataforma J2EE.
- Plataforma .NET.
- Plataforma mobile (Android, IOS, WinPhone y Blackberry).
3. Perfil de Rubén Feldman
Rubén Feldman contaba con más de 10 años de experiencia en el área de
diseño, evaluación, síntesis y realización de arquitecturas de software.
Había participado en el proceso de desarrollos de sistemas con RUP1,
MSF2, ICONIX3 y las principales metodologías ágiles; Scrum4 y Extreme
Programming5.
Rubén se desarrolló como consultor con UML6, creó varios Framework
para distintos ramos de la industria, poseía conocimiento en las
tecnologías de .NET y J2EE. También tenía experiencia en el análisis y
diseño orientado a objetos con UML.
Desde el 2001, Rubén desempeñó roles que involucraban el diseño,
análisis, evaluación y construcción de sistemas de software. Ayudó
mediante su conocimiento sobre estándares de calidad, a definir nuevos
procesos y metodologías para la empresa. Sus conocimientos permitieron
colaborar en la definición de las arquitecturas de los proyectos de
Arch&Soft. Sus colegas opinaban que su código funcionaba, era muy
bueno y fácil de mantener y que poseía un profundo conocimiento sobre
los atributos de calidad que un sistema de software debía cumplir;
permitiéndole crear soluciones al contexto del proyecto.
En el año 2005 diseñó e implementó el sistema de seguridad nacional
desarrollado en J2EE, mismo que se encuentra operando hasta la fecha
con las mejores prácticas de diseño en seguridad de sistemas de
software.
En el año 2007 dirigió varios sistemas que utilizan tecnologías no
homogéneas, llevando a cabo la solución de interoperabilidad y
operación de los mismos. Definió las políticas y estándares de seguridad
con las que se construyó el sistema.
Durante el año 2009, Rubén impartió diversos cursos, a nivel nacional e
internacional, sobre el diseño, análisis, síntesis y construcción de
sistemas de software de alta criticidad. Su papel como instructor y
consultor de sistemas ha sido apreciado por diversos clientes.
Hasta el año 2012, se desempeñó como arquitecto jefe en el
departamento de arquitectura de soluciones de Arch&Soft.
Glosario 1. RUP
Rational Unified Process en inglés, habitualmente resumido como RUP
es un proceso de desarrollo de software creado por la empresa Rational
Software, actualmente propiedad de IBM. Junto con el Lenguaje
Unificado de Modelado UML, constituye la metodología estándar más
utilizada para el análisis, diseño, implementa- ción y documentación de
sistemas orientados a objetos.
2. MSF
Microsoft Solutions Framework (MSF) es un conjunto de principios,
modelos, disciplinas, conceptos y lineamientos para el desarrollo de
tecnologías de la información a partir de soluciones de Microsoft. MSF no
se limita sólo al desarrollo de aplicaciones, también es aplicable a otros
proyectos de TI como proyectos de implementación de redes o
infraestructura. MSF no obliga al desarrollador a utilizar una determinada
me- todología (Waterfall , Agile ), pero les permite decidir qué método
utilizar.
3. ICONIX
Iconix es una metodología de desarrollo de software que es anterior al
Rational Unified Process (RUP), Programación Extrema (XP) y el
desarrollo ágil de software. Como RUP, su proceso está basado en UML y
casos de uso pero es más ligero que RUP. A diferencia de los enfoques XP
y Agile, ICONIX promueve la captura de suficientes requisitos y
documentación de diseño, pero sin abundar en el análisis. El Proceso de
esta metodología utiliza sólo cuatro diagramas UML basados en un
proceso de cuatro pasos que convierten casos de uso en código de
trabajo.
4. SCRUM SCRUM es un marco de trabajo para la gestión y desarrollo de
software basada en un proceso iterativo e incremental utilizado
comúnmente en entornos basados en el desarrollo ágil de software.
5. Extreme Programming
La programación extrema o eXtreme Programming (XP) es una
metodología de desarrollo de la ingeniería de software formulada por
Kent Beck, autor del primer libro sobre la materia, Extreme
Programming Explained: Embrace Change (1999). Es el más destacado
de los procesos ágiles de desarrollo de software. Al igual que és- tos, la
programación extrema se diferencia de las metodologías tradicionales
principalmente en que pone más énfasis en la adaptabilidad que en la
previsibilidad. Los defensores de XP consideran que los cambios de
requisitos sobre la marcha son un aspecto natural, inevitable e incluso
deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a
los cambios en cualquier punto de la vida del proyecto es una
aproximación mejor y más realista que intentar definir todos los
requisitos al comienzo del proyecto e invertir esfuerzos después en
controlar esos cambios.
6. UML
UML, por sus siglas en inglés, Unified Modeling Language, es el lenguaje
de modelado de sistemas software más conocido y utilizado en la
actualidad; está respaldado por el OMG (Object Management Group). Es
un lenguaje gráfico para visualizar, especificar, construir y documentar
un sistema. UML ofrece un estándar para describir un “plano” del sistema
(modelo), incluyendo aspectos conceptuales tales como procesos de
negocio, funciones del sistema y aspectos concretos como expresiones de
lenguajes de programación, esquemas de bases de datos y compuestos
reciclados.
7. RAD
RAD, por sus siglas en inglés, Rapid Application Development, es una
metodología de desarrollo de software que utiliza una planeación mínima
que favorezca la realización rápida de prototipos. El desarrollo RAD
envuelve métodos de desarrollo iterativo y prototipado de software.
Anexo
Este anexo describe el detalle de la infraestructura de software del cliente
de Arch&Soft.
La plataforma, de manera invariable, era J2EE soportada por sistemas
operativos LINUX con distribución Redhat 6. La base de datos era Oracle
10g y no estaba permitido utilizar la tecnología de Hibernate, sin em-
bargo, el cliente estaba abierto a evaluar y en su caso, adoptar otras
tecnologías asociadas a la plataforma J2EE.
El servidor de aplicaciones que el cliente poseía era Glassfish 2.0 y en
ocasiones llegaba a utilizar Tomcat 7. No existían posibilidades de
utilizar un servidor de aplicaciones de paga, como lo es WebLogic.
Respecto a los servidores físicos, éstos poseían una memoria (cada uno)
de 24 Gigas en RAM y dos procesadores Xeon Cuad Core de 3.5 GHz
cada uno. El cliente poseía un total de 18 servidores que, si era necesario,
podían ser dispuestos en modo de alta disponibilidad, balanceados por un
F5.