aulify · Mini-Projecto
UC UC02840 · T. Desenv. Software
Versão · Aluno
Mini-Projecto · Sistema COBOL business
Aplicação batch com ficheiros e subprograms
Contexto
Cada par/trio constrói uma aplicação batch em COBOL (estilo mainframe legacy) com ficheiros sequenciais, subprograms, e lógica de negócio realista. Cenários:
- A: Folha de pagamento (input empregados, output recibos).
- B: Gestão de notas de alunos (input, calcula média, output aprovados/reprovados).
- C: Stocks (input movimentos, calcula stock actual).
- D: Facturação (input vendas, output total + IVA).
- E: Banco simples (depósitos, levantamentos, saldo).
Requisitos
Funcionais
- GnuCOBOL ou Micro Focus.
- Mínimo 2 programas COBOL (um principal + um subprogram).
- Mínimo 2 ficheiros (input + output, ou múltiplos).
- Records com pelo menos 5 campos.
- Lógica de negócio: cálculos não-triviais (IVA, médias, juros, etc.).
- Validação de inputs.
- PIC de edição em outputs formatados.
Não-funcionais
- Formato clássico (com colunas) ou free format consistente.
- Convenções de naming (
WS-, paragraphs em UPPERCASE, etc.). - Comentários generosos.
- README com setup, comandos, exemplos.
- GitHub com commits.
- Apresentação + demo ao vivo.
Fases
Fase 1 · Design + setup (1h)
- Escolher cenário.
- Definir records.
- Setup GnuCOBOL.
- Entregável: hello world compilando.
Fase 2 · Programa principal (2h)
- Estrutura DIVISIONS.
- WORKING-STORAGE.
- Lógica core.
- Entregável: cálculos correctos.
Fase 3 · Ficheiros I/O (2h)
- READ ficheiro input.
- WRITE ficheiro output.
- Tratamento de AT END.
- Entregável: I/O funcional.
Fase 4 · Subprogram (1h)
- LINKAGE SECTION.
- CALL USING.
- Entregável: separação modular.
Fase 5 · Formatação output (1h)
- PIC com edição.
- Cabeçalhos, totais.
- Entregável: output legível.
Fase 6 · README + apresentação (1h)
Critérios de avaliação
| Item | Peso |
|---|---|
| Estrutura COBOL correcta | 15% |
| Records bem definidos | 10% |
| Lógica de negócio | 20% |
| Ficheiros I/O | 15% |
| Subprogram + CALL | 10% |
| Formatação output (PIC edit) | 10% |
| Validação | 5% |
| README | 5% |
| Apresentação | 10% |
Reflexão
Em meia página: que dificuldades tiveste com a sintaxe COBOL? O formato em colunas ainda faz sentido em 2026? Como sentes COBOL vs Python/Java? Trabalharias em COBOL profissionalmente? Que carreira mainframe te parece atractiva ou não?