100% tevredenheidsgarantie Direct beschikbaar na betaling Zowel online als in PDF Je zit nergens aan vast
logo-home
Summary System Design Methods (final-term) | UU informatiekunde €3,99   In winkelwagen

Samenvatting

Summary System Design Methods (final-term) | UU informatiekunde

 64 keer bekeken  11 keer verkocht

This is a handy overview and summary of the final-term material for UU System Design Methods. I wrote it in a way that it is easy to understand, as this subject is quite hard and difficult to understand from the lectures only. Good luck with learning!

Voorbeeld 2 van de 11  pagina's

  • 11 april 2022
  • 11
  • 2021/2022
  • Samenvatting
Alle documenten voor dit vak (9)
avatar-seller
semstroop
Final-term exam
Abstract factory (design pattern)

The factory pattern separates creation from usage. Instead of class A directly creating a concrete
strategy object, it uses a factory that creates the desired concrete strategy for class A. This way, class
A doesn’t know anything directly of the subclasses of class B, but the factory does.
The context class (A) uses methods from the abstract class(es), and creates the concrete strategy
objects using methods from the abstract factory class.




Design by contract & hoarer logic

Software crisis: In the early days, hardware was expensive and tricky to develop. However, with the
invention of programming languages and compilers that made building systems easier, programmers
could build more complex systems. Software became much more expensive than hardware.


Hoare logic: In order to battle the complexity of code, Tony Hoar came up with a logic language to
prove things about programs → Hoare logic. A Hoare logic statement has 3 parts:

1. A precondition (P) 2. A program (C) 3. A postcondition (Q)

, If a precondition P holds before the execution of program C, then the postcondition Q will hold after.
Otherwise, C does not terminate. Examples of Hoare logic statements:


o P: x > 3 | C: x+1 | Q: x > 4) → Valid

o P: x > 3 | C: x+1 | Q: x > 40) → Invalid

o P : x > 3 | C : y=4, x=y | Q : x=4 → Valid
o The precondition is stronger than needed here, because the statement is not only
valid for all x’s above 3, but for all x’s in general.

o When there is ‘while true’ in there, the execution of the program never ends / it does
not terminate, so you can never ascertain a postcondition → always valid.



Reasoning rules: Hoare designed a series of rules to reason about programs, with which you can
write more robust software and proof things about your code (e.g. show that it terminates).

❖ Skip: if you do nothing, the precondition will hold.

❖ Assignment: the precondition is also true when you substitute the x’s in the precondition by
the value that you assign to x in the ‘program’ part. You can use this rule to determine the
precondition if it is not given. If the program and postcondition are given, you replace the x’s
in the postcondition with the assigned value in the program.
o Example: → precondition is

❖ Composition: suppose we know that , we can deduce that to


❖ Conditional rule: allows us to combine two logic statements with the same post condition
into a single one with an if-statement.

You can use the conditional rule to split up an if-statement into two separate logic
statements, the then- and else-statement.


❖ Consequence rule: if we know that , then is also
valid. This may strengthen preconditions and weaken postconditions. Example:
o If the precondition of a Hoar statement is “1 <= x <= 9”, the Hoar statement would be
valid for any precondition that can be implied from the initial precondition. In this
case, that could be for example “0 <= x <= 15”. The same rule accounts for
postconditions.



PS, remember: if a predicate A implies B, then A is stronger / more specific than B.
Range [2-9] can imply [0-14], since that includes all the values of the range [2-9]. The other way
around, [0-14] does not imply [2-9], since values like 10, 11, 12… are left out then.

Voordelen van het kopen van samenvattingen bij Stuvia op een rij:

Verzekerd van kwaliteit door reviews

Verzekerd van kwaliteit door reviews

Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!

Snel en makkelijk kopen

Snel en makkelijk kopen

Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.

Focus op de essentie

Focus op de essentie

Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!

Veelgestelde vragen

Wat krijg ik als ik dit document koop?

Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.

Tevredenheidsgarantie: hoe werkt dat?

Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.

Van wie koop ik deze samenvatting?

Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper semstroop. Stuvia faciliteert de betaling aan de verkoper.

Zit ik meteen vast aan een abonnement?

Nee, je koopt alleen deze samenvatting voor €3,99. Je zit daarna nergens aan vast.

Is Stuvia te vertrouwen?

4,6 sterren op Google & Trustpilot (+1000 reviews)

Afgelopen 30 dagen zijn er 82871 samenvattingen verkocht

Opgericht in 2010, al 14 jaar dé plek om samenvattingen te kopen

Start met verkopen
€3,99  11x  verkocht
  • (0)
  Kopen