august 13, 2015 1 august 13, 2015august 13, 2015august 13, 2015 azusa, ca sheldon x. liang ph. d....
TRANSCRIPT
April 19, 20231
April 19, 2023April 19, 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/
CS 470 Software Engineering ICS 470 Software Engineering I
April 19, 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 APUAPU
CS 470 (SE)CS 470 (SE)22
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: 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
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering
What is a systemComponents - 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
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: 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
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering What is systems engineering process
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: 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)
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering
What we learn from systems engineering
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering
What we learn from systems engineering
VV
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering
What we learn from systems engineering
VVFrom Conceptual to Complete
From break-down to put-together
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering
What we learn from systems engineering
VRequirement Analysis
Functional Analysis/Allocation
Integration / Synthesis
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering
What we learn from systems engineering
VRequirement Analysis
Functional 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 & SDD
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering What we’re going to do with DFD
VV
April 19, 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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering What we’re going to do with DFD
V
April 19, 202315
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
(SE)(SE)22: System Engineering vs Software Engineering: 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
April 19, 202316
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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering What we’re going to do with DFD
VPRD (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
April 19, 202317
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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering What we’re going to do with DFD
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.
April 19, 202318
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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering What we’re going to do with DFD
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
April 19, 202319
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
(SE)(SE)22: System Engineering vs Software Engineering: 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)
April 19, 202320
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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering What we’re going to do with DFD
Data Pool
Op1 Fun2 Op3 Fun4
Program = DataStructure + Algorithm:/* Data Pool */ … …void Op1 (… …) {}int Fun2 (… …){}void Op3 (… …){}float Fun4 (… …){}
int main (){ … …}
Thank you very much!
Questions?
April 19, 202321
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
(SE)(SE)22: System Engineering vs Software Engineering: System Engineering vs Software Engineering