AVISOS - Avaliação em Época Especial |
---|
Esclarecimento de dúvidas:
|
Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Programação com Objectos):
|
Processo de avaliação:
|
ÉPOCA ESPECIAL
A avaliação do projecto compreende a avaliação da qualidade e funcionalidade do código produzido.
Haverá uma discussão presencial em lugar do teste prático.
A data de entrega é 2017/07/17 10:00. A discussão, em substituição do teste prático, realiza-se às 11:00 desse dia. Não entregar o projecto até às 10:00 ou faltar à discussão (seja qual for a razão), são motivos para reprovação em época especial.
Um processador de texto cria e edita documentos de texto.
Cada documento tem informação sobre o utilizador que o criou (nome), data da criação, e data e autor da última alteração. O documento guarda ainda os elementos que o compõem e que definem a sua estrutura interna (ver a seguir).
Um documento de texto é constituído por elementos de texto que podem ser de vários tipos. Cada elemento de texto tem um identificador único (um inteiro) e, dependendo do seu tipo, pode ter vários atributos e estruturas adicionais.
O elemento de texto mais simples é a frase. Cada frase contém palavras, sendo possível apresentar o texto na saída e contabilizar o seu comprimento, tanto em termos de caracteres, como em termos de palavras.
As frases podem ser agrupadas em parágrafos, que mantêm a funcionalidade básica da frase. Os parágrafos podem ser agrupados em secções. As secções podem ser agrupadas em capítulos. Secções e capítulos, além de manterem a interface de consulta ao comprimento do texto que contêm, possuem ainda como atributo um título. Os títulos também contribuem para a contabilização dos elementos que o contêm.
Os capítulos podem conter secções ou, simplesmente, parágrafos. As secções podem conter, além de parágrafos, outras secções (subsecções).
Além dos atributos e interfaces descritos, as seguintes operações estão definidas:
Considerando a descrição acima, desenhe o diagrama de classes correspondente, assim como a interface necessária para permitir a realização das operações descritas.
Implemente em Java o modelo acima e construa uma aplicação que ilustre a definição e uso do editor de texto (classe App com método main que deve exemplificar um caso de utilização do editor de texto, devendo por isso incluir a criação de um documento com vários elementos de texto e a utilização das várias funcionalidades).