Model komponentowy
W modelu komponentowym idee ponownego użycia kodu posunięte są najdalej
Po fazie określania wymagań następuje faza analizy możliwości wykorzystania istniejących, gotowych komponentów i ewentualna faza modyfikacji wymagań, w konsekwencji zastosowania komponentów
W fazie projektowania uwzględnia się już znalezione komponenty oraz ewentualnie nowe, związane z techniczną realizacją (implementacją)
Projekt oprogramowania wykonywany jest tak, aby te spośród wytwarzanych elementów, które się do tego nadają, mogły być ponownie wykorzystane jako komponenty
W fazie wytwarzania kodu zwraca się szczególną uwagę na interfejsy pomiędzy modułami-komponentami
Testowanie jest w dużej mierze testowaniem integracji poszczególnych komponentów
Wady i zalety
Mimo zalet związanych z wykorzystaniem gotowych, przetestowanych modułów, wytwarzanie oprogramowania w oparciu o komponenty (component based software development) stwarza specyficzne trudności:
- wymagania narzucane przez gotowe komponenty mogą być niezgodne z wymaganiami klientów
- modyfikacje kodu mogą być utrudnione przez brak kontroli nad pochodzącymi z zewnątrz komponentami