January 27, January 27, 2016January 27, 2016January 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Documentation for Software Engineering
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU SE Documents vs SE Project V-Model and Developmental Approach V V
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
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU V Requirement Analysis Functional Analysis/Allocation Integration / Synthesis SE Documents vs SE Project Incremental and Spiral Approach
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU V Requirement 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 and Responsibility
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU V SE Documents vs SE Project Decompositional Analysis
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU 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
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU V PSD (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 Focus SE Documents vs SE Project
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU V SDD (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 Refinement SE Documents vs SE Project
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU V SDD (pseudo-code): PROCEDURE CheckPIN CONSTANTS MAXPINS IS 3 VARIABLES PINCounter IS NUMBER BEGIN 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 ENDIF END CheckPIN Problem Definition and Algorithm Planning SE Documents vs SE Project
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU Problem Requirements Definition (PRD) PRD 0 = 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 Formulas SE Documents vs SE Project
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU Data Pool Op1Fun2Op3Fun4 Program = DataStructure + Algorithm: /* Data Pool */ … … void Op1 (… …) { } int Fun2 (… …) { } void Op3 (… …) { } float Fun4 (… …) { } int main () { … … } Practical Implementation --> Functional Paradigm SE Documents vs SE Project
January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU Data Pool Op1Fun2Op3Fun4 // Program=DataStructure + Algorithm: Class CLS1 Public void Op1 (… …) { … } int Fun2 (… …) { … } private /* Data Pool */ … … } Class CLS2 public void Op3 (… …) { … } float Fun4 (… …) { … } Private /* Data Pool */ … … } Practical Implementation --> Object-Oriented Paradigm SE Documents vs SE Project
Thank you very much! Questions? January 27, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU Documentation for Software Engineering