Advanced Software Engineering -...

36
S1 Informatic Engineering By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department [email protected] +6285640392988 Overview: Structured Analysis Advanced Software Engineering

Transcript of Advanced Software Engineering -...

Page 1: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

S1 Informatic Engineering

By:

Egia Rosi Subhiyakto, M.Kom, M.CS

Informatic Engineering Department

[email protected]

+6285640392988

Overview: Structured Analysis

Advanced Software Engineering

Page 2: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

SYLLABUS

1. Introduction Advanced Software Engineering

2. Overview: Structured Analysis – DFD, ERD, STD

3. Overview: Structured Design – Architecture, Interface, Data

4. Introduction Web Application + Requirement Web. App

5. Web Engineering Basic Concepts

6. Introduction OOA (Object Oriented Analysis) – (Team and Topic)

7. Present Final Project Topic

Page 3: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: Structured Analysis

• What is the purpose of the analysis?

• What are modeled in analysis?

• What is the relationship between the model of

analysis?

Page 4: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

What is the purpose of the analysis?

Model the problem to make it more easily understood

and prepared in solution design

Overview: Structured Analysis (2)

Page 5: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

What are modeled in analysis?

• Functional Modeling: DFD (Data Flow Diagram)

• Data Modeling: ERD (Entity Relationship Diagram)

• Behavior Modeling: STD (State Transition Diagram)

Overview: Structured Analysis (3)

Page 6: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

What is the relationship between the model of

analysis?

• Data store (DFD) vs. Entity/ Relationship (ERD)

• Process (DFD) vs. Action (STD)

should be ensured to be consistent

Overview: Structured Analysis (3)

Page 7: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD (Data Flow Diagram)

• What are modeled on the DFD?

• Mention DFD elements!

Page 8: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD (2)

What are modeled on the DFD?

• Process and data flow between processes

• Process at DFD level 1 relates to the needs of software

functionality

Page 9: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD (3)

Mention DFD elements!

• External Entity

• Process

• Data flow

• Data store

Page 10: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD Elements

1. External Entity

The external entity represents a person or a part of an

organization which sends or receives data from the system

but considered to be outside the system boundary (scope of

the project).

Common errors related to external entity: Incomplete

described

Page 11: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD Elements (2)

2. Process

Processes are transformations, changing incoming data flows

into outgoing data flows.

Page 12: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD Elements (2)

2. Process

o Common errors related to process:

naming process

Process that does not have a data input -> "magic"

Process that does not have a data output -> "black hole"

Page 13: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD Elements (3) 3. Data Flow

A data flow shows the flow of data from a source to a

destination.

The flow is shown as an arrowed line with the arrowhead

showing the direction of flow. Each data flow should be

uniquely identified by a meaningful descriptive name (caption).

Page 14: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD Elements (3) 3. Data Flow

o Common errors related to data flow:

• Naming the data are too generic, ex: DATA, REPORTS

• “Tramp data”; data out of the process but doesn’t change

the name

• Data flows directly from the external entity to a data store

• The data flow from data store to data store

• There is a flow of data from one external entity to another

external entity

Page 15: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD Elements (4)

4. Data Store

o A store is a repository of data; it may be a card index, a

database file, a temporary pile of sales orders awaiting

processing, or a folder in a filing cabinet.

o The store may contain permanent data or temporary

accumulations (pending documents, daily movements).

Page 16: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: DFD Elements (4)

4. Data Store

o Common errors related to the data store:

• Data stores are too generic, eg .: DATA, REPORTS,

DATABASE

• The data store is too detailed, eg .: AGE, ADDRESS

• The data store is never filled, only read only

• The data store is never read, only filled only

Page 17: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Example: Context Diagram

EMPLOYEE

GENERAL-

LEDGER

MANAGEMENT

PAYROLL

EMPLOYEE-MAINTENANCE-

TRANSACTION

EMPLOYEE-HOURS-WORKED-

TRANSACTION

EMPLOYEE-PAYCHECK

EMPLOYEE-PAY-RATE-

TRANSACTION

PAYROLL-AUDIT-TRAIL

EMPLOYEE-MAINTENANCE-

AUDIT-TRAIL

PAYROLL-VOUCHER

PAYROLL-AUDIT-TRAIL

GENERAL-LEDGER-

ACCOUNT-NUMBER

Page 18: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Example: DFD Level 1

2

MAINTAIN-

EMPLOYEE-

RECORD

1

PRODUCE-

EMPLOYEE-

PAYCHECK

EMPLOYEE-MAINTENANCE-TRANSACTION

EMPLOYEE-PAY-RATE-TRANSACTION

EMPLOYEE-HOURS-WORKED-TRANSACTION

GENERAL-LEDGER-ACCOUNT-NUMBER

PAYROLL-AUDIT-TRAIL

PAYROLL-VOUCHER

EMPLOYEE-PAYCHECK

EMPLOYEE-MAINTENANCE-AUDIT-TRAIL

EMPLOYEE

Page 19: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD

• What are modeled in the ERD?

• What element ERD?

Page 20: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD (2)

What are modeled in the ERD?

The data that must be managed software and their

relationships

Page 21: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD (2)

What element ERD?

Entity / Entities

Relationship

Attributes

Cardinality

Modality

Page 22: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

ERD Example

Student

Subject Take

Page 23: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD Elements

• Entity

An item or object which can be distinguished from other objects

Example:

Individuals: employees, customers, students, distributors.

Place: building, office, campus.

Object: books, motorcycles, package software, products

Events: registration, ordering, billing

Concept: account, qualifications.

Page 24: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD Elements

• Entity

o Common errors related entities:

• Entity will only have 1 of data, eg: COMPANY, whereas

there is only 1 company data

• Entities are too detailed, eg: AGE, ADDRESS

• Naming the entity is not clear, eg: DATABASE

Page 25: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD Elements (2)

• Relationship

Association of two or more entities

A verb

Page 26: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD Elements (2)

• Relationship

o Common errors related relationships:

• Naming less fit

• Not illustrated with full

Page 27: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD Elements (3)

• Attributes

Property owned by each entity that will be stored data.

Example:

Customer attributes

• ID

• Name

• Address

Page 28: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD Elements (3)

• Attributes

o Common errors related attributes:

* Naming less fit

* Attribute property not describe entities or relationships

* Not identified with complete

Page 29: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD Elements (4)

• Cardinality

o The figures indicate the number of occurrences of an object

associated with the appearance of objects in a relation

o Possible combinations: (1:1, 1:N, M:N)

Page 30: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: ERD Elements (4)

• Modality

Participation of an entity in a relationship

o 0 if participation is "optional" / partial

o 1 if participation is "mandatory" / total

Example:

Total participation

o Each child has a mother

Partial participation

o Not every woman has a child

Page 31: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

ERD Example (2)

Page 32: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: State Transition Diagram

• What are modeled on STD?

• What elements of STD?

Page 33: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Overview: State Transition Diagram (2)

What are modeled on STD?

Dynamic aspects of software

Page 34: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

What elements of STD?

State

Event

Action

Overview: State Transition Diagram (2)

Page 35: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

Example: State Transition Diagram

Page 36: Advanced Software Engineering - eprints.dinus.ac.ideprints.dinus.ac.id/6341/1/2._Overview_Structured_Analysis... · SYLLABUS 1. Introduction Advanced Software Engineering 2. Overview:

THANK YOU