prácticas de desarrollo ágil en cuenta una vez el proyecto de aficionados

      Esto es en la parte superior del proyecto ApiTemplate original, añadir un módulo de control de acceso de inicio de sesión de usuario para proyecto de verificación ApiTemplate de cara a unas cuantas preguntas sencillas, cómo abstracta y para la futura expansión de soporte. módulo de control de acceso de inicio de sesión del usuario se ve muy simple, pero a causa de su tiempo libre es siempre limitado. Con esta oportunidad para que una vez que los usuarios ágiles prácticas de desarrollo. módulo de primera división, esto sólo implementar la conexión del usuario y de cierre de sesión.

Dirección de Proyectos apitemplate: https://github.com/cqhaibin/ApiTemplate

Un resumen puso delante

Minimizar mandato

  • Esta tarea sólo se limita en el "nombre de usuario + contraseña" para esta tarea, y no contiene datos persistentes, de modo que cuando se hace repetidamente probarse a sí mismos, no fuera de rango. tan
  • Consulta de la información de registro de usuario, interfaces de usuario en línea relacionados con el almacenamiento sólo para definir y ejecutar la simulación, no una aplicación específica de almacenamiento
  • Teniendo en cuenta la lógica de negocio es estable, y el almacenamiento es variable, el objeto de entidad de base de datos y de separación de objetos de entidad de negocios

Para ordenar una fecha límite

Así se enumera solamente el plazo de la tarea, pero no aparece ningún límite de tiempo para cada sub-etapas, tales como: la demanda debe ir a través de un análisis de necesidades, diseño del módulo, las fases de ejecución de código. Estos sub-etapa también necesita dar un plazo determinado.

Desde el exterior a la capa interior para promover

  • Definir UI / interfaces de capa de servicio
    debido a la interfaz de la interfaz de usuario para proporcionar una variedad de formas (por ejemplo: api resto, RPC, etc.), de modo básico para el estándar de interfaz de capa de servicio, una capa de interfaz de usuario de interfaz acaba de hacer una conversión simple y llamada. En donde Moddel UI / servicio de entrada de la interfaz de capa / se definirá parámetros de salida (dos compartieron Model)
  • Aplicar la capa de servicio de interfaz de
    este paso implementar la interfaz de capa de servicios, se encuentra la necesidad de confiar en el módulo de gestión de usuarios en línea, y la capa de base de datos (consultas registrada la información de usuario), donde sólo define la interfaz para consultar la información de registro de usuario, y temporalmente hacer una específica implementación. A continuación, introduzca el tercer paso
  • módulo de interfaz definido por el usuario en línea
    en esta etapa incluyen: entidad de interfaz de gestión de usuarios en línea, la interfaz de usuario en línea entidad. Para no darse cuenta después de una buena definición. Mejorar el servicio implementaciones de la capa dependen de este llamado módulo, donde se puede ajustar en varias ocasiones la forma como los usuarios en línea módulos de parámetros de entrada / salida del modelo, con el fin de lograr la integración y servicios de la capa
  • módulo de interfaz de usuario en línea para lograr
    este paso para la interfaz de usuario en línea para gestionar entidades, entidad de interfaz de usuario en línea. En este punto nos encontramos en línea también se basan en la interfaz de memoria de usuario (única definición, no lo haga de lograr)

En segundo lugar, las necesidades de los usuarios

De acuerdo con aplicar el nombre de usuario de inicio de sesión, la sesión de la interfaz.

En tercer lugar, el análisis de la demanda

  • Nombre de usuario: Soporta Inglés, números, caracteres y caracteres especiales; los nombres de usuario no distinguen mayúsculas y minúsculas
  • Contraseña: Soporta Inglés, números, caracteres especiales, mayúsculas y minúsculas
  • Consejo: El usuario no existe y la contraseña es incorrecta para distinguir entre las puntas
  • Esta etapa no tiene en cuenta la persistencia de los datos, ya que desea verificar rápidamente la viabilidad del prototipo

En cuarto lugar, el diseño de sistemas

Diseño de interfaz

Unificado de interfaz mediante una API resto, para lograr conexión, desconexión dos interfaces

  • Iniciar sesión Interfaz
    • Nombre de la interfaz: PostLogin
    • Tipo de solicitud: Poste
    • Los parámetros de entrada
    { 
        El nombre de usuario < cadena >, // nombre de usuario 
        contraseña < cadena > // contraseña 
    }
    • parámetros de respuesta
    { 
        IsSuccess < BOOL >, // petición tiene éxito 
        la resultCode <Número>, // Petición de Estado Código 200006: cuenta no existe; 200001: cuenta está deshabilitada; 200002: Error de contraseña 
        de datos < Objeto > : { 
            símbolo < cadena > // inicio de sesión después de un exitoso retorno al token 
            el usuario < objeto >: { // objeto de usuario 
                realname < cadena >, // nombre de usuario 
                userName < cadena >, // Inicio nombre de 
                la anteriormente mencionada ID < int >, // usuario Id 
                config <String >, // información de extensión del usuario, JSON cadena 
                móvil < string >, // número de teléfono 
            } 
        } 
    }
  • Interfaz de cierre de sesión
    • Nombre de interfaz: loginout
    • Tipo de solicitud: get
    • Los parámetros de entrada
      a través de URL, cabecera de la orden, símbolo adquisición de galletas
    • parámetros de respuesta
    { 
        IsSuccess < BOOL >, // petición tiene éxito 
        la resultCode <Número>, // Petición de Estado Código 
    }

El diseño detallado

Diseño de interfaz de inicio de sesión se detalla

  • proceso
    imagen
  • Gestión de usuarios en línea
    • clase de interfaz de gestión de usuarios en línea
    clase IOnlineUserMgr {
         ///  <summary> 
        /// añadir usuarios a la lista de usuarios, este método requiere información de acceso persistente
         ///  </ resumen> 
        ///  <param name = "Entidad"> </ param> 
        anular la Add (IUserEntity entidad);
         ///  <summary> 
        /// eliminar un usuario correspondiente de acuerdo con el token, este método requiere la persistencia información de cierre de sesión
         ///  </ resumen> 
        ///  <param name = "token" > </ param> 
        ///  <Devuelve> </ Devoluciones> 
        BOOL el remove ( cadena token);
         ///  <summary> 
        /// eliminar un usuario en función del usuario Id, este método requiere la persistencia información de cierre de sesión
         ///  </ resumen> 
        ///  <param name = "id"> </ param> 
        /// <Devoluciones> </ Devoluciones> 
        BOOL Remove ( int ID);
         ///  <summary> 
        /// volver usuarios de la capa persistente
         ///  </ resumen> 
        anular la carga ();
         ///  <summary> 
        // / Obtener todos los usuarios
         ///  </ resumen> 
        IList <IUserEntity>   GetAll (); 
    
        IUserEntity get ( int el ID de usuario); 
    }
    • Usuario entidad clase de interfaz
    clase IUserEntity { 
        UserInfo de información del usuario { llegar ; } 
    
        Cadena Token { get ; } 
    
        ///  <summary> 
        /// 客户端信息
         ///  </ summary> 
        RequestClientInfo ClientInfo { get ; } 
    
        DateTime LoginTime { get ; } 
    
        DateTime ExpiredTime { get ; }
         ///  <summary> 
        /// 用户登录配置
         ///  </ summary> 
        Opción UserAuthOption { get ; } 
    
        TokenEntity GetTokenEntity (); 
    }
  • explicación
    • regla de generación de tokens
      clave de usuario = token_UserId_UserName_IP_OS_Time, entonces el usuario token como un valor de clave calculado por MD5
    • UAParser
      lograr agente de usuario cadena para el objetivo de conversión.

A cabo el diseño detallado de la interfaz

  • proceso

imagen

En quinto lugar, el diccionario de datos

  • Información de usuario en linea

imagen

  • usuario

imagen

Supongo que te gusta

Origin www.cnblogs.com/cqhaibin/p/12499521.html
Recomendado
Clasificación