You are on page 1of 3

CENTRO UNIVERSITÁRIO DA GRANDE DOURADOS

Curso Engenharia de Software


Disciplina: Metodologia para Desenvolvimento de Software

Atividade 01
Atividade referente às aulas 1 e 2
Enviar no Portfólio 1

Aluno:
Polo:

Nota máxima da Atividade: 2.5

PRESTE ATENÇÃO - VOCÊ DEVE ENVIAR AS ATIVIDADES DAS AULAS 1 E 2 NO


PORTIFÓLIO 1. CADA CONJUNTO DE ATIVIDADE VALE 2,5 PONTOS

1. O que é uma metodologia e quais seus objetivos e benefícios? Em relação ao software


como podemos descrever uma metodologia. (0,5 ponto)
Uma metodologia é um conjunto de procedimentos, técnicas, ferramentas e diretrizes que
são usados para orientar o desenvolvimento de um projeto. Ela tem como objetivo tornar
o processo de desenvolvimento mais estruturado, organizado e eficiente, além de garantir
que os resultados obtidos estejam de acordo com as expectativas do cliente.

No contexto de software, uma metodologia pode ser descrita como um conjunto de


práticas que são usadas para guiar o desenvolvimento de um software, desde a concepção
até a entrega.
2. Segundo Yourdon, o projeto estruturado possui 6 fases, cite todas as fases e explique
ao menos 2 fases. (0,4 ponto)
As seis fases do projeto estruturado, segundo Yourdon, são:

 Planejamento: Nesta fase, são definidos os objetivos do projeto, as restrições, os


recursos disponíveis e as etapas necessárias para atingir os objetivos.
 Análise de requisitos: Nesta fase, são levantados e documentados os requisitos do
sistema, incluindo as funcionalidades que o software deve ter e as restrições
técnicas e de negócio que devem ser consideradas.
 Análise estruturada: Nesta fase, é feita a análise da estrutura lógica do software, ou
seja, como as funcionalidades se relacionam entre si e como os dados serão
organizados.
 Projeto: Nesta fase, é criado o projeto físico do software, ou seja, como as
funcionalidades serão implementadas e como o software será estruturado em
termos de código.
 Codificação: Nesta fase, é feita a implementação do software a partir do projeto
físico criado na fase anterior.
CENTRO UNIVERSITÁRIO DA GRANDE DOURADOS
Curso Engenharia de Software
Disciplina: Metodologia para Desenvolvimento de Software

 Testes: Nesta fase, são feitos os testes do software para verificar se ele está
funcionando de acordo com o esperado e se atende aos requisitos definidos na fase
de análise.
3. Comente ao menos dois dos benefícios de se usar a orientação a objetos. (0,4 ponto)
Dois benefícios de se usar a orientação a objetos são:

 Reutilização de código: Como a orientação a objetos permite a criação de classes e


objetos que podem ser reaproveitados em diferentes partes do software, é possível
reduzir a quantidade de código duplicado e aumentar a produtividade do
desenvolvimento.

 Facilidade de manutenção: A orientação a objetos promove a separação de


responsabilidades entre as diferentes partes do software, o que facilita a
identificação e correção de problemas e a realização de melhorias no software sem
afetar o funcionamento de outras partes.
4. A orientação a objetos possui alguns conceitos fundamentais que norteiam todas as
formulações e facilitam a sua aplicação em software, portanto, face uma pesquisa explicando
detalhadamente o que seria o conceito “Classe”. (0,4 ponto)
Classe é um dos principais conceitos da orientação a objetos e é usado para representar
um tipo abstrato de dado. Em outras palavras, uma classe é uma estrutura que define as
propriedades e comportamentos de um objeto. As propriedades da classe são
representadas pelos seus atributos, que são variáveis que armazenam os dados do objeto,
enquanto os comportamentos são representados pelos seus métodos, que são funções
que definem o que o objeto pode fazer. As classes são usadas como modelos para a
criação de objetos, que são instâncias dessas classes.
5. Defina Polimorfismo e Encapsulamento. (0,4 ponto)
Polimorfismo é um conceito da orientação a objetos que permite que um objeto seja
tratado de diferentes formas dependendo do contexto em que é usado. Isso é possível
porque os objetos podem ter diferentes formas, ou seja, implementações diferentes de um
mesmo método. Por exemplo, um método que calcula o imposto de uma compra pode ter
diferentes implementações dependendo do tipo de produto comprado, e o polimorfismo
permite que o método seja usado de forma genérica, sem saber qual a implementação
específica que será utilizada.

Já o encapsulamento é um conceito que se refere à proteção dos atributos e métodos de


uma classe, de forma que eles só possam ser acessados e modificados por meio de
métodos específicos da classe. Isso garante uma maior segurança e controle sobre os
dados do objeto.
CENTRO UNIVERSITÁRIO DA GRANDE DOURADOS
Curso Engenharia de Software
Disciplina: Metodologia para Desenvolvimento de Software

6. Quais as vantagens de utilizar um Projeto Orientado a Objetos. Cite ao menos duas.


(0,4 ponto)
Algumas vantagens de se utilizar um projeto orientado a objetos são:

 Reutilização de código: Como mencionado anteriormente, a orientação a objetos


permite a criação de classes e objetos que podem ser reaproveitados em diferentes
partes do software, o que aumenta a produtividade e a eficiência do
desenvolvimento.

 Flexibilidade: A orientação a objetos permite que o software seja facilmente


adaptado a mudanças nos requisitos e nas necessidades dos usuários, pois o código
é organizado de forma modular e as mudanças podem ser feitas em partes isoladas
do software sem afetar o restante do sistema. Além disso, a herança e o
polimorfismo permitem a criação de hierarquias de classes que podem ser
facilmente expandidas e modificadas.

 Facilidade de manutenção: A organização do código em classes e objetos torna


mais fácil a identificação de problemas e a correção de bugs. Além disso, as
modificações podem ser feitas de forma mais controlada e estruturada, sem afetar
outras partes do sistema que não precisam ser modificadas.

 Maior qualidade do software: A orientação a objetos incentiva boas práticas de


programação, como o princípio da responsabilidade única (SRP) e o princípio
aberto/fechado (OCP), que visam criar código mais legível, reutilizável e de fácil
manutenção. Isso resulta em software de maior qualidade, com menos erros e mais
fácil de ser utilizado pelos usuários.

You might also like