CPSC 310 Final Review || with 100% Error-free Solutions.
Software processes correct answers 1. waterfall
2. spiral
3. extreme programming (xp)
4. agile development
5. TDD
6. Scrum
waterfall correct answers Requirements -> Design -> Implement -> Verify -> Maintain
Pros: Clear hand-off, explicit criteria
Cons: Inflexible, no revisiting after hand-off, value can't be validated until completion
TDD (Test Driven Development) correct answers test-first software development practice in
which test cases are defined and created first, and subsequently executable code is created to
make the test pass. The failing tests are constructed to pass as development proceeds and tests
succeed.
Coupling issues correct answers Strong coupling is problematic because it negatively influences
the evolvability and maintainability of a program.
Data coupling > Stamp coupling > Control coupling > Global (common) coupling > Content
coupling
How to decrease coupling correct answers Minimize interfaces between elements
Minimize complexity of interfaces (no god classes)
Avoid control flow coupling
, Cohesion correct answers Cohesion measures how well the elements within a class belong
together, minimal variety of tasks.
Single Responsibility Principle (SRP) correct answers a class should do one thing and do it well -
which is to say it should be cohesive
Open/Closed correct answers Open to extension but closed to modification.
APIs
Implemented in most design patterns
Liskov Substitution Principle (LSP) correct answers Any object can be interchanged with any
other object that has the same parent type.
Interface Segregation Principle (ISP) correct answers No client should be forced to depend on
methods it does not use. (No god interfaces/classes).
Pros: less coupling
Dependency Inversion Principle (DIP) correct answers High-level modules should not depend on
low-level modules. Both should depend on abstractions.
Abstractions should not depend on details. Details should depend on abstractions.
Decouples dependencies between high-level and low-level layers through shared abstractions.
Implemented by adapter pattern
eg of violation
public class Project {
private BackEndDeveloper backEndDeveloper = new BackEndDeveloper();
private FrontEndDeveloper frontEndDeveloper = new FrontEndDeveloper();
public void implement() {
backEndDeveloper.writeJava();
frontEndDeveloper.writeJavascript();
}
}
DIP issues correct answers 1. Simply implementing an interface over a class isn't sufficient and
generally does not reduce coupling, only thinking about the potential abstraction of interactions
can lead to a less coupled design.
2. Implementing generic interfaces everywhere in a project makes it by far harder to understand
and maintain. At each step the reader will ask themself what are the other implementations of
this interface and the response is generally: only mocks.
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 FullyFocus. Stuvia facilite les paiements au vendeur.
Est-ce que j'aurai un abonnement?
Non, vous n'achetez ce résumé que pour €11,44. Vous n'êtes lié à rien après votre achat.