Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina Online 2018.3 EAD - PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE (CCT0746/3021104) 9002 Aula 4 O desenho no processo de desenvolvimento de software Apresentação: Nesta aula, iremos definir o conceito de desenho para o processo de desenvolvimento de software. A fase de desenho tem como objetivo modelar o sistema, atendendo os requisitos levantados na fase de análise, e prepará-los para a implementação. O desenho do produto ou solução mostra como deve ser implementado, mas não envolve qual o tipo de tecnologia especifica necessita para fazê-lo. Objetivos · Conhecer as atividades de desenho ou arquitetura no processo de desenvolvimento de software; · Diferenciar os modelos de desenhos para as suas atividades; · Entender as necessidades de desenhar a solução analisando os requisitos. Atividades da fase de Projeto ou desenho de software Constrói a solução computacional, com base na especificação do problema. Avalia as alternativas tecnológicdas disponíveis. Define as tecnologias de Linguagem de programação e SGBD (Sistema Gerenciador de Banco de dados) que serão usados no desenvolvimento · Especifica a infra e sistema computacional necessária · Desenha a arquitetura do software · Projeta a interface do software · Projeta o banco de dados que o software usará · Mostra a relação com outros sistemas · Cuidados · Uso de tecnologias novas: custo compensa o risco? · Orçamento: soluções reais Problema vs. Solução Através do levantamento de informações na fase de análise de requisitos, define-se um problema ou meta a ser alcançado. Após levantamento, uma solução deverá ser escolhida dentre várias possíveis, isto é o papel do arquiteto de software. A documentação do desenho explicita a solução que será tomada para resolução do problema. Ambiente e Arquitetura do Software Fundamental contextualizarmos a relação do sistema com o ambiente em que está inserido, bem como a relação entre os elementos internos, definindo a arquitetura do software. Modelos de desenho Desenho interno É a maneira como o sistema interage com outros produtos ou sistemas. Podem conter parte físicas, lógicas, interconexões com outros sistemas e produtos, interna ou externamente. Desenho externo Visão que os usuários terão da solução ou produto e a forma com que eles interagirão. O nível de abstração e agregação dos elementos dos sistemas podem ser: NÍVEL ESTRATÉGICO OU DESENHO ARQUITETÔNICO É o corpo da arquitetura do sistema a ser implementado. Com base nesse desenho, já se pode saber se o sistema atenderá aos requisitos e aos custos relacionados do projeto. NÍVEL TÁTICO OU DESENHO LÓGICO É a aplicação das decisões tomadas no nível estratégico. A solução contemplará a reutilização, ou não, de componentes, que serão desenvolvidos para ele, buscando satisfazer os requisitos do produto. NÍVEL OPERACIONAL OU DESENHO DETALHADO É o comportamento de cada componente. É desenvolvido em conjunto com a documentação voltada para usuários, no caso de desenho externo, ou documentação do código do programa, no caso de desenho interno. Reutilização Nesta fase, é comum se fazer uso de processos que já foram definidos, usados e testados em outros projetos ou produtos, evitando o retrabalho. Código Reutilização de parte ou todo ó código fonte de módulos do sistema. Só é possível quando na fase de construção do código aplicou-se corretamente conceitos como o de coesão, acoplamento. Reutilização de objeto Bibliotecas e classes fundamentais. Reutilização de plataforma Reutilização de Plataforma - Camada de arquitetura, consiste na colaboração de ferramentas para gerenciar e automatizar o ciclo de vida de desenvolvimento de software, com a utilização de "templates" de processos. Desenho Aproveitamento de ideias para solução de problemas, são comumente encontradas em padrões, frameworks e arquiteturas, abordagens que permitem a reutilização ao nível de desenho. Reutilização de classe Módulo de código binário, mecanismo baseado em: Composição (“tem um”) e Herança ou derivação (“é um”). TESTE DE CONHECIMENTO Nesta etapa do processo do desenvolvimento, o objetivo é mostrar como deve ser implementada a solução, porém não envolve qual o tipo de tecnologia especifica é necessária: · Manutenção · Desenho do produto · Concepção · Análise · Implementação É a visão que representa os componentes do sistema, a relação entre os componentes, o funcionamento dos componentes e a interconexão com outros sistemas. · Visão externa · Visão estrutural · Visão geral · Visão comportamental · Visão interna Classifque cada sentença abaixo como V(Verdadeira) ou F (Falsa). I. Escopo é a abrangência do sistema; II. Requisitos são interesses dos usuários; III. A falta de treinamento pode ser causa do fracasso do software; IV. Os componentes do hardware jamais podem ser reutilizados Assinale a sequência correta de V ou F que representa a classificação das sentenças acima: · I-F, II-F, III-F IV-F · I-F, II-V, III-V IV-F · I-V, II-F, III-V IV-F · I-F, II-V, III-F IV-F · I-V, II-V, III-V IV-F Com base nos modelos de desenho do PDS, a frase a seguir representa qual nível de abstração e agregação dos elementos dos sistemas? "É o comportamento de cada componente. É desenvolvido em conjunto com a documentação voltada para usuários, no caso de desenho externo, ou documentação do código do programa, no caso de desenho interno." · Desenho lógico. · Nível operacional. · Nível tático. · Nível estratégico. · Nível conceitual. Com relação ao nível de abstração e agregação dos elementos dos sistemas, o nível que representa o corpo da arquitetura do sistema a ser implementado, onde já se pode saber se o sistema atenderá aos requisitos e aos custos relacionados do projeto é o · operacional ou desenho detalhado · estratégico ou desenho detalhado · tático ou desenho lógico · operacional ou desenho lógico · nível estratégico ou desenho arquitetônico O uso de metodologias de desenvolvimento de sistemas tem como objetivo garantir que · d) o software a ser desenvolvido seja realizado conforme os requisitos de sistema, no prazo solicitado e com a qualidade desejada. · c) o modelo relacional desenvolvido represente estritamente as funcionalidades até, no máximo, a segunda forma normal. · e) o software, depois de desenvolvido, não possa sofrer alteração em sua estrutura nem em seu código para não serem modificados os requisitos. · b) o código gerado pelo desenvolvedor implemente corretamente as definições de processamento, entrada e saída, considerando os recursos de rede como principal requisito. · a equipe de desenvolvimento siga corretamente a estrutura de banco de dados orientado a objeto, eliminando etapas de análise Relacione as colunas: 1 - Código 2 - Reutilização de Classes 3 - Reutilização de Objetos 4 - Reutilização de Plataforma 5 - Desenho ( )Reutilização de parte de código de programa ( )Módulo de Código Binário ( )Bibliotecas e classes fundamentais ( )Reutilização de Plataforma ( )Aproveitamento de ideias para solução de problemas encontrados no desenho, geralmente baseado em classes abstratas derivadas por herança de outras classes. · 2,1,4,5,3 · 5,4,3,2,1 · 1,2,3,4,5 · 1,3,2,4,5 · 1,2,4,5,3 Dentro da Engenharia de Software, encontramos uma gama de conceitos. Embasado nisso, analise as assertivas e assinale a alternativa que aponta a(s) correta(s) sobre Processos de Software. I. Podemos definir um processo de software como um conjunto de atividades não relacionadas que levam à produção de um produto de software. II. A definição das funcionalidades do software e as restrições a seu funcionamento devem ser definidas na produção de um software. Essa atividade está incluída no processo de software. III. A validação de software também é uma atividade presente no processo de software. IV. Os processos de software são complexos e, como todos os processos intelectuais e criativos, dependem de pessoas para tomar decisões e fazer julgamentos. Não existe um processo ideal, a maioria das organizações desenvolve seus próprios processos de desenvolvimento de software. · Apenas II, IIIe IV. · Apenas I e IV. · Apenas I. · Apenas I e III. · I, II, III e IV.
Compartilhar