210 likes | 328 Views
Software Engineering in CS at APU. CS 470 Software Engineering I. Sheldon X. Liang Ph. D. October 1, 2014. Azusa, CA. 1. October 1, 2014. Azusa Pacific University, Azusa, CA 91702, Tel: (800) 8 25-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/.
E N D
Software Engineering in CS at APU CS 470 Software Engineering I Sheldon X. Liang Ph. D. October 1, 2014 Azusa, CA 1 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU CS 470 (SE)2 2 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What is a system What is systems engineering What is systems engineering process What we learn from systems engineering Break down: Problem Definition (PRD) Model&Interface: Problem Design (SDD) Unit coding: Programming (SPP) Put-together: Integration (SIP) What we are going to do with DFD 3 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What is a system Components - A purposeful collection of inter-related components working together to achieve some common objective. External Entities - A system may include software, mechanical, electrical and electronic hardware and be operated by people. External Dependencies - System components are dependent on other system components Collaboration - The properties and behavior of system components are inextricably intermingled problem requirements definition: identification of data & operation 4 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What is systems engineering Systems Engineering (SE) is an interdisciplinary field of engineering, that focuses on the development and organization of complex artificial systems. Systems Engineering integrates other disciplines and specialty groups into a team effort, forming a structured development process that proceeds from concept to production to operation and disposal. Systems Engineering considers both the business and the technical needs of all customers, with the goal of providing a quality product that meets the user needs Structured development process: Analysis vs Synthesis 5 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What is systems engineering process 6 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we learn from systems engineering Break down: Problem Definition (PRD) Model&Interface: Problem Design (SDD) Unit coding: Programming (SPP) Put-together: Integration (SIP) 7 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we learn from systems engineering 8 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering V What we learn from systems engineering V 9 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering V What we learn from systems engineering From Conceptual to Complete V From break-down to put-together 10 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we learn from systems engineering V Requirement Analysis Functional Analysis/Allocation Integration / Synthesis 11 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we learn from systems engineering PRD & SDD V Problem Definition (PRD) -- Identify external entities -- identify major components -- identify links (dataflow) Requirement Analysis Functional Analysis Functional Allocation Problem Design (SDD) -- functional allocation -- activities & interface -- identify further components -- identify links 12 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we’re going to do with DFD V V 13 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we’re going to do with DFD V 14 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we’re going to do with DFD PRD: -- External Entities Customer Keypad Card Reader Control System Customer Display Printout Dispenser Cash Dispenser -- Functional Level-0 Auto Teller System 15 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we’re going to do with DFD PRD (Refined): -- 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 V 16 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we’re going to do with DFD 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. V 17 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we’re going to do with DFD 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 V 18 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we’re going to do with DFD Problem Requirements Definition (PRD) PRD0 = Major_Operation + ∑ External_entities PRD* = ∑ Functional_allocation (tasks) + ∑ Dataflows Software Design Document (SDD) SDD = ∑ Functional_Description (strategic psuedo-code) Software Project Plan SPP = ∑ Scheduled Implementation (coding & testing plan) 19 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering What we’re going to do with DFD Program = DataStructure + Algorithm: /* Data Pool */ … … void Op1 (… …) { } int Fun2 (… …) { } void Op3 (… …) { } float Fun4 (… …) { } int main () { … … } Data Pool Op1 Fun2 Op3 Fun4 20 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/
Software Engineering in CS at APU (SE)2: System Engineering vs Software Engineering Thank you very much! Questions? 21 October 1, 2014 Azusa Pacific University, Azusa, CA 91702,Tel: (800) 825-5278 Department of Computer Science,http://www.apu.edu/clas/computerscience/