Académique Documents
Professionnel Documents
Culture Documents
21 Novembro 2017
Resumo
Este relatório apresenta a aplicação e adaptação de um processo já definido pela Critical Software, a
um caso de estudo específico que neste relatório será o “Titanic Books”. Será resumido o caso de
estudo e explicadas as várias opcões de tailoring efectuadas no processo. Por fim, serão
especificadas cada uma das fases do ciclo de vida do processo assim como a justificação das opções
tomadas.
1. Introdução
Em Setembro de 2009, Charles Saley, CEO da empresa Titanic Books decidiu oferecer à sua
companhia 80 000 livros em formato eletrónico. Como é possível verificar, hoje em dia qualquer
comércio tem a sua plataforma online e como tal Saley também decidiu colocar os seus livros à
venda online garantindo assim a viabilidade da empresa na próxima década. Ele acha que para
garantir o sucesso, o sistema deverá estar pronto a utilizar em Setembro de 2010.
Saley marcou então uma reunião com o chefe do departamento de informação, Gregor Padalka,
no qual tinha total confiança, e propôs-lhe então que ficasse a liderar a implementação deste
projeto. O que mais preocupava Saley era a qualidade das páginas reproduzidas quando visualizadas
eletronicamente, a singularidade do serviço e a segurança dos seus ativos devido à pirataria
eletrónica. Sublinhou ainda que não queria que o consumidor necessitasse de comprar hardware
adicional e que a experiência de venda fosse semelhante à de uma livraria, mas realizada
exclusivamente na web. Estabeleceu então o prazo de duas semanas para o projeto ser iniciado.
Padalka reuniu então com os desenvolvedores e com o chefe de marketing e vendas, Sven
Torsen, onde percebeu que iria ser um grande projeto, que era necessário cerca de 300 KLOCS para
este sistema, que seria o seu primeiro grande projeto, o que lhe daria algumas vantagens. O maior
sistema que tinham desenvolvido tinha 80 KLOCS (maior parte código reutilizado) e demorou 6
meses com 15 desenvolvedores. Torsen concordou com ele e acrescentou que como a Titanic Books
tinha uma relação com vendedores privados e livrarias de universidades, que contém 80% das
vendas da empresa não seriam postos de parte neste projeto.
Depois de duas semanas foi então entregue o projeto com os vários requisitos descritos, entre
os quais:
• qualidade na reprodução de cada página eletrónica;
• serviço único;
• segurança dos ativos face a pirataria eletrónica;
• cliente não deve precisar de hardware adicional;
• a experiência de venda deve ser comparável à de uma loja física, mas feita
exclusivamente através da internet;
• tem de estar comercialmente viável em Setembro de 2010 (1 ano);
• será necessário manter relação com livrarias privadas e de universidades;
• o cliente tem de visitar uma loja antes de aderir ao serviço eletrónico, sendo essa a
única forma de aderir;
• a loja fica com o email do cliente e cartão de crédito, valida os dados e envia um link
para o cliente;
• cliente faz download do software e manual de utilizador e define a chave
pública/privada;
• cliente não precisa de voltar a inserir o cartão de crédito online;
• cliente pode visitar a loja ou ligar para apoio personalizado;
• loja tem histórico completo do cliente;
• cliente pode, além de comprar online: comprar livro físico com desconto substancial na
loja física; comprar livro quer físico quer eletrónico com desconto; comprar só livro
eletrónico na loja física;
• cliente pode fazer download ao chegar a casa;
• revendedores recebem uma percentagem do livro original;
• revendedores recebem uma taxa todos os meses para dar apoio ao cliente;
• todas as cópias dos livros utilizam Public Key Encryption.
Este texto é baseado em [1].
2. Ciclo de vida
De acordo com a norma ISO/IEC 12207:2008 [4], para ajustar o ciclo de vida de um projeto é
necessário identificar e documentar as circunstâncias que influenciam o tailoring. Estas influências
incluem:
a) Estabilidade e variedade de ambientes operacionais;
b) Riscos, comerciais ou de performance, que digam respeito às partes interessadas;
c) Novidade, tamanho e complexidade;
d) Data de início e duração da utilização;
e) Questões de integridade como segurança, privacidade, usabilidade e disponibilidade;
f) Oportunidades de tecnologias emergentes;
g) Perfil de orçamento e recursos organizacionais disponíveis;
h) Disponibilidade dos serviços de sistemas;
i) Papéis e responsabilidades em todo o ciclo de vida do sistema;
j) A necessidade de respeitar outras normas.
Tendo estas questões em consideração, para dar resposta aos requisitos do projeto, foi definido o
ciclo de vida seguinte:
Optou-se por juntar as fases de engenharia do sistema e dos requisitos e reduzir o seu tempo
para 1 mês, uma vez que os requisitos se encontravam bem definidos no caso de estudo.
Uma vez que o cliente do projeto é a própria empresa desenvolvedora, considera-se que o
critério de entrada consistirá, apenas, nas necessidades e requisitos do cliente, não sendo necessário
o statement of work (SoW), request for proposal (RFP) ou request for information (RFI). Nesta fase, o
milestone a ser atingido consiste no relatório preliminar de análise do design.
Nesta fase, será preparada uma especificação técnica, de forma a responder às necessidades do
cliente, incluindo uma definição das funções da aplicação, da user interface, da performance, custos,
planeamento e planos de implementação para todos os níveis do software a ser desenvolvido. É,
ainda, necessário verificar que estes requisitos estão completos e são viáveis. É importante verificar
que os requisitos são compreendidos da mesma forma pela equipa de desenvolvedores e pelo CEO
que requereu a aplicação, visto tratar-se de uma aplicação fundamental para a continuidade da
Titanic Books. Poderão ser utilizados mockups para ilustrar a visão da equipa de desenvolvimento e
verificar se esta se encontra alinhada com a visão do CEO ou descobrir requisitos desconhecidos.
Considera-se, ainda, necessário identificar o software previamente desenvolvido que pode ser
reutilizado no projeto, pesando as vantagens e desvantagens de incorporar componentes pré-
existentes.
Nesta fase participam, fundamentalmente, engenheiros de software/ arquitectos e designers de
interação com utilizadores, que trabalham em colaboração próxima com o representante dos
utilizadores, neste caso o CEO e os responsáveis das livrarias dos campus e privadas, de forma a
avaliar a usabilidade da aplicação.
Esta fase fica completa com o relatório preliminar de análise do design. Os inputs para este
relatório incluem, assim, a especificação dos requisitos de software, a arquitetura do sistema, o
documento preliminar de controlo da interface e pré-visualizações da solução (como mockups). No
projeto em causa, o CEO da empresa, de quem partiu a ideia para o desenvolvimento da aplicação,
deverá aprovar a especificação técnica de forma a verificar se esta se encontra de acordo com a sua
visão, uma vez que esta fase é extremamente importante para a construção do software.
É, também, importante medir o progresso do projeto de forma a verificar a eficácia da gestão.
Entre as medidas a avaliar nesta fase encontram-se: unidades identificadas/designed, requisitos a
ser determinados, alterações de requisitos, esclarecimentos de requisitos, horas do staff, estimativas
do tamanho do sistema, esforço, planeamento e reutilização de código.
3. Conclusões
Foi possível concluir que para colocar em prática e com sucesso qualquer projeto de software é
necessário seguir os processos da empresa, adaptando-os às necessidades de cada projeto. Para
cada projeto existe uma adaptação das fases do ciclo de vida do processo e é necessário tomar as
decisões acertadas no começo para que tudo corra bem ao longo do desenvolvimento do projeto.
4. Referências
[1] Software Development Process Analysis. Retrieved 19 November 2017, from Instituto
Superior de Engenharia de Coimbra:
https://moodle.isec.pt/moodle/pluginfile.php/144709/mod_resource/content/0/MDS1718-
Assign1-SWProcess.pdf
[2] Software Development Process. s.l. : Critical Software. CSW-QMS-2002-SDP-0909,
2016-09-29
[3] NASA-SEL. Recommended Approach to Software Development, Revision 3. Greenbelt,
Maryland : NASA Goddard Space Flight Center, June 1992. SEL-81-305
[4] ISO/IEC 12207. Systems and software engineering – Software Life Cycle Processes.
Geveva : ISO, 2008. ISO/IEC 12207:2008(E); IEEE Std 12207:2008