Neste desafio, você será responsável por modelar e diagramar a representação UML do componente iPhone, abrangendo suas funcionalidades como Reprodutor Musical, Aparelho Telefônico e Navegador na Internet.
Com base no vídeo de lançamento do iPhone de 2007 (link abaixo), você deve elaborar a diagramação das classes e interfaces utilizando uma ferramenta UML de sua preferência. Em seguida, implemente as classes e interfaces no formato de arquivos .java
.
- Minutos relevantes: 00:15 até 00:55
- Reprodutor Musical
- Métodos:
tocar()
,pausar()
,selecionarMusica(String musica)
- Métodos:
- Aparelho Telefônico
- Métodos:
ligar(String numer)
,atender()
,iniciarCorreioVoz()
- Métodos:
- Navegador na Internet
- Métodos:
exibirPagina(String url)
,adicionarNovaAba()
,atualizarPagina()
- Métodos:
- Criar um diagrama UML que represente as funcionalidades descritas acima.
- Implementar as classes e interfaces correspondentes em Java (Opcional).
- Assista ao vídeo do lançamento do iPhone para entender as funcionalidades principais.
- Utilize uma ferramenta UML de sua preferência para criar o diagrama das classes e interfaces. Você pode utilizar o modelo acima (criado na sintaxe Mermaid), uma alternativa open-source e compatível com arquivos Markdown como este.
- Opcionalmente, caso esteja cheio(a) de confiança, pode implementar as classes Java representadas em seu diagrama UML.
- Submeta seu repositório GitHub conforme as orientações da plataforma DIO. Por exemplo:
https://github.com/glysns/trilha-java-basico/desafios/poo/README.md
Para a modelagem do Diagrama de Classe, eu utilizei o Mermaid.
classDiagram
class IPhone {
}
class ReprodutorMusical {
<<interface>>
+tocar()
+pausar()
+selecionarMusica(String musica)
}
class AparelhoTelefonico {
<<interface>>
+ligar(String numero)
+atender()
+iniciarCorreioVoz()
}
class NavegadorInternet {
<<interface>>
+exibirPagina(String url)
+adicionarNovaAba()
+atualizarPagina()
}
IPhone --> ReprodutorMusical
IPhone --> AparelhoTelefonico
IPhone --> NavegadorInternet