Prévia do material em texto
Faculdade Maurício de Nassau Curso de Análise e Desenvolvimento de Sistemas SerPlay Educacional Plano de Desenvolvimento de Software Versão <1.0> . Histórico de Revisões Data Versão Descrição Autor 22/03/2020 1.0 Criação do documento Israel Joab Conteúdo 41. Introdução 1.1 Propósito 4 1.2 Definições, Acrônimos e Abreviações 4 1.3 Visão Geral 4 2. Posicionamento 4 2.1 Descrição do Problema 4 2.2 Visão Geral do Mercado 5 2.3 Oportunidade de Negócio 5 2.4 Posicionamento do Produto 5 3. Descrição dos Usuários e Stakeholders 5 3.1 Usuários 5 3.2 Papéis e Responsabilidades 5 4. Visão Geral do Produto 6 4.1 Resumo da Capacidade do Produto 6 4.2 Leis e Regulamentações 6 4.3 Custos e Preços 6 4.4 Licenças e Instalação 6 4.5 Concorrência 6 4.5.1 < Concorrente 1> 6 4.5.2 <Concorrente 2> 6 5. Arquitetura e Funcionalidades do Produto 6 5.1 Arquitetura 6 5.2 Funcionalidades 6 5.2.1 <Funcionalidade 1> 6 5.2.2 <Funcionalidade 2> 6 6. Restrições 6 7. Padrões de Qualidade 6 8. Outros Requisitos do Produto 6 8.1 Requisitos de Ambiente 7 9. Ciclo de Vida do Desenvolvimento de Software 7 9.1 Metodologia 7 9.2 Ferramentas 7 9.3 Tecnologias 7 9.4 Linguagem de Programação 7 9.5 Forma de Armazenamento de Dados 7 Plano de Desenvolvimento de Software 1. Introdução O propósito deste documento é coletar, analisar e definir as necessidades e características de alto nível do sistema. Ele deve ter foco nas necessidades dos Stekeholders e usuários e devem descrever o porquê dessas necessidades. 1.1 Propósito A finalidade do Plano de Desenvolvimento de Software é reunir todas as informações necessárias ao desenvolvimento e controle do projeto. Ele descreve a abordagem dada ao desenvolvimento do software e é o plano de nível mais alto gerado e usado pelos gerentes para coordenar o esforço de desenvolvimento. O Plano de Desenvolvimento de Software é usado por estas pessoas: · Pelo gerente de projeto, para planejar a programação do projeto e as necessidades de recursos, e para acompanhar o progresso em relação à programação. · Pelos membros da equipe do projeto, para compreenderem quais são suas funções, quando elas devem ser executadas e de que outras atividades eles dependem. 1.2 Definições, Acrônimos e Abreviações UC - Casos de Uso 1.3 Visão Geral Este Plano de Desenvolvimento de Software contém as seguintes informações: Estimativas relacionadas ao desenvolvimento do software SerPlay. Visão Geral do Projeto - fornece uma descrição da finalidade, do escopo e dos objetivos do projeto. Ele também define os produtos que se espera que o projeto libere. Organização do Projeto - descreve a estrutura organizacional da equipe do projeto. Processo de Gerenciamento - explica a programação e os custos estimados, define as principais fases e marcos do projeto, e descreve como o projeto será monitorado. Planos e Diretrizes Aplicáveis - fornecem uma visão geral do processo de desenvolvimento de software, incluindo métodos, ferramentas e técnicas a serem seguidas. 2. Posicionamento 2.1 Descrição do Problema [Provê um resumo da descrição do problema que deverá ser solucionado pelo projeto. O formato a ser usado é o apresentado abaixo. Mais de um problema pode ser relatado] O problema de A instituição não possui um sistema próprio de Podcast. afeta Alunos em geral. cujo impacto é O impacto é remediado por outras soluções proprietárias. uma solução poderia ser Disponibilizar conteúdo diversificado via streaming. 2.2 Visão Geral do Mercado Serviços de streaming por demanda é uma tendência mundial, de maneira geral, é um modelo de negócio em franca expansão. 2.3 Oportunidade de Negócio Oferecer um sistema moderno de Podcast para a instituição Ser Educacional, permitindo assim, além dos alunos escutar suas próprias playlists, poderá também ouvir playlists criadas pelos professores do Grupo de Ensino. 2.4 Posicionamento do Produto [Provê uma descrição de alto nível sobre como o produto poderá ser posicionado no Mercado. O formato a ser usado é o seguinte:] Para Grupo Ser Educacional Que Falta de um sistema próprio de Podcast O SerPlay É um sistema de Podcast seguindo os mesmos conceitos e casos de sucesso do Spotify que Sistema minimalista e completo para servir de apoio aos estudantes. Ao contrário de Spotify, Deezer. Nosso produto Será um canal próprio de streamin da instituição [Uma descrição de posicionamento do produto comunica a intenção da aplicação e a sua importância dentro do projeto.] 3. Descrição dos Usuários e Stakeholders [Para efetivamente entregar produtos e serviços que atendam às reais necessidades de clientes e stakeholders, é necessário identificar e envolver todos eles como parte do processo de análise de requisitos. Você deverá também identificar os usuários do sistema. Essa seção prove um modelo para descrever o perfil de stakeholders e usuários envolvidos com o projeto e os problemas percebidos por eles.] 3.1 Usuários [Mostra uma lista de todos os usuários da solução Exemplo: em uma solução de controle acadêmico encontramos Professores, Alunos e Coordenadores.] Tipo de Usuário Responsabilidade Colaboradores Seu objetivo é promover o pensamento criativo para gerar uma grande quantidade de ideias que possam ser utilizadas na resolução dos problemas. 3.2 Papéis e Responsabilidades [Mostra uma lista de todos os stakeholders identificados. Exemplo: em uma visão de alto nível encontramos Analistas, Desenvolvedores, Testadores, Gerente, entre outros] Nome Papel Responsabilidade Israel Joab Gerente do projeto O Gerente do projeto aloca recursos, especifica prioridades, coordena as interações com os clientes e usuários e, geralmente, tenta manter a equipe de projeto centrada na meta correta. O Gerente de projeto também estabelece um conjunto de práticas que garante a integridade e qualidade dos artefatos do projeto. Israel Joab Arquiteto O Arquiteto coordena as atividades técnicas e os artefatos no decorrer do projeto. O arquiteto estabelece a estrutura geral de cada visão de arquitetura: a decomposição da visão, o agrupamento dos ele mentos e as interfaces entre esse s principais agrupamento s. Sendo assim, diferente dos outros trabalhadores, a visão do Arquiteto é de largura, e não de profundidade. Israel Joab Designer O designer define as responsabilidades, as operações, os atributos e os relaciona mentos de uma ou várias classes e determina como elas de vem ser ajustadas ao ambiente de implementação. Além disso o designer pode ser responsável por um ou mais pacotes de design ou subsistemas de design, incluindo quaisquer classes contidas nos pacotes ou subsistemas. Israel Joab Desenvolvedor Definir e criar soluções técnicas de acordo com a tecnologia utilizada no projeto; Compreender a arquitetura e adaptar-se a ela; Identificar e construir os testes de desenvolvedor que cubram o comportamento desejado dos componentes técnicos; Comunicar o design de uma forma que os outros membros da equipe compreendam; Integrar o sistema com os novos componentes de software produzidos ou alterados 4. Visão Geral do Produto O sistema de Streaming SerPlay, possuirá uma infinidade de funcionalidades como player de música. Entre asmais comuns, estão as opções de salvar aulas, indicações de áudio, audiobooks e playlists dos professores para escutar posteriormente, seguir e ser seguido por usuários do SerPlay, gerando um indicador de atividades por parte desses contatos e o serviço de busca da plataforma. 4.1 Resumo da Capacidade do Produto A utilização do SerPlay é que o aluno poderá estudar em qualquer local ou exercendo qualquer atividade. Agregando ainda valor aos seus estudos cotidianos. 4.2 Leis e Regulamentações Não aplicável. 4.3 Custos e Preços O aluno não pagará pelo serviço de streaming. 4.4 Licenças e Instalação GNU General Public License (GPL) 4.5 Concorrência Diversos provedores de Streamings tais como: 4.5.1 Spotify 4.5.2 Deezer 5. Arquitetura e Funcionalidades do Produto A aplicação deveser intuitiva o suficiente para que possa ser utilizada sem nenhum tipo de treinamento. A interatividade da aplicação deve permitir que os usuários tenham acesso ao conteúdo da aplicação facilmente. Além disso, qualquer outra funcionalidade da aplicação deve ser clara e objetiva, de modo que o usuário tenha uma curva de aprendizado mínima e uma experiência agradável desde o primeiro uso. Essa premissa é praticamente padrão em qualquer aplicação, e no SerPlay não é diferente, o sistema não exige conhecimentos prévios e é intuitivo, de modo que o aluno é capaz de aprender como utilizar as funcionalidades disponíveis sozinho enquanto navega pelo sistema. Sua navegação é intuitiva e simples. 5.1 Arquitetura Sistema web Dispositivos móveis (Android e iOS) 5.2 Funcionalidades 5.2.1 Usuário entra na aplicação. Na tela inicial, o sistema apresenta o formulário de login. O usuário digita seu login, senha e submete o formulário. O usuário entra na aplicação. O usuário entra na aplicação. O usuário acessa o menu de busca. O usuário digita no campo de busca o nome do curso que está procurando. O sistema coleta resultados relevantes a partir da pesquisa realizada. O usuário vê os resultados e vê se o que ele procura está na lista de resultados. 2> 6. Restrições Tempo, prazo e equipe. 7. Padrões de Qualidade Em qualquer passo do fluxo básico em que o usuário perca sua conexão com a internet um aviso será mostrado em tela para que o usuário refaça sua conexão a não ser que o usuário possua os episódios do podcast baixados em seu dispositivo. 8. Outros Requisitos do Produto Não há. 8.1 Requisitos de Ambiente Desktop, Smartphone ou qualquer dispositivo que possua conexão ativa com a internet. 9. Ciclo de Vida do Desenvolvimento de Software Iteração RUP, terá como objetivo minimizar riscos, a interação acontecerá dentro de cada fase, gerando incrementos em todo o processo de desenvolvimento. O plano de iterações identificará quais e quantas iterações são necessárias durante o processo. 9.1 Metodologia Modelo de Ciclo de Vida Associado ao RUP 9.2 Ferramentas Visual Studio Code, Android Studio, Eclipse 9.3 Tecnologias Banco de Dados Mysql, linguagens de programação diversificadas, sistema de hospedagem wen. 9.4 Linguagem de Programação HTML, PHP, Java e Android. 9.5 Forma de Armazenamento de Dados Servidor de hospedagem web