Show Menu
Cheatography

Software engineering Cheat Sheet (DRAFT) by

covers all the main concepts of software engineering

This is a draft cheat sheet. It is a work in progress and is not finished yet.

ER model

An entity is a thing that exists either physically or logically. Entities
can be thought of as nouns: a company, a computer.
A relati­onship captures how entities are related to one another.
Relati­onships can be thought of as verbs, linking two or more nouns.
Entities and relati­onships can both have attrib­utes.

Instan­­ce­-­level r/s in class diagrams

dependency
connection between dependent and indepe­­ndent model elements; exists when changes to one element may cause changes in dependent element; this relation in uni-di­­re­c­t­ional
associ­ation
associ­­ation is a relati­­onship between two classes when, that allows one instance to perform an action on behalf of another
aggreg­­ation
aggreg­­ation is a variant of "has a" relati­­on­ship; it can occur when a class is a collection of other classes
compos­­ition
more specific version of aggreg­­ation; when container destroyed every insance if contains will be destroyed as well; compos­­ition unlike aggreg­­ation is a "­­wh­o­l­e-­­par­­t" relati­­onship
Both aggreg­­ation and compos­­ition are types of associ­­ation between classes. The aggreg­­ation relati­­onship is often "­­ca­t­a­lo­­g" contai­­nment to distin­­guish it from compos­­it­ion's "­­ph­y­s­ic­­al" contai­­nment.
 

UML diagrams

class diagram
a type of static structure diagram that describes the structure of a system by showing the system's classes, their attrib­­utes, operat­­ions, and the relati­­on­ships among objects.
object diagram
shows a complete or partial view of the system at a given moment of time
domain model
conceptual model of the domain that incorp­­orates both: behaviour and data

UML relations notation

class level relati­onship

inheri­­tance
implements "is a" relati­­on­ship;
realiz­­ation
relati­­onship between component and it's interface

general relati­onship

dependency
weaker form of bond that indicates that one class is dependent on the other; one class depends on another when the indepe­­ndent class is a parameter or local variable
 

Class diagram

Three compar­­tments of class diagram:-
Name of the class
Attributes of the class
Methods of the class

Class visibility diagram

+
public
-
private
#
protected
/
derived
~
package
To specify the visibility of a class member (i.e. any attribute or method), these notations must be placed before the member's name