Las trampas de los proyectos client/Server del desarrollo


  Share  
|


La gerencia de proyectos client/server implica trampas únicas dentro de categorías tradicionales del desarrollo de los sistemas. Este articl trata las características únicas de los proyectos client/server del desarrollo dentro de las categorías siguientes:

- requisitos del negocio de Defining/documenting

- determinación de requisitos de hardware/software/network

- estimando

- el seguir del proyecto

- definir tareas

- estimando las horas requeridas

- estimar el porcentaje de la terminación

- Timekeeping

- el seguir de la edición

- habilidades que se convierten con tecnología y herramientas

- seguridad

- proceso de Testing/QA

- documentación que se convierte

- estabilidad de organización

- Prototyping/usability

- fines de conexión y aprobación

DEFINIENDO Y DOCUMENTANDO REQUISITOS DEL NEGOCIO

Como con un proyecto tradicional del desarrollo, la documentación de requisitos debe ser el comienzo de un proyecto client/server del desarrollo. Es aquí que las exigencias del consumidor están definidas pues una base para el análisis de ventaja de la estimación y de coste del proyecto. El documento de los requisitos debe ser detallado e incluir las pantallas de la entrada, los ciclos de proceso, y los informes impresos de ejecución. El diseño de base de datos debe también ser incluido, definiendo relaciones de los datos. Están no solamente los requisitos del negocio de defining/documenting importantes para estimar el esfuerzo inicial del proyecto, es también crítico para determinar cambios en alcance y determinarse cuál “hecho” es. Muchas veces qué se repasa ocasional en el comienzo de un proyecto llegan a ser críticamente importantes en la determinación de una terminación’del proyecto s. Los elementos típicos de un documento de los requisitos incluyen:

- objetivo del project/system

- requisitos del negocio

- requisitos de la entrada-salida

- área comercial afectada

- proceso de requisitos

- requisitos de la seguridad

- datos o archivo que manejan requisitos

- impactos de organización

- requisitos de la documentación

Es difícil que un interventor se determine si todos los requisitos son comprensivos y definidos adecuadamente. Sin embargo, en un mínimo, el interventor debe verificar que los requisitos estén definidos en un suficiente nivel del detalle y que hay autorización apropiada de la gerencia del usuario.

DETERMINACIÓN DEL HARDWARE, DEL SOFTWARE, Y DE REQUISITOS DE LA RED

Una vez que se definan las exigencias del consumidor, los requisitos de hardware/software/network pueden ser establecidos. Se utilizan estos requisitos para determinar la plataforma y el establecimiento de una red de proceso para el sistema. Los factores que determinan el platform(s) apropiado son infraestructura de la red de existing/strategic, número de usuarios concurrentes, tamaño de la base de datos, y volumen de transacciones. No hay típicamente “plataforma” derecha a utilizar y muchos SON personal tienen opiniones que diferencian. Además, los vendedores están anunciando siempre nuevos lanzamientos con las nuevas características, haciéndola difícil de distinguir características de producto existentes contra vaporware. Guárdese de las tecnologías y de las metodologías que introducen los nuevos términos y vernaculars que proporcionan una pantalla de humo para la gerencia de proyecto y la carencia pobres de la maestría. Esperanzadamente, un mejor acercamiento se elige que considera coste, funcionamiento de los sistemas, y la facilidad del desarrollo. Típicamente, los requisitos se documentan en un documento de la arquitectura que incluyen:

- requisitos del negocio

- consideraciones tácticas

- consideraciones estratégicas

- interfaces con otros sistemas

Nadie plataforma de los equipo y programas de computación “cabrá” todos los usos, apenas como martillo solamente no construirá una casa. Sin embargo, ninguna parte pequeña de la opción de la plataforma debe ser con cuál son familiares las plataformas los reveladores. La familiaridad con las plataformas elegidas mejorará la exactitud de las estimaciones y ayudará a asegurarse de que “los problemas del asesino” del sistema no serán encontrados más adelante. Es demasiado aventurado utilizar tecnologías no probadas como plataforma para los proyectos grandes del desarrollo.

Un embotellamiento potencial con los sistemas client/server es la capacidad y el tráfico de la red entre el sitio de trabajo del usuario y el servidor. Muchas veces, se espera que estos sistemas realicen las redes de área amplia excesivas (wANs) que pueden no proporcionar tiempos de reacción constantes de la red.

EL ESTIMAR

Un uso de la estimación del proyecto es determinarse si la gerencia desea financiar el proyecto basado en un análisis de cost/benefit. Obviamente, si las estimaciones no son exactas, la gerencia no puede tomar buenas decisiones encendido si desean hacer el proyecto, asigna a gente a las tareas, o al plan encendido cuando los deliverables estarán disponibles. Esencialmente, sin estimaciones de las mercancías, los encargados de proyecto no pueden manejar. Los factores que entran estimaciones el bueno son:

- experiencia con las herramientas de hardware/software/network/development: Si los reveladores no se experimentan con el platforms/tools, la gerencia debe realizar que la estimación no es probablemente muy buena y ser lista pasar mucho más en el proyecto y esperar retrasa.

- familiaridad con los requisitos: ¿Los reveladores estuvieron implicados en la definición de los requisitos? Si no, la estimación no es otra vez probablemente muy buena; y sea listo pasar mucho más en el proyecto y esperar retrasa.

- sistemas existentes: ¿Es el nuevo uso una reescritura de los sistemas existentes donde se definen los requisitos de los informes y de los datos? Si es así la estimación puede ser bastante exacta. Si no, el esfuerzo adicional se puede requerir a los res - haga el sistema para resolver exigencias del consumidor.

Esperanzadamente, un expediente de pista de los esfuerzos similares del desarrollo se puede utilizar para proporcionar una comprobación para de la realidad las estimaciones. Esto se puede también utilizar mientras que un control para los reveladores de manejo que pueden rellenar sus estimaciones. Un factor o una gama de la confianza debe ser una parte de esta estimación. Esto daría a gerencia un mejor-caso y un panorama a lo peor. Esto no prohibiría a gerencia la capacidad de decidir a no hacer el proyecto si puede ser que sea no plazos demasiado costosos o probables de la reunión. Una trampa final a mirar hacia fuera para es un sistema de la fecha de la blanco de la gerencia mayor que se confiará por al equipo de proyecto. Si se fija una fecha de arriba hacia abajo de la blanco, hay presión en el personal del desarrollo “nuevamente dentro” de las estimaciones que no se basan en se requiere qué o presión de no tener estimaciones en todos.

EL SEGUIR DEL PROYECTO

Como con todos los proyectos del desarrollo, esenciales para evitar o el manejo de trampas client/server del desarrollo está la gerencia de proyecto eficaz. Los elementos enumerados abajo se utilizan para identificar donde está el proyecto, se deja qué, y la cantidad de esfuerzo restante.

- definir tareas: Las tareas del desarrollo se deben definir en un tamaño que sea bastante pequeño ser seguido fácilmente y significativo. El encargado de proyecto puede manejar con eficacia un proyecto si hay deliverables específicos con horas claramente definidas y frecuenta fechas debidas. Las tareas grandes con los deliverables ambiguos hacen difícil de saber si el proyecto está en apuro en hora de manejar con eficacia las trampas. Las interdependencias de la tarea y la asignación de responsabilidades son particularmente importantes para los proyectos con los equipos relacionados múltiples donde puede ser difícil determinarse quién es responsable de lo que.

- estimando horas requeridas: Esto se debe hacer por alguien que se experimenta con qué se requiere — esperanzadamente el revelador que realizará la tarea. Esto proporcionaría cierta propiedad o comisión a la terminación de la tarea.

- estimar el porcentaje de la terminación: Esto puede ser una conjetura inexacta si está basada en la cantidad de trabajo que se ha expendido ya para terminar una tarea. Debe ser basada en deliverables definidos tales como número de tareas, de pantallas, o de informes terminados.

- Timekeeping: Timekeeping no se utiliza con frecuencia con eficacia. Muchos reveladores no registran regularmente su tiempo ni mantienen una estimación exacta de las horas pasada. Esto hace difícil de determinar el estado del proyecto. Además, la falta de registrar todas las horas para este proyecto puede hacer otros proyectos ser subestimado si las horas registradas se utilizan para las estimaciones futuras.

EL SEGUIR DE LA EDICIÓN

El seguir de la edición se puede utilizar para refinar requisitos del proyecto documentando y resolviendo las decisiones que no eran comtempladas durante la definición original de los requisitos. El registro de las ediciones es también un buen vehículo para los problemas excepcionales que siguen y asegurarse de que están resueltos antes de que el sistema se ponga en ejecucio'n en la producción. Una trampa común con los sistemas client/server es la carencia de la estabilidad debido a las incompatibilidades del software, a los errores de la red, y a las debilidades con la base de datos que maneja actualizaciones concurrentes. Las ediciones se deben cargar en severidad “de los tapones de la demostración” “a los realces agradables” para dar la prioridad al esfuerzo del desarrollo. El usuario que posee del sistema debe ser el que esta' para determinarse si se ha resuelto una edición, tan allí como una tendencia para que los reveladores demanden la resolución prematuramente. Como con cualquier registro de problema, el registro de la edición debe contener quién identificó la edición, la fecha que la edición fue identificada y que comunicada, la severidad, una descripción de la edición, y si está resuelto, el texto de la resolución. Esto puede también servir mientras que un rastro de intervención de las decisiones hizo.

Las ediciones deben ser conservadas después de que se resuelvan para ser utilizadas para tender futuro. El análisis de tendencia se debe realizar para seguir las ediciones del entrenamiento, así como problemas con hardware, el software de sistemas operativos, y el otro software de uso. Si se registra cada error, el registro de las ediciones se puede también utilizar para seguir la estabilidad total del sistema. El registro de las ediciones se puede utilizar para diagnosticar problemas estableciendo claramente las situaciones donde ocurrió el problema. La información del problema puede también ser útil en la obtención de ayuda del vendedor en la resolución del problema proporcionando la evidencia clara de la correlación entre los problemas y los productos del vendedor.

HABILIDADES QUE SE CONVIERTEN CON TECNOLOGÍA Y HERRAMIENTAS

El adiestramiento en el trabajo no es la manera de aprender las herramientas y las técnicas de desarrollo client/server nuevas. Un revelador debe tomar ciertamente la sala de clase o el entrenamiento computarizado (CBT). Sin embargo, los reveladores no deben emprender proyectos en grande sin primero con éxito terminar proyectos pequeños. Esto reduciría riesgo del proyecto permitiendo que los reveladores se prueben en una escala más pequeña y les den la capacidad más exactamente a la estimación el esfuerzo implicado. Los encargados de proyecto deben también ser entrenados en el manejo de proyectos progresivamente más grandes que se centran en los equipos múltiples, las interdependencias de la tarea, y los usuarios múltiples.

En proyectos más grandes con nuevas tecnologías, puede haber mucha gente con diversos niveles de la maestría que procuran tomar decisiones. Hay muchos niveles del conocimiento. El puede extenderse de qué persona leyó adentro un compartimiento, a lo que oyeron algún otro, a lo que él sabe del entrenamiento, a lo que sabe del trabajo con un sistema o más allá de experiencia del desarrollo.

Los primeros tres niveles del conocimiento son bastante débiles pero bastante comunes. Gente que’los papeles de s debe ser manejado, basado en un reconocimiento de su nivel del conocimiento para asegurarse de que las tareas están asignadas apropiadamente, estimaciones son confiable, así como eso las decisiones tomadas y las direcciones tomadas son sonido. Los cheques de la referencia se deben hacer para los nuevos empleados y consultores del exterior que demandan ser “expertos” para verificar su nivel de la maestría.

SEGURIDAD

Una puesta en práctica acertada de la seguridad puede ser difícil en un ambiente client/server debido a las muchas capas de proceso que deben ser aseguradas:

- sitio de trabajo del cliente. Históricamente, éste ha sido un ordenador personal que tiene restricción débil de los controles quién tiene acceso a los programas y a los archivos. Sin embargo, con la introducción de sistemas operativos tales como sitio de trabajo’de Windows NT de Microsoft s, los controles disponibles están rivalizando el nivel de la seguridad disponible en un chasis.

- uso. Este nivel de la seguridad controla típicamente los menús y los campos que un usuario puede tener acceso. Los niveles del acceso se leen, se ponen al día, y suprimen típicamente.

- red. Esto se ocupa de asegurar actividad en la red. Las herramientas tales como succionadores de la red están disponibles leer y para alterar los datos que se transmiten sobre la red. Hay típicamente dos tipos de controles de la red usados para prevenir acceso o la alteración inadecuado de datos. El primer está restringiendo el acceso a los segmentos o a las áreas de una red. Esto se hace generalmente con los sistemas del cortafuego o las rebajadoras de la investigación que restringen el tráfico basado en fuente y direcciones de destinación. Las conexiones del Internet se deben controlar por los cortafuegos. El otro método para asegurar tráfico de la red es cifrado. Esto previene la capacidad de leer o de alterar los datos que van a través de la red. En un mínimo, las contraseñas deben ser cifradas.

- servidor. De los servidores control típicamente que pueden entrar a la red y que puede tener acceso a bases de datos y a archivos en la red. La seguridad del servidor es la la mayoría

tipo común de seguridad usado en una red de área local. El acceso a la red es típicamente controlado con un userid y una contraseña correspondiente. El acceso a los archivos entonces se concede basado en la identificación asignada del usuario o de grupo. La mayoría de los servidores preven actividad de registración de la administración y de la violación de la seguridad. En sistemas grandes del cliente /server, un chasis está realizando la función del servidor.

- base de datos. El sistema de la base de datos puede también realizar las funciones de la seguridad, requiriendo un userid y una contraseña y después asignando el acceso a los datos basados en la identificación del usuario o de grupo. Además, las bases de datos pueden registrar actividad de la administración y de la violación de la seguridad.

Coordinar niveles múltiples de la seguridad es difícil, y muchos sistemas introducen debilidades de la seguridad no haciendo caso de controles de acceso en ciertas plataformas o scripting conexiones en las plataformas que pueden ser evitadas fácilmente. Otro problema típico con los sistemas client/server es que son incómodos, requiriendo conexiones múltiples con los userids múltiples y las contraseñas.

Idealmente, el uso se debe diseñar con un solo sign-on a que los controles tengan acceso en el ation, el sitio de trabajo, el servidor, y los sistemas applic de la base de datos, junto con los controles de la red que restringen el acceso a los segmentos apropiados de la red y cifran tráfico sensible.

PRUEBA

Mientras que los elementos del proceso tradicional de la calidad assurance/testing se aplican al ambiente client/server, este ambiente contiene los desafíos únicos que requieren una prueba más rigurosa aunque los reveladores pueden no tomar la prueba como seriamente porque es “solamente un sistema de la PC.” El proceso client/server del desarrollo de los sistemas debe incluir planes de prueba con resultado previsto, resultado real, y la disposición de diferencias. Si los requisitos del sistema se han definido bien, pueden ser utilizados para desarrollar los planes de prueba. La prueba debe incluir todas las plataformas, así como los interfaces entre ellos y la capacidad manejar usuarios concurrentes. Además de manejar actualizaciones múltiples a través de conexiones concurrentes, muchos sistemas client/server incluyen la capacidad de funcionar sin una conexión de red directa con la sincronización de la base de datos usando una réplica llamada de proceso. Esto requiere pasos de prueba únicos verificar que las adiciones, las actualizaciones, o las canceladuras replegadas están manejadas correctamente con el proceso de la réplica así como el trabajo con el sistema que funciona en un múltiplo - modo del usuario. Las actualizaciones concurrentes a las bases de datos (dos personas que procuran poner al día el mismo expediente en el mismo tiempo) pueden crear conflictos de la base de datos. Cómo el sistema dirige los conflictos se deben documentar y manejar por el software de uso o los procedimientos manuales.

El tiempo de reacción pobre es a menudo una edición con los sistemas client/server. Los embotellamientos pueden ser corregidos aumentando capacidad de la red, preguntas de la base de datos que templan, o la optimización del diseño de base de datos.

La gerencia client/server del cambio también crea desafíos únicos con control de la versión. El código mming de Progra se distribuye típicamente a través de plataformas múltiples así como encajado dentro de bases de datos. Mientras que los paquetes del control de la versión de la PC se utilizan con frecuencia, cambie los sistemas de gerencia que incluyen la sincronización de source/object no son tan sofisticados como los sistemas usados en el ambiente de chasis.

DOCUMENTACIÓN QUE SE CONVIERTE

Mientras que la meta de un sistema client/server es ser de uso fácil y proporcionar funciones en línea de la ayuda, estos sistemas deben además tener los tipos tradicionales de documentación disponibles a funcionar, mantienen, y utilizan el sistema. Los requisitos de la documentación deben incluir el siguiente:

- descripción del sistema

- códigos del usuario instructions/transaction

- organigramas del sistema

- interfaces de sistema

- función de proceso, organización y breve descripción del ms del progra.

- características del archivo descriptions/dataset (diseño de base de datos si es aplicable)

- requisitos de la seguridad y del control del sistema, y puesta en práctica de esos requisitos en el sistema

- requisitos de la reserva y de la retención del archivo - errores y mensajes del usuario

Los requisitos de la documentación se deben incluir en el plan del proyecto, así como contratos si trabajan con un vendedor exterior.

ESTABILIDAD DE ORGANIZACIÓN

Las reorganizaciones y el volumen de ventas de personal son difíciles de manejar, particularmente en organizaciones grandes. Estos impactos pueden matar fácilmente a un proyecto. Un buen encargado de proyecto anticipará la posibilidad de perder a miembros del equipo antes “de las dos semanas que se da” el aviso. Obviamente, la gerencia debe hacer lo que él lata para conservar a la gente dominante. Sin embargo, el personal perdidoso es inevitable — especialmente si entrenan al personal en “las tecnologías calientes” que son muy comerciales. Las cosas que se pueden hacer para reducir el impacto de los cambios del personal son:

- entrenamiento: asegurándose de que bastante gente en el personal esté bien informada con las tecnologías asegurar que el equipo no ha terminado confiado en ninguna una persona. Esto se podría también utilizar para ayudar a manejar al personal que es resistente al cambio y no desea tratar de él.

- establecer reservas: se requiere identificar quién podría llenar’una posición de la persona s, qué tomarían para conseguir al individuo hasta la velocidad, y poner un plan en ejecucio'n antes de él. Puede tener sentido para haber señalado a individuos de reserva escribe las partes del sistema para asegurarse de que tienen las habilidades necesarias para apoyarlo.

- Mentoring: identificando las oportunidades para que individuos más mayores asistan a otros contestando a preguntas, asistiendo con el razonamiento, y el funcionamiento con problemas.

- estándares de programación: cubiertas cómo el código debe ser escrito y ser documentado para asegurarse de que puede ser apoyado por otros.

- revisiones de código: implica el repasar de sistemas mientras que son desarrollados para asegurarse de que están escritos lógicamente, comprensible por otros, y para adherir a los estándares de la documentación.

- pantallas del mantenimiento: si constrúyase para permitir la modificación del sistema dominante functions/parameters sin la intervención del programador.

CONCLUSIÓN

No es fácil manejar los proyectos que son dependientes en sistemas client/server complejos. Los problemas técnicos pueden ocurrir que “matan a un sistema” que no tiene nada hacer con la gerencia de proyecto. Sin embargo, los controles de la gerencia de proyecto pueden ser introducidos que atenúan los riesgos de estos problemas. Mientras que la revisión de la gerencia de proyecto que los controles divergen del acercamiento tradicional de la intervención, recursos corporativos puede ser ahorrada extendiéndose a las situaciones de la gerencia mayor donde no están estos controles en lugar. Según lo discutido previamente, los controles más importantes para mirar hacia fuera para para incluir:

- experiencia con la tecnología y los proyectos similares - adecuadamente definiendo y documentando exigencias del consumidor - fechas realistas exactas de la blanco que estiman y que establecen - seguir progreso y ediciones

- poner seguridad en ejecucio'n eficaz

- con eficacia documentando y probando el sistema - obtención de la aprobación del usuario

Si estos controles están en lugar, el encargado y los interventores de proyecto tienen cierto aseguramiento que los riesgos asociados a trampas client/server se están manejando con eficacia.

esto es un artículo agregado por Marrie Hopper


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions