Garantie de satisfaction à 100% Disponible immédiatement après paiement En ligne et en PDF Tu n'es attaché à rien
logo-home
College aantekeningen Systeemontwikkelingsmethoden Deeltentamen UU inku €6,49   Ajouter au panier

Notes de cours

College aantekeningen Systeemontwikkelingsmethoden Deeltentamen UU inku

1 vérifier
 39 vues  4 fois vendu
  • Cours
  • Établissement

Deze samenvatting bevat alle college aantekeningen vanaf het begin tot en met week 5 (Requirements Engineering and Use Cases). Voornamelijk in het Engels, maar er wordt af en toe gewisseld met Nederlands.

Aperçu 4 sur 55  pages

  • 13 décembre 2023
  • 55
  • 2023/2024
  • Notes de cours
  • Fernando castor
  • College 1 (introduction) t/m college requirements engineering

1  vérifier

review-writer-avatar

Par: sharyl01 • 9 mois de cela

avatar-seller
Systeemontwikkelingsmethoden
Deze samenvatting is gebaseerd op colleges van de Universiteit van Utrecht (inku)

Hc 1 System Development Methods (13-11-2023)
Building non-trivial software is hard

Software engineering is about:
- Understanding what needs to be developed
- How to do it
- With the desired level of quality
- While managing finite resources
o In particular, people, sometimes many people

Margaret Hamilton, coiner of the term ‘software engineering’

Apollo 8 software team at MIT, c. 1965
- Het Apollo 8-softwareteam aan het Massachusetts Institute of Technology (MIT) rond 1965
was verantwoordelijk voor het ontwikkelen van de software die essentieel was voor de missie
van Apollo 8, de eerste bemande ruimtevlucht naar de maan in 1968.
The term gained traction because of 2 conferences organized by NATO in 1968 and 1969

Software engineering
= multi-version development of multi-version programs – David Parnas
= combining separately written programs and making them suitable for use by people who
had not written them = Fred Brooks

Software is complex
- Linux: 25 million lines of code from more than 1600 contributors
- Google’s systems: 2 billion lines of code, 9 million files, 40k change requests per day, 25k
software engineers

What makes a great software engineer?
- Personal characteristics – always impriving / passionate / data-driven
- Teammates – honest/ creates shared context
- Decision making – updates their mental models / handles complexity
- Software product – elegant / creative / anticipates needs

Phases
Requirements analyses -> Design -> Coding and debugging -> Testing and verification -> Maintenance

Software maintenance and evolution
- There is much more to software construction than just programming
- And it is hard to overestimate the volume and importance of maintenance
o An example: Cyberpunk 2077

What makes a great maintainer?
- Management – long term vision / defining a roadmap / delegating tasks
- Technical – high technical knowledge / be aware of technologies
- Social – being careful/polite / encouraging and mentoring

1

, - Personality – foster innovation / focus on the project goal
A silver lining: at least we don’t need to build everything from scratch

Object-oriented analysis
- Before designing software, you need to determine what to build
- The process of discovering, documenting and maintaining the requirements of a software
system
o Figuring out what the problem is
o What does the customer want?
o How can I translate a customer’s wishes to a design?
o Who is the customer?

Analysis: Who are the stakeholders?

Object-oriented design
- How should I organize code into functions and classes?
- How are classes related?
- What are the tradeoffs (compromises) of organizing a system in a certain way?
- What are the properties of a good design?

Analysis and design
- Analysis is a soft skill: talking to customers and figuring out what they want
- Design is more technical:
o Figuring out the right high-level structure of your code
o Making decisions and accounting for trade-offs




2

,Hc2 (15-11-2023)
Object oriented programming

Innards of a turtle
Pieces of information associated with a turtle:
- Position
- Pen color
- Direction to which it points
- Whether the pen is visible or not
- Drawing or not
- And much more

Turtle can do many things:
- Advance
- Rotate
- Change the drawing color
- Stop drawing
- Go back to drawing
The turtle stores many pieces of data:
- Its position
- Drawing color
- Direction to which the pen points
- Whether the pen is visible
What the turtle does affects what it stores

Turtle objects
- Bij turtle wordt er dingen opgeslagen, maar er worden geen variabelen aangepast/
opgeslagen. Er worden dus dingen opgeslagen (bv kleur en richting), maar we weten niet
waar het wordt opgeslagen en dat maakt ook niet uit.
- Turtle is een object
o Object = variables die state + behavior OF variables + functions aangeeft
o every value in python is an object

Objects
- Constructor = special function that every object has
o t = Turtle()
- They are values
o Can be stored in variables, passed as arguments, returned by methods
- Their internal variables (fields or attributes) are manipulated by their functions (methods)

Objects are a mechanism for encapsulation
- -> you don’t need to know how an object represents itself internally, you just need to know
about it’s functions
- Information hiding
We don’t need to know how they represent their internal states




3

, Advantages of invoking functions instead of directing variable:
- You can do things other than changing the position
- You don’t need to know how the elements are represented (it could be 2 strings or variables
or whatever)

You should be able to work with objects, even if you don’t know how they work internally. You should
be able to work with the interface (methods).

Lists are encapsulated
- We don’t know how a list represents a sequence of number internally
o dit kan namelijk op verschillende manieren gedaan worden
- nor how sorting is performed by the sort() function

The state of an object is independent of other objects of the same type
- different object have same state elements (every turtle keeps track of number of position),
but they are completely independent.

Objects use reference semantics
- = Als je een lijst hebt genaamd ‘s’ en die naam veranderd in ‘l’. Vervolgens voeg je een getal
toe aan lijst ‘l’. Dan vraag je om ‘s’ uit te schrijven en zit het nieuwe toegevoegde getal erin!
o L = [1,2,3,4,5]
o S=L
o L.append(42)
o S
 Output: [1,2,3,4,5,42]’
o L[0:2]
 Output: [1,2]
o L.apend(000)
o L
 Output: [1,2,3,4,5,42,0)
o S
 Output: [1,2,3,4,5,42]
 Als we de lijst ‘L’ veranderen, verandert het de lijst ‘S’ dus niet, andersom werkt
referentie dus niet!
- Assignment doesn’t copy value, but copies address (=reference)
- Assignments create references to objects, instead of copies




4

Les avantages d'acheter des résumés chez Stuvia:

Qualité garantie par les avis des clients

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

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

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 bregjem1. Stuvia facilite les paiements au vendeur.

Est-ce que j'aurai un abonnement?

Non, vous n'achetez ce résumé que pour €6,49. Vous n'êtes lié à rien après votre achat.

Peut-on faire confiance à Stuvia ?

4.6 étoiles sur Google & Trustpilot (+1000 avis)

80364 résumés ont été vendus ces 30 derniers jours

Fondée en 2010, la référence pour acheter des résumés depuis déjà 14 ans

Commencez à vendre!
€6,49  4x  vendu
  • (1)
  Ajouter