Webcast - Pseudo Code - Koutsikas Christos

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Webcast - Pseudo Code - Koutsikas Christos as PDF for free.

More details

  • Words: 1,243
  • Pages: 35
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Παραγωγή ψευδοκώδικα από διάγραμμα δομής προγράμματος Ομιλητής: Κούτσικας Χρήστος

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Σχεδίαση λογισμικού 

Αρχιτεκτονική σχεδίαση: διάγραμμα δομής προγράμματος



Λεπτομερής σχεδίαση μονάδων: ψευδοκώδικας

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Λεπτομερές σχέδιο: ψευδοκώδικας 

Αποτυπώνει: 







την ιεραρχία των μονάδων προγράμματος τα δεδομένα με τα οποία επικοινωνούν οι μονάδες τον τρόπο με τον οποίο κινούνται τα δεδομένα

Υλοποιεί τις προδιαγραφές

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Από ΔΔΠ σε ψευδοκώδικα

Ζ

ExecM5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Από ΔΔΠ σε ψευδοκώδικα Μονάδα ελέγχου Ζ

ExecM5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Από ΔΔΠ σε ψευδοκώδικα Μονάδα ελέγχου Ζ

ExecM5 Δ

Θ Ε

GetΔ

Δ,Ε

Ζ,Θ

GetΕ

PutΘ CalcM5

Λήψη δεδομένων

PutΖ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Από ΔΔΠ σε ψευδοκώδικα Μονάδα ελέγχου Ζ

ExecM5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Λήψη δεδομένων Μονάδα υλοποίησης υπολογισμών

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Από ΔΔΠ σε ψευδοκώδικα Μονάδα ελέγχου Ζ

ExecM5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Έξοδος αποτελεσμάτων

Λήψη δεδομένων Μονάδα υλοποίησης υπολογισμών

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου Ζ

ExecM 5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Procedure ExecM5 Local Var Δ,Ε,Ζ,Θ Αρχικοποίηση Δ,Ε,Ζ,Θ Call GetΔ(Δ) Call GetΕ(Ε) Call CalcΜ5(Δ,Ε,Ζ,Θ) Call PutΘ(Θ) Call PutΖ(Ζ) End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου Ζ

ExecM 5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Procedure ExecM5 Local Var Δ,Ε,Ζ,Θ Αρχικοποίηση Δ,Ε,Ζ,Θ Call GetΔ(Δ) Call GetΕ(Ε) Call CalcΜ5(Δ,Ε,Ζ,Θ) Call PutΘ(Θ) Call PutΖ(Ζ) End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου Ζ

ExecM 5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Procedure ExecM5 Local Var Δ,Ε,Ζ,Θ Αρχικοποίηση Δ,Ε,Ζ,Θ Call GetΔ(Δ) Call GetΕ(Ε) Call CalcΜ5(Δ,Ε,Ζ,Θ) Call PutΘ(Θ) Call PutΖ(Ζ) End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου Ζ

ExecM 5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Procedure ExecM5 Local Var Δ,Ε,Ζ,Θ Αρχικοποίηση Δ,Ε,Ζ,Θ Call GetΔ(Δ) Call GetΕ(Ε) Call CalcΜ5(Δ,Ε,Ζ,Θ) Call PutΘ(Θ) Call PutΖ(Ζ) End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου Ζ

ExecM 5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Procedure ExecM5 Local Var Δ,Ε,Ζ,Θ Αρχικοποίηση Δ,Ε,Ζ,Θ Call GetΔ(Δ) Call GetΕ(Ε) Call CalcΜ5(Δ,Ε,Ζ,Θ) Call PutΘ(Θ) Call PutΖ(Ζ) End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα υπολογισμών Ζ

ExecM 5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Procedure CalcM5 (Δ,Ε: IN, Ζ,Θ: OUT) ... Υπολόγισε Ζ,Θ ... End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα λήψης δεδομένων Ζ

ExecM 5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Procedure GetΔ (Δ: OUT) ... Διάβασε Δ ... End_Procedure Procedure GetΕ (Ε: OUT) ... Διάβασε Ε ... End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα εξόδου αποτελεσμάτων Ζ

ExecM 5 Δ

Θ Ε

GetΔ

Δ,Ε

PutΖ

Ζ,Θ

GetΕ

PutΘ CalcM5

Procedure PutΘ (Θ: ΙΝ) ... Γράψε Θ ... End_Procedure Procedure PutΖ (Ζ: ΙΝ) ... Γράψε Ζ ... End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΔΔΠ από κέντρο δοσοληψιών Μ2

Γ1 Α Γ2

Μ1

Β

Μονάδες ελέγχου περιπτώσεων 1 έως 3

Μονάδα ελέγχου Μ3

Γ3

Γ3

ExecM1

Γ2

Α

Μ4

Γ1 Β

GetΑ GetΒ Λήψη δεδομένων

Α,Β

ExecM4

ExecM3

Γ

ExecM2 CalcM1 Επεξεργασία δεδομένων

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου Procedure ExecM1

Γ3 ExecM 1

Α

Γ2 Γ1

GetΑ

Β

Α,Β

ExecM 3

Γ ExecM 2

GetΒ CalcM 1

ExecM 4

Local Var Α,Β,Γ,Γ1,Γ2,Γ3 Αρχικοποίηση Α,Β,Γ,Γ1,Γ2,Γ3 Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) Case Γ of (Γ1): Call ExecM2(Γ1) (Γ2): Call ExecM3(Γ2) (Γ3): Call ExecM4(Γ3) End_Case End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου Procedure ExecM1

Γ3 ExecM 1

Α

Γ2 Γ1

GetΑ

Β

Α,Β

ExecM 3

Γ ExecM 2

GetΒ CalcM 1

ExecM 4

Local Var Α,Β,Γ,Γ1,Γ2,Γ3 Αρχικοποίηση Α,Β,Γ,Γ1,Γ2,Γ3 Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) Case Γ of (Γ1): Call ExecM2(Γ1) (Γ2): Call ExecM3(Γ2) (Γ3): Call ExecM4(Γ3) End_Case End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου Procedure ExecM1

Γ3 ExecM 1

Α

Γ2 Γ1

GetΑ

Β

Α,Β

ExecM 3

Γ ExecM 2

GetΒ CalcM 1

ExecM 4

Local Var Α,Β,Γ,Γ1,Γ2,Γ3 Αρχικοποίηση Α,Β,Γ,Γ1,Γ2,Γ3 Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) Case Γ of (Γ1): Call ExecM2(Γ1) (Γ2): Call ExecM3(Γ2) (Γ3): Call ExecM4(Γ3) End_Case End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου Procedure ExecM1

Γ3 ExecM 1

Α

Γ2 Γ1

GetΑ

Β

Α,Β

ExecM 3

Γ ExecM 2

GetΒ CalcM 1

ExecM 4

Local Var Α,Β,Γ,Γ1,Γ2,Γ3 Αρχικοποίηση Α,Β,Γ,Γ1,Γ2,Γ3 Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) Case Γ of (Γ1): Call ExecM2(Γ1) (Γ2): Call ExecM3(Γ2) (Γ3): Call ExecM4(Γ3) End_Case End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα επεξεργασίας δεδομένων Γ3 ExecM 1

Α

Γ2 Γ1

GetΑ

Β

Α,Β

ExecM 4

ExecM 3

Γ ExecM 2

GetΒ CalcM 1

Procedure CalcM1 (Α,Β: IN, Γ: OUT) ... Υπολόγισε Γ ... End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα λήψης δεδομένων Procedure GetΑ (Α: OUT)

Γ3 ExecM 1

Α

Γ2 Γ1

GetΑ

Β

Α,Β

ExecM 3

Γ ExecM 2

GetΒ CalcM 1

ExecM 4

... Διάβασε Α ... End_Procedure Procedure GetΒ (Β: OUT) ... Διάβασε Β ... End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μονάδα ελέγχου περίπτωσης Procedure ExecM2 (Γ1: ΙΝ)

Γ3 ExecM 1

Α

Γ2 Γ1

GetΑ

Β

Α,Β

ExecM 4

ExecM 3

... End_Procedure

Γ ExecM 2

GetΒ CalcM 1

Procedure ExecM3 (Γ2: ΙΝ) ... End_Procedure Procedure ExecM4 (Γ3: ΙΝ) ... End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Έλεγχος ψευδοκώδικα (1) 





Υπάρχουν τόσες ρουτίνες όσες οι μονάδες προγράμματος; Έχουν περαστεί σωστά όλες οι παράμετροι; Έχουν αρχικοποιηθεί όλες οι μεταβλητές (εκτός από τις παραμέτρους);

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Έλεγχος ψευδοκώδικα (2) 

Στις ρουτίνες που αντιστοιχούν σε μονάδες ελέγχου: 





καλούνται όλες οι μονάδες προγράμματος που πρέπει να κληθούν; καλούνται όλες οι μονάδες προγράμματος που πρέπει να κληθούν με τη σωστή σειρά;

Αποτυπώνονται όλες οι προδιαγραφές;

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Άσκηση: βρείτε τα λάθη Procedure ExecM1 Local Var Α,Β,Γ Αρχικοποίηση Α,Β Call GetΑ(Α) Call CalcΜ1(Α,Β) If Γ=-1 Then τύπωσε μήνυμα λάθους Else Call ExecM3(Γ) End_If End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Άσκηση: βρείτε τα λάθη Procedure ExecM1 Local Var Α,Β,Γ Αρχικοποίηση Α,Β,Γ Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) If Γ=-1 Then τύπωσε μήνυμα λάθους Else Call ExecM3(Γ) End_If End_Procedure

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Ερωτήσεις 

Procedure ExecM1 Local Var Α,Β Αρχικοποίηση Α,Β,Γ





Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ)





Call ExecM3(Γ) End_Procedure



Σε τι μονάδα προγράμματος αντιστοιχεί η ρουτίνα ExecM1; Είναι ο Μ1 κεντρικός μετασχηματισμός; Ποια είναι τα δεδομένα εισόδου του μετασχηματισμού Μ1; Ποια είναι τα δεδομένα εξόδου του μετασχηματισμού Μ1; Επικοινωνεί ο μετασχηματισμός Μ1 με άλλο μετασχηματισμό; Επικοινωνεί ο μετασχηματισμός Μ1 με αποθήκη δεδομένων, πηγή, αποδέκτη;

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Ερώτηση 1 

Procedure ExecM1 Local Var Α,Β Αρχικοποίηση Α,Β,Γ Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) Call ExecM3(Γ) End_Procedure



Σε τι μονάδα προγράμματος αντιστοιχεί η ρουτίνα ExecM1; Σε μονάδα ελέγχου

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Ερώτηση 2 

Procedure ExecM1 Local Var Α,Β Αρχικοποίηση Α,Β,Γ Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) Call ExecM3(Γ) End_Procedure



Είναι ο Μ1 κεντρικός μετασχηματισμός; Δεν μπορούμε ν’ απαντήσουμε

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Ερώτηση 3 

Procedure ExecM1 Local Var Α,Β Αρχικοποίηση Α,Β,Γ Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) Call ExecM3(Γ) End_Procedure



Ποια είναι τα δεδομένα εισόδου του μετασχηματισμού Μ1; Τα δεδομένα Α,Β

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Ερώτηση 4 

Procedure ExecM1 Local Var Α,Β Αρχικοποίηση Α,Β,Γ Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) Call ExecM3(Γ) End_Procedure



Ποια είναι τα δεδομένα εξόδου του μετασχηματισμού Μ1; Το δεδομένο Γ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Ερώτηση 5 

Procedure ExecM1 Local Var Α,Β Αρχικοποίηση Α,Β,Γ Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β,Γ) Call ExecM3(Γ) End_Procedure



Επικοινωνεί ο μετασχηματισμός Μ1 με άλλο μετασχηματισμό; Με το μετασχηματισμό Μ3

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Ερώτηση 6 

Procedure ExecM1 Local Var Α,Β Αρχικοποίηση Α,Β,Γ Call GetΑ(Α) Call GetΒ(Β) Call CalcΜ1(Α,Β) Call ExecM3(Γ) End_Procedure



Επικοινωνεί ο μετασχηματισμός Μ1 με αποθήκη δεδομένων, πηγή, αποδέκτη; Δεν μπορούμε ν’ απαντήσουμε

Related Documents