Presentation is loading. Please wait.

Presentation is loading. Please wait.

May 24, 2015 1 May 24, 2015May 24, 2015May 24, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,

Similar presentations


Presentation on theme: "May 24, 2015 1 May 24, 2015May 24, 2015May 24, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,"— Presentation transcript:

1 May 24, 2015 1 May 24, 2015May 24, 2015May 24, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ CS 480 Software Engineering II

2 May 24, 2015 2 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU CS 480 (SE) 2 vs. Software Engineering

3 May 24, 2015 3 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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  OT is the key to Software Construction

4 May 24, 2015 4 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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

5 May 24, 2015 5 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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

6 May 24, 2015 6 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  What is systems engineering process

7 May 24, 2015 7 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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)

8 May 24, 2015 8 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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

9 May 24, 2015 9 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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 V

10 May 24, 2015 10 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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 V From Conceptual to Complete From break-down to put-together Software Construction

11 May 24, 2015 11 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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

12 May 24, 2015 12 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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 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

13 May 24, 2015 13 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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

14 May 24, 2015 14 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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

15 May 24, 2015 15 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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 SRS: -- External Entities Customer Keypad Card Reader Control System Customer Display Printout Dispenser Cash Dispenser -- Functional Level-0 Auto Teller System

16 May 24, 2015 16 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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 SRS (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

17 May 24, 2015 17 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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 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.

18 May 24, 2015 18 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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 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

19 May 24, 2015 19 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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) PRD 0 = 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) 

20 May 24, 2015 20 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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 Data Pool Op1Fun2Op3Fun4 Program = DataStructure + Algorithm: /* Data Pool */ … … void Op1 (… …) { } int Fun2 (… …) { } void Op3 (… …) { } float Fun4 (… …) { } int main () { … … }

21 May 24, 2015 21 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/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 OOA and OOD 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 */ … … }

22 May 24, 2015 22 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  OT is the key to Software Construction Object Technology is a widely- used approach to solving the problems of software construction. It involves the encapsulation of functionality and associated data as objects, and the classification of those objects into a hierarchy of classes. This makes it easier to control complexity, and encourages the development of flexible, robust, and re-usable components.

23 May 24, 2015 23 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  OT is the key to Software Construction  Object-Orientation  Object-Oriented Design  Object-Oriented Programming  Distributed Objects  Design Patterns

24 May 24, 2015 24 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  OT is the key to Software Construction  Object-Orientation  Object-Oriented Design  Object-Oriented Programming  Distributed Objects  Design Patterns It takes a big picture approach to programming and design, rather than dwelling on language-specific details, and serves as a framework in the Object Technology theme.

25 May 24, 2015 25 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  OT is the key to Software Construction  Object-Orientation  Object-Oriented Design  Object-Oriented Programming  Distributed Objects  Design Patterns standard techniques for the specification of software. This is based around a carefully- chosen subset of the UML (Unified Modeling Language), and places the techniques in a formal software engineering context.

26 May 24, 2015 26 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  OT is the key to Software Construction  Object-Orientation  Object-Oriented Design  Object-Oriented Programming  Distributed Objects  Design Patterns This refers to the concepts and principles of object-oriented programming: 1. objects, methods, interfaces, messages, events, and threads. 2.some knowledge of the notations of the Unified Modeling Language (UML).

27 May 24, 2015 27 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  OT is the key to Software Construction  Object-Orientation  Object-Oriented Design  Object-Oriented Programming  Distributed Objects  Design Patterns This is about object-oriented programming in the large: 1. distribution of computation across remote servers. 2. software components: independent, self-contained units of software with tightly-specified interfaces, capable of late integration. 3. interoperability between components implemented in different languages and on different platforms.

28 May 24, 2015 28 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  OT is the key to Software Construction  Object-Orientation  Object-Oriented Design  Object-Oriented Programming  Distributed Objects  Design Patterns This is advanced structure and behavior of object-oriented systems, covering both design and programming. It is based around the notion of a design pattern: an abstraction of a proven solution to a recurring problem in a specific context in system design. The applicability of these ideas is not restricted to object-oriented languages, This needs considerable experience in OOD and OOP programming.

29 Thank you very much! Questions? May 24, 2015 29 Azusa Pacific University, Azusa, CA 91702, Tel: (800) 825-5278 Department of Computer Science, http://www.apu.edu/clas/computerscience/http://www.apu.edu/clas/computerscience/ Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering


Download ppt "May 24, 2015 1 May 24, 2015May 24, 2015May 24, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,"

Similar presentations


Ads by Google