[Php-objetos] Subsistemas
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mie Feb 25 21:57:40 ARST 2009
Hola Gonzalo.
vamos por partes:
El mié, 25-02-2009 a las 15:18 -0800, yo en erama.com escribió:
> Leo lo que tenemos como requerimientos del sistema es esto:
> EL SISTEMA DEBE:
>
> Desde el panel de administración central
No... si lo dividís así, estás diseñando, no relevando lo que "el
sistema debe hacer".
Por más que te joda, la lista va toda junta o entremezclada: cuando te
ponés después la camiseta de diseñador, verás como organizarlo.
Les está pasando que por imaginarse cómo se escribe este sistema, no se
están concentrando en lo que quieren que haga.
Imaginate que la lista de requerimientos se la tenés que dar a otro. Lo
idea es que _solo_ este documento debería contener todo lo que
necesitás; como escribir esto con tanto detalles lleva demasiado tiempo,
imaginate que en una reunión le contás a una persona de qué se trata lo
que necesitás, y luego le dejás esta lista.
> * Permitir ingresar al usuario preestablecido.
Esto no es un requerimiento funcional. Si querés algo así, que en
realidad se da por sobreentendido, va con los requerimientos no
funcionales.
> *Permitir ingresar todos los datos necesario para configurar el
> script DRCG.
No decís cuales son los datos necesarios; esto es incompletitud. No
aclarás qué es el DRCG... pero si el DRCG es algo que vas a escribir
ahora, estás definiendo al cuadrado como una figura cuadrada, así que
esto no dice nada.
> *Permitir seleccionar un template de varios preestablecidos.
Al no aclarar acá en qué consiste el template, la debés aclarar en el
diccionario.
> *Poder instalar el script en un server remoto via FTP.
> *Poder reutilizar configuraciones anteriores si estas existiesen.
Configuraciones de qué? En dónde dice que esto
"define/administra/gestiona configuraciones de algo?
> *Permitir seleccionar o ingresar las keywords que usará el script
> para generar el contenido.
Estos son 2: uno es "Permitir seleccionar o ingresar las keywords", y
el otro es "generar contenido en base a las keywords"
> * Poder guarda las keywords que son ingresadas manualmente.
y las que no se ingresan manualmente no? es relevante el origen de la
keyword? Las no manuales existen?
> *Poder extraer keywords relacionadas a una padre desde algun
> servicio web como google trens y guardarlas
> Listar los dominios en donde fueron instalados los scripts con sus
> datos.
y cuales son los datos del script???
> El script DCRG debe:
Bueno, de esto hablo alprincipio.
> Generar una página valida tipo blog con contenido extraído de
> diversas fuentes.
y cuales son las fuentes? Expresado así es ambiguo.
Es relevante que sea "tipo blog"? Se genera una página o un sitio?
> Utilizar el template preestablecido correctamente.
Y hay cosas en esta lista que pueden hacerse de forma incorrecta y da
lo mismo? Qué quiere decir esto?
> Actualizar el contenido automáticamente cada cierto rango de tiempo
> preestablecido en la configuración.
y dónde está definido qué es el contenido?
> Reescribir las URLs de acuerdo a la configuración
De qué manera? Con esto solo, yo como diseñador podría elegir que la
manera es reemplazar cada vocal por un número: es un reemplazo de
"alguna manera" así que cumplo con el requerimiento... se entiende el
punto con el ejemplo?
> Crear una cache que expire a X tiempo
El tiempo X lo elige el diseñador? Yo elijo 10 minutos fijos para todos
los dominios...
> Generar X categorías automáticamente mediante sus keywords
Esto de veras no lo entiendo :(
> Generar un historial de los post.
Esto se refiere a guardar los post viejos? Si es un blog no hay otra
forma... a qué te referís?
> General un Feed que se actualice automáticamente con cada post nuevo.
>
> Generar un Site Map válido que sea reportado automáticamente a los
> buscadores.
A cuales? Acá hace falta una enumeración porque no son todos iguales.
Incluso es mejor que la enumeración la especificación de cada mapa a
generar.
> Avisar a los servicios de Ping cada vez que se genera un nuevo post.
Esto implica definir los servicios de Ping...
> Poseer un formulario de contacto.
Lo posee como un tesoro bien guardado y nadie lo puede usar ??? ;-)
No es mejor "el sistema debe generar un formulario de contacto para
usar por los visitantes"???
> Tener un buscador
>
> Poder eliminar la cache (solo usuario administrador)
Quién puede y quién no, no es una funcionalidad. La funcionalidad es la
de eliminar la cache...
> Poder agregar o eliminar las keywords preestablecidas (solo
> usuario administrador)
Esto está mas arriba o lo de incorporarlas manualmente y todo eso es
otra cosa?
> Poder cambiar todos los valores de configuración preestablecidos
> (solo usuario administrador)
Idem anterior.
> Poder cambiar clave de acceso a la configuración (solo usuario
> administrador)
Idem anterior.
> ---
> Ahora lo que no se distinguir bien es el tipo de requerimiento, cuales son
> los funcionales, empresariales, etc
Los funcionales son los que implican funcionalidades del sistema, es
decir, lo que el sistema debe hacer.
Los no funcionales son trasversales a los funcionales pero no implican
qué hacer, sino condiciones de contexto como "se debe usar una DB Oracle
versión 12" o "la interfaz debe ser web" o "la interfaz de alta de un
sitio debe tener este aspecto".
Los empresariales se refieren a objetivos macro que se espera alcanzar
con el uso del sistema: "abaratar costos de producción", "atender de
forma automática al cliente", "controlar el flujo de caja"
> Y también no se bien hasta que nivel de detalle bajar...
Bueno, cuanto más bajes, mejor, porque después es solo sentarse a
escribir.
Conociéndote, y conociendo por arriba tus requerimientos empresariales,
te pediría que lo detalles lo más posible. Creeme que es tiempo muy bien
invertido!
Si acá dejás ambigüedades o cosas no definidas, te va a pasar que vas a
implementar unas cosas apuntando a un lado y otras al otro, y después el
proyecto se muere porque hay 4 cosas de hacer las cosas, todas válidas,
pero que no se llevan bien unas con otras...
Vamos! Uds pueden!!!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-objetos