• A class is a blueprint that defines the structure for
objects, which are concrete instances of that class (Chiel
is an object of the class Cat)
o Every Cat has a lot of standard attributes: name,
weight, height, texture… etc. These are the fields.
o Every Cat also behaves similarly: they breathe,
eat, walk, sleep, … etc. these are methods.
• A superclass lists all common attributes and behaviors. A
superclass could be Animal, and the subclasses would be
Cat and Dog. All cats and dogs have a name, height…, they
breathe, eat, walk… the subclasses then could inherit
these attributes and behaviors, and themselves only
define attributes or behavior that differ (like a Cat can
have a meow method and a Dog can have a bark method)
• Class Animal(Cat), or Class Organism(Animal)
• Abstract base classes (@abstractmethod):
o same as regular classes but you can’t make an instance of them (serve as an
interface)
o serve as an interface
• Waterfall Model (aims to complete every phase before going to the next: not robust
against change)
1. Requirements analysis
2. Design
3. Coding and debugging
4. Testing and verification
5. Maintenance
• RUP (Rational Unified Process): iterative software development (iterations)
o Phases:
1. Inception – define the scope
2. Elaboration – plan the project, features, architecture
3. Construction – finish the construction
4. Transition – hand over the project to end users
o Best practices:
Develop software iteratively and involve users early
Manage requirements
Visually model software (UML)
Verify software quality – test, code reviews, release in every iteration
Embrace change
• Agile Manifesto
Individuals and interactions > processes and tools
Working software > comprehensive documentation
Customer collaboration > contract negotiation
Responding to change > following a plan
o RUP vs Agile:
RUP is iterative top-down: minimize change by carefully thinking about
requirements before implementing anything
Agile is both top-down and bottom-up: minimize work for developers, by
releasing prototypes quickly and involving users in each iteration
,• SCRUM (filmpje kijken)
o User stories: short, simple description of a feature told from the perspective of
the person who desires the rear capability, usually a user/customer
o Epic: a user-story that covers a lot of functionality. They are split in smaller user
stories, which can be completed in a single sprint.
o INVEST checklist to check user story: Independent – Negotiable – Valuable –
Estimable – Small – Testable
o SPRINTS (iterations)
2-4 weeks, team commits to a scope which can’t change
Sprint planning sprint backlog
Daily scrum (15m coordinating discussion)
Sprint review & sprint retrospective
o Scrum artifacts:
Product backlog: ordered list of all possible changes that could be made
to the product
Sprint backlog: collection of product backlog items selected for delivery
in the sprint
o Scrum DOD en Increment
Definition of Done: when a product backlog item is considered done
Increment: collection of product backlog items that is considered done
o Scrum roles
Product owner: determines what needs to be done and sets priorities
Scrum master: protecting the scrum process and preventing distractions
Development team: determines how to deliver chunks of work in
frequent increments.
, Week 2
• Requirements engineering:
o Elicitation
o Specification
o Validation & Verification
o Negotiation
• Perspectives on software development process, object is a set of…:
o Conceptual (responsibilities)
o Specification (methods)
o Implementation (code & data)
• Object Oriented Design
o Strong cohesion: all code is related to one another, which makes it easier to
maintain, understand and re-use
o Loose coupling: anything can be changed without disrupting the system
o Responsibility
o 4 pillars of OOD:
Abstraction: a model of a real-world object or phenomenon, limited to a
specific context, which represents all details relevant to this context with
high accuracy and omits all the rest.
Polymorphism: the ability of a program to detect the real class of an
object and call its implementation even when its real type is unknown in
the current context.
Encapsulation: the ability of an object to hide parts of its state and
behaviors form other objects, exposing only a limited interface to the rest
of the program and helps identifying responsibilities (e.g. starting a car
only requires to stick in the key, but there’s actually much more
happening that is hidden beneath the dashboard)
Inheritance: the ability to build new classes on top of existing ones (main
benefit: code reuse)
• GRASP (General Responsibility Assignment Software Principles): to help assign
responsibilities to the class in the domain model
o Information expert (who has the info)
What info is necessary to perform some computation?
Which class(es) already have this info?
o Creator (who should create instances)
Assign class B the responsibility to create instances of class A
o Loose coupling
o Strong cohesion
o Controller (which subsystem handles the event)
Assign responsibility for receiving or handling system events to a class
• That represents the overall system, device or subsystem
• That represents a specific use case within which the system event
occurs.
Les avantages d'acheter des résumés chez Stuvia:
Qualité garantie par les avis des clients
Les clients de Stuvia ont évalués plus de 700 000 résumés. C'est comme ça que vous savez que vous achetez les meilleurs documents.
L’achat facile et rapide
Vous pouvez payer rapidement avec iDeal, carte de crédit ou Stuvia-crédit pour les résumés. Il n'y a pas d'adhésion nécessaire.
Focus sur l’essentiel
Vos camarades écrivent eux-mêmes les notes d’étude, c’est pourquoi les documents sont toujours fiables et à jour. Cela garantit que vous arrivez rapidement au coeur du matériel.
Foire aux questions
Qu'est-ce que j'obtiens en achetant ce document ?
Vous obtenez un PDF, disponible immédiatement après votre achat. Le document acheté est accessible à tout moment, n'importe où et indéfiniment via votre profil.
Garantie de remboursement : comment ça marche ?
Notre garantie de satisfaction garantit que vous trouverez toujours un document d'étude qui vous convient. Vous remplissez un formulaire et notre équipe du service client s'occupe du reste.
Auprès de qui est-ce que j'achète ce résumé ?
Stuvia est une place de marché. Alors, vous n'achetez donc pas ce document chez nous, mais auprès du vendeur marreslikker. Stuvia facilite les paiements au vendeur.
Est-ce que j'aurai un abonnement?
Non, vous n'achetez ce résumé que pour €5,48. Vous n'êtes lié à rien après votre achat.