soft eng 1 Flashcards
(22 cards)
Principles of Software Development
crucial role in ensuring the quality, maintainability, and longevity of projects.
SOLID
key concepts in software development
Single Responsibility
only one well-defined responsibility
Open/Closed
open for extension x for modification
Liskov Substitution
adhering to contracts when inheriting classes
Interface Segregation
defining specific interfaces x monolithic interface
Dependency Inversion
use of abstract dependencies x concrete classes
DRY
elimination of unnecessary code duplication
KISS
simplicity in code design and implementation
YAGNI
not implementing features or code x immediately necessary
Convention over Configuration
use of predetermined conventions x explicit configurations
Composition over Inheritance
using class composition x inheritance
Law of Demeter
decoupling and reducing dependencies beetw classes.
System AD
abstract depiction of the system’s component architecture.
System Test AD
test how the software is used by users
Content Assignment System AD
process of receiving assignments
E-Learning System Business AD
all of components make system function
UML
Unified Modeling Language
Unified Modeling Language
one of object-oriented solutions
Architecture View Model
functional and non-functional requirements
ADL
Architecture Description Language
Architecture Description Language
software architecture formally and semantically.