Göm menyn

TDDI02 Programmeringsprojekt

Projektförslag: Filosofregister


Projektförslag: Filosofregister

Nedan följer ett scenario i vilket en person vill beställa ett enkelt(?) program av Er. Han har en del synpunkter på vad programmet bör klara av, och kanske också vissa idéer om hur man skulle kunna implementera det.

Observera att de angivna behoven och beskrivningarna inte säkert är kompletta, samt att vissa saker han önskar sig kanske är onödiga eller skulle bli för dyra (d.v.s. för svåra) att implementera.

Det är er uppgift att utifrån denna luddiga problemformulering författa en kravspecifikation som beskriver exakt vad programmet skall klara av, och hur det kommer att fungera gentemot användaren.

Scenario

En känd lärare på IDA har börjat läsa filosofi (Teoretisk filosofi med inriktning på vetenskapsteori, del 1), och där ingår en kurs i filosofi- och vetenskapshistoria. Därför behöver han ett program som hjälper honom att hålla reda på alla de olika filsofer som funnits genom världshistorien, och hur de har påverkat varandra.

Gör ett program som håller reda på ett sådant filosofregister!

För varje filosof måste det gå att lagra

  • Namn
  • Levnadsår
  • Den filsofens huvudtankar (i form av en kort text)
  • De viktigaste böckerna som den filosofen skrivit, med titel och utgivningsår
Dessutom påverkar ju filosoferna varandra, och det ska gå att lagra sådana "påverkans-länkar".

Förutom att mata in informationen på något lämpligt sätt måste det gå att ändra och ta bort information, t. ex. om man skrivit fel på ett årtal, råkat skriva in en icke-filosof, eller om man matat in en påverkan som sen visade sig vara fel.

Man måste kunna titta på data för en enskild filosof, och då vill man ha fram dels data om den filosofen, dels vilka andra filsofer han eller hon påverkats av, och vilka som i sin tur påverkats av honom eller henne. Data om en filosof skulle kunna skrivas ut t. ex. så här:

	John Locke (1632-1704)
	Huvudtankar:
		Empirist. Primära och sekundära kvalitéer.
		Naturrättsliga politiska åsikter.
	Viktigaste verk:
		"Avhandling om det mänskliga förnuftet" (1689)
	Påverkad av:
		Rene Descartes (1596-1650)
	Har själv påverkat:
		George Berkeley (1685-1753)
		David Hume (1711-1776)
		Immanuel Kant (1724-1804)
Det måste också gå att få fram en lista på alla filsofer som finns lagrade i programmet.

Dessutom vore det bra om man kunde söka t. ex. efter alla filosofer som har namn som börjar på "B" eller "Ber" - man kanske inte kommer ihåg hur man stavar till "Berkeley".

Självklart måste allt sparas på fil, så att man inte behöver mata in alla filosofer på nytt varje gång man ska köra programmet!

Det vore också bra om man kunde rita upp filosoferna i någon sorts påverkans-träd, eller skriva ut dem på en tidsaxel med deras levnadsår inritade.

Lycka till!


Thomas Padron-McCarthy, 20 september 1998.

Sidansvarig: Klas Arvidsson
Senast uppdaterad: 2012-08-23