Chapter 01 - Intro.
Chapter 01 - Intro.
Chapter 01
Introduction
22 October 2016
Dileep Kumar G. ASTU 1
Outline
• Course Outcomes
• Software Process
• A Software Development Life Cycle
• Software Practices
• Software Tools Used
• UML Review: Class Diagrams
• Attributes
• Operations
• Notations
• Become familiar with the various modern tools used by Software Engineers
for creating applications
• Git/Bitbucket
• JUnit
• Note: The static specification may be illustrated with an underscore or with italics
• Note: The static specification may be illustrated with an underscore or with italics
• dynamic between instances of classes (that is, between objects), or between classes
and objects (if a class is non-instantiable, as in a static class)
• Association
• Aggregation
15
Dileep Kumar G. ASTU 15
Class diagrams sometimes explicitly illustrate Dependency relationships of
classes on other classes (or packages)
The arrow may also point at a package (e.g. javax.swing), implying a dependency on
many of the classes within that package.
The single-line connector doesn’t indicate anything specific – that is, it’s an unspecified
association.
About all we can say is that objects of these classes somehow interact when the application
executes – perhaps an Invoice somehow accesses an Order (or vice versa).
1 1
This Association indicates that there is a one-to-one correspondence between Invoice instances
and Order instances; that is, for every Invoice object, there is one corresponding Order object, and
vice versa.
1 1
- acct: Account
The absence of multiplicity indicates that this Association exhibits a one-to-one correspondence
between Person instances and House instances – that is, one Person lives in one House.
Containment indicates that an Invoice is logically comprised of an Order part (one, in this case). It does not make
sense for Invoice object to exist independently of the Order object, because an Invoice always must contain an
Order.
However, the Order can exist without the Invoice. That is, if the Invoice object is deleted, the Order can still exist
(maybe it can be fulfilled free of charge).
With Shared Aggregation, the Order can also be a part of another whole-part relationship.
Order Entry
+items
1 *
Composition implies that an Order is comprised of Entry parts (an Order logically does not exist
without any Entry objects), and that the Entry objects cannot exist independently of the Order
object; that is, the Order exclusively owns the Entry objects.
The lifetime of the Entry objects is controlled by the Order object. If the Order is deleted, all the
Entries are deleted as well.
• UML Containment
• A is composed of B; B can exist
without A
• EA refers to this as Shared
Aggregation
• UML Composition
• A is composed of B; B cannot exist
without A
• EA refers to this as Composite
Aggregation