Show Menu
Cheatography

Software engineering Cheat Sheet (DRAFT) by [deleted]

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

Entity­-re­lat­ionship 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 attributes.
Every entity must have a minimal set of uniquely identi­fying attrib­utes, which is called the entity's primary key.

Relation repres­ent­ation

Various methods of repres­enting the same one to many relati­onship. In each case, the diagram shows the relati­onship between a person and a place of birth: each person must have been born at one, and only one, location, but each location may have had zero or more people born at it.

Links

 

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­onships among objects.
object diagramm
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

Class diagramm

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

Class members visibility

+
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

UML relations notation

Instan­ce-­level relati­onships in class diagramms

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­rec­tional
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­onship; it can occur when a class is a collection of other classes; contained classes are not automa­tically destroyed when the container is
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 "­who­le-­par­t" relati­onship
Both aggreg­ation and compos­ition are types of associ­ation betweetn classes. The aggreg­ation relati­onship is often "­cat­alo­g" contai­nment to distin­guish it from compos­ition's "­phy­sic­al" contai­nment.

Class-­level relati­onship

inheri­tance
indicates that subcless is a cperia­lized form of superc­lass; implements "is a" relati­onship;
realiz­ation
relati­onship between compotent 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 paramter or local variable;