Os pitfalls de projetos client/Server do desenvolvimento
A gerência de projetos client/server envolve pitfalls originais dentro das categorias tradicionais do desenvolvimento dos sistemas. Este articl dirige-se às características originais de projetos client/server do desenvolvimento dentro das seguintes categorias: - exigências do negócio de Defining/documenting - determinando exigências de hardware/software/network - estimando - seguir do projeto - definindo tarefas - estimar horas requereu - estimando a porcentagem da conclusão - Timekeeping - seguir da edição - habilidades tornando-se com tecnologia e ferramentas - segurança - processo de Testing/QA - documentação tornando-se - estabilidade organizational - Prototyping/usability - fins de conexão e aprovaçã0 DEFININDO E DOCUMENTANDO EXIGÊNCIAS DO NEGÓCIOComo com um projeto tradicional do desenvolvimento, documentar exigências deve ser o começo de um projeto client/server do desenvolvimento. É aqui que as exigências de usuário estão definidas porque uma base para a análise de benefício da estimativa e de custo do projeto. O original das exigências deve ser detalhado e incluir telas da entrada, ciclos processando, e relatórios de saída. O projeto de base de dados deve também ser incluído, definindo relacionamentos dos dados. São não somente as exigências do negócio de defining/documenting importantes para estimar o esforço inicial do projeto, é também crítico para determinar mudanças no espaço e determinar o que “feito” é. Muitas vezes o que é revisto ocasional no início de um projeto tornam-se crìticamente importantes em determinar uma conclusão’do projeto s. Os elementos típicos de um original das exigências incluem: - objetivo do project/system - exigências do negócio - exigências do input/output - área de negócio afetada - processando exigências - exigências da segurança - dados ou lima que seguram exigências - impactos organizational - exigências da documentação É difícil para um revisor de contas determinar se todas as exigências forem detalhadas e definidas adequadamente. Entretanto, em um mínimo, o revisor de contas deve verificar que as exigências estão definidas em um nível suficiente do detalhe e que há uma autorização apropriada da gerência do usuário. DETERMINANDO A FERRAGEM, O SOFTWARE, E AS EXIGÊNCIAS DA REDEUma vez que as exigências de usuário são definidas, as exigências de hardware/software/network podem ser estabelecidas. Estas exigências são usadas determinar a plataforma e o networking processando para o sistema. Os fatores que determinam o platform(s) apropriado estão infrastructure da rede de existing/strategic, número de usuários simultâneos, tamanho da base de dados, e a um volume das transações. Não há tipicamente nenhuma “plataforma” direita a usar-se e muitos SÃO pessoal têm opiniões diferindo. Além, os vendedores estão anunciando sempre liberações novas com as características novas, fazendo a difícil de distinguir características de produto existentes contra o vaporware. Beware das tecnologias e das metodologias que introduzem os termos e os vernaculars novos que fornecem uma tela de fumo para a gerência de projeto e a falta pobres da perícia. Esperançosamente, uma mais melhor aproximação é escolhida que considera o custo, o desempenho dos sistemas, e a facilidade do desenvolvimento. Tipicamente, as exigências são documentadas em um original da arquitetura que incluem: - exigências do negócio - considerações táticas - considerações estratégicas - relações com outros sistemas No.one plataforma dos hardware/software “caberá” todas as aplicações, apenas como um martelo sozinho não construirá uma casa. Entretanto, nenhuma parte pequena da escolha da plataforma deve ser o o que as plataformas os colaboradores são familiares com. A familiaridade com as plataformas escolhidas melhorará a exatidão das estimativas e ajudá-la-á assegurar-se de que “os problemas do assassino” do sistema não estejam encontrados mais tarde. É demasiado risky usar tecnologias unproven como uma plataforma para projetos grandes do desenvolvimento. Um bottleneck potencial com sistemas client/server é a capacidade e o tráfego da rede entre a estação de trabalho do usuário e o usuário. Muitas vezes, estes sistemas esperam-se executar as redes de área larga excedentes (wANs) que não podem fornecer tempos de resposta consistentes da rede. ESTIMARUm uso da estimativa do projeto deve determinar se a gerência quer financiar o projeto baseado em uma análise de cost/benefit. Obviamente, se as estimativas não forem exatas, a gerência não pode fazer decisões boas sobre se querem fazer o projeto, atribui povos às tarefas, ou à planta sobre quando os deliverables estarão disponíveis. Essencialmente, sem estimativas dos bens, os gerentes de projeto não podem controlar. Os fatores que entram em estimativas do bom são: - experiência com as ferramentas de hardware/software/network/development: Se os colaboradores não forem experimentados com o platforms/tools, a gerência deve realizar que a estimativa não é provavelmente muito boa e para estar pronta para gastar muito mais no projeto e esperar atrasa. - familiaridade com as exigências: Os colaboradores foram envolvidos na definição das exigências? If.not, outra vez a estimativa não é provavelmente muito boa; e esteja pronto para gastar muito mais no projeto e esperar atrasa. - sistemas existentes: É a aplicação nova uma reescrita dos sistemas existentes onde as exigências dos relatórios e dos dados são definidas? Se assim, a estimativa pode ser consideravelmente exata. Se não, o esforço adicional pode ser requerido aos re - faça o sistema para encontrar-se com exigências de usuário. Esperançosamente, um registro de trilha de esforços similares do desenvolvimento pode ser usado fornecer uma verificação da realidade para as estimativas. Isto pode também ser usado enquanto um controle para os colaboradores controlando que podem acolchoar suas estimativas. Um fator ou uma escala da confiança devem ser uma parte desta estimativa. Isto daria a gerência uma melhor-caixa e um scenario worst-case. Isto permitiria a gerência a abilidade de decidir-se não fazer o projeto se pudesse ser não fins do prazo demasiado caros ou prováveis da reunião. Um pitfall final a prestar atenção para fora para é um jogo da data do alvo pela gerência sênior a ser cometida pela equipe de projeto. Se uma data top-down do alvo for ajustada, há uma pressão na equipe de funcionários do desenvolvimento “suportar” nas estimativas que não são baseadas em o que é requerido ou pressão não ter estimativas em tudo. SEGUIR DO PROJETOComo com todos os projetos do desenvolvimento, essenciais a evitar ou a controlar pitfalls client/server do desenvolvimento é a gerência de projeto eficaz. Os elementos alistaram são usados abaixo identificar onde o projeto está, o que é deixado, e a quantidade de esforço restante. - definindo tarefas: As tarefas do desenvolvimento devem ser definidas em um tamanho que seja pequeno bastante ser seguido fàcilmente e significativo. O gerente de projeto pode eficazmente controlar um projeto se houver uns deliverables específicos com horas claramente definidas e freqüentar datas devidas. As tarefas grandes com deliverables ambiguous fazem difícil de saber se o projeto estiver no problema a tempo controlar eficazmente os pitfalls. As interdependências da tarefa e a atribuição das responsabilidades são particularmente importantes para projetos com as equipes relacionadas múltiplas onde pode ser difícil determinar quem é responsável para que. - estimando horas requeridas: Isto deve ser feito por alguém que é experimentado com o que é requerido — esperançosamente o colaborador que estará executando a tarefa. Isto forneceria algum posse ou compromisso à conclusão da tarefa. - estimando a porcentagem da conclusão: Esta pode ser uma suposição inaccurate se baseado na quantidade de trabalho que já expended para terminar uma tarefa. Deve ser baseada em deliverables definidos tais como o número de tarefas, de telas, ou de relatórios terminados. - Timekeeping: Timekeeping não é usado freqüentemente eficazmente. Muitos colaboradores não gravam regularmente seu tempo nem não mantêm uma estimativa exata das horas gastada. Isto faz difícil de determinar o status do projeto. Além, a falha gravar todas as horas para este projeto pode fazer com que outros projetos underestimated se as horas gravadas forem usadas para as estimativas futuras. SEGUIR DA EDIÇÃOSeguir da edição pode ser usado refinar exigências do projeto documentando e resolvendo as decisões que não foram contempladas durante a definição original das exigências. O registro das edições é também um veículo bom para problemas proeminentes seguindo e assegurar-se de que estejam resolvidos antes que o sistema esteja executado na produção. Um pitfall comum com sistemas client/server é a falta da estabilidade devido aos incompatibilities do software, aos erros da rede, e às fraquezas com a base de dados que segura updates simultâneos. As edições devem ser tornadas mais pesadas na severidade “dos bujões da mostra” “aos realces agradáveis” para dar prioridade ao esforço do desenvolvimento. O usuário possuindo do sistema deve ser esse para determinar tão lá se uma edição for resolvida, quanto uma tendência para que os colaboradores reivindiquem a definição prematuramente. Como com todo o registro de problema, o registro da edição deve conter quem identificou a edição, a data onde a edição foi identificada e comunicada, a severidade, uma descrição da edição, e se resolvido, o texto da definição. Isto pode também servir enquanto uma fuga de exame das decisões fêz. As edições devem ser retidas depois que são resolvidas ser usadas para tender futuro. A análise de tendência deve ser executada para seguir edições do treinamento, as.well.as problemas com ferragem, software de sistemas operando-se, e o outro software de aplicação. Se cada erro for registrado, o registro das edições pode também ser usado seguir a estabilidade total do sistema. O registro das edições pode ser usado diagnosticar problemas localizando as situações onde o problema ocorreu. A informação do problema pode também ser útil em obter o auxílio do vendedor na definição do problema fornecendo a evidência desobstruída da correlação entre problemas e produtos do vendedor. HABILIDADES TORNANDO-SE COM TECNOLOGIA E FERRAMENTASO treinamento on-the-job não é a maneira aprender ferramentas e técnicas de desenvolvimento client/server novas. Um colaborador deve certamente fazer exame da sala de aula ou do treinamento por computador (CBT). Entretanto, os colaboradores não devem embark em projetos em grande escala sem primeiramente com sucesso ter terminado projetos pequenos. Isto reduziria o risco do projeto permitindo que os colaboradores provem-se em uma escala menor e dêem-se lhes a abilidade mais exatamente à estimativa o esforço envolvido. Os gerentes de projeto devem também ser treinados em controlar os projetos progressivamente maiores que focalizam em equipes múltiplas, em interdependências da tarefa, e em usuários múltiplos. Em projetos maiores com tecnologias novas, pode haver muitos povos com os níveis diferentes da perícia que tentam fazer decisões. Há muitos níveis do conhecimento. Isto pode variar do que pessoa leu dentro um compartimento, a o que se ouviram de alguma outra pessoa, a o que sabe do treinamento, a o que sabe de trabalhar com um sistema ou após a experiência do desenvolvimento. Os primeiros três níveis do conhecimento são razoavelmente fracos mas consideravelmente comuns. Povos que’papéis de s deve ser controlado, baseado em um recognition de seu nível do conhecimento para assegurar-se de que as tarefas estejam atribuídas apropriadamente, estimativas são de confiança, as.well.as isso as decisões feitas e os sentidos feitos exame são som. As verificações da referência devem ser feitas para empregados e os consultantes novos da parte externa que reivindicam ser “peritos” para verificar seu nível da perícia. SEGURANÇAUma execução bem sucedida da segurança pode ser difícil em um ambiente client/server devido a muitas camadas processando que devem ser fixadas: - estação de trabalho do cliente. Historicamente, este foi um computador pessoal que tivesse a restrição fraca dos controles quem tem o acesso aos programas e às limas. Entretanto, com a introdução de sistemas operando-se tais como a estação de trabalho’de Windows NT de Microsoft s, os controles disponíveis estão rivalizando o nível da segurança disponível em um mainframe. - aplicação. Este nível da segurança controla tipicamente os menus e os campos que um usuário pode alcançar. Os níveis do acesso tipicamente são lidos, atualizados, e suprimidos. - rede. Isto trata de fixar a atividade na rede. As ferramentas tais como tubos aspiradores da rede estão disponíveis ler e alterar os dados que são transmitidos sobre a rede. Há tipicamente dois tipos de controles da rede usados impedir a divulgação ou a alteração imprópria dos dados. O primeiro está restringindo o acesso aos segmentos ou às áreas de uma rede. Isto é feito geralmente com sistemas do guarda-fogo ou routers da seleção que restringem o tráfego baseado na fonte e nos endereços de destino. As conexões do Internet devem ser controladas por guarda-fogos. O outro método para fixar o tráfego da rede é encryption. Isto impede a abilidade de ler ou alterar os dados que vão através da rede. Em um mínimo, as senhas devem ser cifradas. - usuário. Dos usuários controle tipicamente que podem entrar à rede e que pode alcançar bases de dados e limas na rede. A segurança do usuário é a a maioria tipo comum de segurança usado em uma rede de área local. O acesso à rede é tipicamente controlado com um userid e uma senha correspondente. O acesso às limas é concedido então baseado na identificação atribuída do usuário ou de grupo. A maioria de usuários fornecem para a atividade registrando da administração e da violação da segurança. Em sistemas grandes do cliente /server, um mainframe está executando a função do usuário. - base de dados. O sistema da base de dados pode também executar as funções da segurança, requerendo um userid e uma senha e atribuindo então o acesso aos dados baseados na identificação do usuário ou de grupo. Além, as bases de dados podem registrar a atividade da administração e da violação da segurança. Coordenar níveis múltiplos da segurança é difícil, e muitos sistemas introduzem fraquezas da segurança ignorando controles de acesso em determinadas plataformas ou scripting inícios de uma sessão nas plataformas que podem fàcilmente circumvented. Um outro problema típico com sistemas client/server é que são incómodos, requerendo inícios de uma sessão múltiplos com userids múltiplos e senhas. Idealmente, a aplicação deve ser projetada com um único sign-on que os controles alcancem no ation, na estação de trabalho, no usuário, e nos sistemas applic da base de dados, junto com os controles da rede que restringem o acesso aos segmentos apropriados da rede e cifram o tráfego sensível. TESTARQuando os elementos do processo tradicional da qualidade assurance/testing se aplicarem ao ambiente client/server, este ambiente contem os desafios originais que requerem testar mais rigorous embora os colaboradores não possam fazer exame de testar como seriamente porque é “somente um sistema do PC.” O processo client/server do desenvolvimento dos sistemas deve incluir plantas de teste com resultado previsto, resultado real, e disposição das diferenças. Se as exigências do sistema forem definidas bem, podem ser usadas desenvolver as plantas de teste. Testar deve incluir todas as plataformas, as.well.as as relações entre elas e a abilidade segurar usuários simultâneos. Além a segurar updates múltiplos através das conexões simultâneas, muitos sistemas client/server incluem a abilidade de operar-se sem uma conexão de rede direta com a sincronização da base de dados usando um replication chamado process. Isto requer etapas testando originais verificar que as adições, os updates, ou os apagamentos replicated estão segurados corretamente com o processo do replication as.well.as trabalhar com o sistema que se opera em um múltiplo - modalidade do usuário. Os updates simultâneos às bases de dados (dois povos que tentam atualizar ao mesmo tempo o mesmo registro) podem criar conflitos da base de dados. Como o sistema segura os conflitos devem ser documentados e controlado pelo software de aplicação ou pelos procedimentos manuais. O tempo de resposta pobre é frequentemente uma edição com sistemas client/server. Os bottlenecks podem ser corrigidos aumentando a capacidade da rede, perguntas ajustando da base de dados, ou optimizing o projeto de base de dados. A gerência client/server da mudança cría também desafios originais com o controle da versão. O código mming de Progra é distribuído tipicamente através das plataformas múltiplas as.well.as encaixado dentro das bases de dados. Quando os pacotes do controle da versão do PC forem usados freqüentemente, mude os sistemas de gerência que incluem a sincronização de source/object não são tão sofisticados quanto os sistemas usados no ambiente de mainframe. DOCUMENTAÇÃO TORNANDO-SEQuando o objetivo de um sistema client/server for ser usuário amigável e fornecer funções em linha da ajuda, estes sistemas devem adicionalmente ter os tipos tradicionais de documentação disponíveis a operar-se, mantêm, e usam o sistema. As exigências da documentação devem incluir o seguinte: - vista geral do sistema - códigos do usuário instructions/transaction - fluxogramas do sistema - relações de sistema - função processando, organização e descrição breve do ms do progra. - características da lima descriptions/dataset (projeto de base de dados se aplicável) - exigências da segurança e do controle do sistema, e execução daquelas exigências no sistema - exigências do apoio e da retenção da lima - erros e mensagens do usuário As exigências da documentação devem ser incluídas na planta do projeto, as.well.as contratos se trabalhando com um vendedor exterior. ESTABILIDADE ORGANIZATIONALOs reorganizations e o turnover de equipe de funcionários são difíceis de controlar, particularmente em organizações grandes. Estes impactos podem fàcilmente matar um projeto. Um gerente de projeto bom antecipará a possibilidade de perder membros da equipe antes “das duas semanas onde a observação” é dada. Obviamente, a gerência deve fazer que ele lata para reter os povos chaves. Entretanto, a equipe de funcionários perdedora é inevitável — especial se a equipe de funcionários é treinada “nas tecnologias quentes” que são muito marketable. As coisas que podem ser feitas para reduzir o impacto de mudanças da equipe de funcionários são: - treinamento: assegurando-se de que bastante povos na equipe de funcionários sejam knowledgeable com as tecnologias assegurar que a equipe não se acaba reliant em nenhuma uma pessoa. Isto poderia também ser usado ajudar controlar o pessoal que é resistente à mudança e não quer tratar do ele. - estabelecendo apoios: identificar quem poderiam encher uma posição’da pessoa s, o que fariam exame para começar ao indivíduo até a velocidade, e executar uma planta antes dela são requeridas. Pode fazer o sentido para ter designado indivíduos backup escreve partes do sistema para assegurar-se de que tenham as habilidades necessárias o suportar. - Mentoring: identificando oportunidades para que os indivíduos mais sênior ajudem a outros respondendo a perguntas, ajudando com raciocínio, e funcionamento com os problemas. - padrões de programação: tampas como o código deve ser escrita e documentado para se assegurar de que possa ser suportado por outro. - revisões de código: envolve rever sistemas enquanto estão desenvolvidos para se assegurar de que estejam escritos logicamente, compreensível por outros, e para aderir aos padrões da documentação. - telas da manutenção: se seja construído para permitir a modificação do sistema chave functions/parameters sem intervenção do programador. CONCLUSÃONão é fácil controlar os projetos que são dependentes dos sistemas client/server complexos. Os problemas técnicos podem ocorrer que “matam um sistema” que não tem nada fazer com gerência de projeto. Entretanto, os controles da gerência de projeto podem ser introduzidos que mitigate os riscos destes problemas. Quando examinar a gerência que de projeto os controles diverges da aproximação tradicional do exame, recursos incorporados puder ser conservado escalando às situações da gerência sênior onde estes controles não estão no lugar. Como discutido previamente, os controles os mais importantes para prestar atenção para fora para para incluir: - experiência com a tecnologia e os projetos similares - adequadamente definindo e documentando exigências de usuário - datas realísticas estimando e de estabelecimento exatas do alvo - seguindo o progresso e as edições - executando a segurança eficaz - eficazmente documentando e testando o sistema - obtendo a aprovaçã0 do usuário Se estes controles estiverem no lugar, o gerente e os revisores de contas de projeto têm alguma garantia que os riscos associados com os pitfalls client/server estão sendo controlados eficazmente. este é um artigo adicionado por Marrie Funil
|
|||
|