0% found this document useful (0 votes)
40 views

Software Development - L05

Software Development

Uploaded by

Alaa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Software Development - L05

Software Development

Uploaded by

Alaa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Software Development and Professional Practice

Software Development and Professional Practice


L05: Software Specification Models(P2)

Dr. Nora Shoaip


Damanhour University
Faculty of Computers & Information Sciences
Department of Information Systems

2023

1
System Modeling
Class Diagram

2
System Modeling
Class Diagram
 gives an overview of a software system by displaying classes,
attributes, operations, and their relationships. This Diagram includes
the class name, attributes, and operation in separate designated
compartments.
 gives a high-level view of an application
 helps construct the code for the software application
development.

3
Class Diagram
What is Class?

4
Class Diagram
Classes

5
Class Diagram
Class Name

A class name should always start with a capital letter.


A class name should always be in the center of the first compartment.
A class name should always be written in bold format.
An abstract class name should be written in italics format.

6
Class Diagram
Class attributes

An attribute is named property of a class which describes the object being modeled.
The attributes are generally written along with the visibility factor.
Visibility describes the accessibility of an attribute of a class.
Public, private, protected and package are the four visibilities which are denoted by
+, -, #, or ~ signs respectively.
Abstract attributes are indicated by italic.
Static attributes are indicated by underline.
Attribute format: visibility_symbol name : type [multiplicity ordering] = default_value
{constraint}

7
Class Diagram
Class attributes Cont..

8
Class Diagram
Class operations

Operation is a method, function, or query, which can be called by other


objects.
Each operation has its name and it can have any number of parameters (zero
or more).
Each operation should perform only one thing.
Abstract operations are indicated by italic.
Static operations are indicated by underline.
Operation format: visibility_symbol name (p1 ... pN) : return_type
9
Class Diagram

10
Class Diagram
Benefits of Class Diagram

Illustrates data models for even very complex information systems


provides an overview of how the application is structured before
studying the actual code. This can easily reduce the maintenance time
helps for better understanding of general schematics of an application.
Allows drawing detailed charts which highlights code required to be
programmed
Helpful for developers and other stakeholders.

11
Class Diagram
Association relationships

12
Class Diagram
Association relationships

13
Class Diagram
Association relationships

14
Class Diagram
Association relationships

15
Class Diagram
Uml classes and association

16
Class Diagram
Multiplicity

17
Class Diagram
Classes and associations in the MHC-PMS

18
Class Diagram
The Consultation class

19
Class Diagram
Associations relationships (Aggregation)

20
Class Diagram
Associations relationships (Aggregation)

21
Class Diagram
Associations relationships (Aggregation)

22
Class Diagram
Generalization

23
Class Diagram
Generalization

24
Class Diagram
Generalization Hierarchy

25
Class Diagram
Generalization Hierarchy with added detail

26
Class Diagram
Example of identifying class Multiplicities, attributes and
operation

27
Behavioral models
Generalization Hierarchy with added detail

28
Activity diagram

29
Activity diagram
Activities involved in ATM transaction

30
Activity diagram
Decision – Merge node

31
Activity diagram
Synchronization

32
Activity diagram
Swimlanes

33
Behavioral models
State machine models

34
State machine models
State machine models

35
State machine models
State machine models

36
State machine models
Weather station state diagram

37
Architectural model

38
Architectural model
Architectural patterns

39
Architectural model
Model- View- Controller

40
Architectural model
Model- View- Controller

41
Architectural model
Layered Architectural

42
Architectural model
Architectural of the LIBSYS system

43
Architectural model
Repository Architectural

44
Architectural model
Repository Architectural

45
Architectural model
Client-Server Architectural

46
Pipe and filter Architectural
State machine models

47
Pipe and filter Architectural

48
Pipe and filter Architectural
Compiler Architectural

49
References
Textbooks
• Cha, S., Taylor, R. N., & Kang, K. (Eds.).
(2019). Handbook of software engineering. Springer
International Publishing.
• Hodges, J. L. Software Engineering from Scratch.
• Loubser, N. (2021). Software Engineering for
Absolute Beginners. Apress.

50

You might also like