january 27, 2016 1 january 27, 2016january 27, 2016january 27, 2016 azusa, ca sheldon x. liang ph....

14
June 17, 2022 1 June 17, 2022 June 17, 2022 Azusa, Azusa, CA CA Sheldon X. Liang Ph. D. Software Engineering Software Engineering in CS in CS at at APU APU Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/ Documentation for Software Documentation for Software Engineering Engineering

Upload: hope-banks

Post on 17-Jan-2018

231 views

Category:

Documents


0 download

DESCRIPTION

January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU V V From Conceptual to Complete From break-down to put-together Software Construction SE Documents vs SE Project  Analysis and Software Construction

TRANSCRIPT

Page 1: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 20231

May 3, 2023May 3, 2023 Azusa, CAAzusa, CA

Sheldon X. Liang Ph. D.

Software Engineering Software Engineering in CS in CS at at APUAPU

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Documentation for Software EngineeringDocumentation for Software Engineering

Page 2: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 20232

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPUSE Documents vs SE Project SE Documents vs SE Project

V-Model and Developmental Approach

VV

Page 3: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 20233

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

VVFrom Conceptual to Complete

From break-down to put-together

Software Construction

SE Documents vs SE Project SE Documents vs SE Project Analysis and Software Construction

Page 4: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 20234

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

VRequirement Analysis

Functional Analysis/Allocation

Integration / Synthesis

SE Documents vs SE Project SE Documents vs SE Project Incremental and Spiral Approach

Page 5: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 20235

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

VRequirement Analysis

Functional/Structural Analysis

Functional Allocation

Problem Definition (PRD)-- Identify external entities-- identify major components -- identify links (dataflow)

Problem Design (SDD)-- functional allocation -- activities & interface-- identify further components -- identify links

PRD & PSD & SDD

Project Specification (PSD)-- identify major components -- identify links (dataflow) -- architectural choice (non-func)

SE Documents vs SE Project SE Documents vs SE Project SE Documents and Responsibility

Page 6: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 20236

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

VSE Documents vs SE Project SE Documents vs SE Project

Decompositional Analysis

Page 7: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 20237

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

Problem Definition and Its Focus

PRD:-- External Entities Customer Keypad Card Reader Control System Customer Display Printout Dispenser Cash Dispenser-- Functional Level-0 Auto Teller System

SE Documents vs SE Project SE Documents vs SE Project

Page 8: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 20238

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

VPSD (Refined PRD):-- External Entities-- Functional Level-1 Receive operator command Verify PIN from card Display customer options Prepare command Update display Prepare message Prepare printout Mange withdrawal

Project Specification and Its FocusSE Documents vs SE Project SE Documents vs SE Project

Page 9: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 20239

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

VSDD (description):The CheckPIN procedure handles the verification of the customer's Personal Identification Number (PIN) using data retrieved from the card's magnetic strip. The procedure invites the customer to enter their PIN using the keypad. If this does not match the PIN stored on the card, a limited number of retries is permitted, after which the card is confiscated as a security precaution. If the correct PIN is entered, the Services procedure is called.

Software Design and RefinementSE Documents vs SE Project SE Documents vs SE Project

Page 10: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 202310

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

VSDD (pseudo-code):PROCEDURE CheckPINCONSTANTS MAXPINS IS 3VARIABLES PINCounter IS NUMBERBEGIN read data from card set PINCounter to zero LOOP UNTIL PINCounter is equal to MAXPINS input PIN from customer keypad IF entered PIN matches card PIN THEN EXITLOOP ENDIF add 1 to PINCounter ENDLOOP IF PINCounter is equal to MAXPINS THEN confiscate customer's card ELSE CALL PROCEDURE Services ENDIFEND CheckPIN

Problem Definition and Algorithm PlanningSE Documents vs SE Project SE Documents vs SE Project

Page 11: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 202311

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

Problem Requirements Definition (PRD)

PRD0 = Major_Operation + ∑ External_entities

PRD* = ∑ Functional_allocation (tasks) + ∑ Dataflows

PRD* ==> PSD = ∑ Functionality + ∑ Architectural (NF)

Software Design Document (SDD)

SDD = ∑ Functional_Description (strategic psuedo-code)

Software Project Plan

SPP = ∑ Scheduled Implementation (coding & testing plan)

Evolutionary Documenting FormulasSE Documents vs SE Project SE Documents vs SE Project

Page 12: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 202312

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

Data Pool

Op1 Fun2 Op3 Fun4

Program = DataStructure + Algorithm:/* Data Pool */ … …void Op1 (… …) {}int Fun2 (… …){}void Op3 (… …){}float Fun4 (… …){}

int main (){ … …}

Practical Implementation --> Functional ParadigmSE Documents vs SE Project SE Documents vs SE Project

Page 13: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

May 3, 202313

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

Data Pool

Op1 Fun2 Op3 Fun4

// Program=DataStructure + Algorithm:Class CLS1Public void Op1 (… …) { … } int Fun2 (… …) { … }private /* Data Pool */ … …}

Class CLS2public void Op3 (… …) { … } float Fun4 (… …) { … }Private /* Data Pool */ … …}

Practical Implementation --> Object-Oriented ParadigmSE Documents vs SE Project SE Documents vs SE Project

Page 14: January 27, 2016 1 January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,

Thank you very much!

Questions?

May 3, 202314

Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/

Software Engineering Software Engineering in CS in CS at at APUAPU

Documentation for Software EngineeringDocumentation for Software Engineering