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

Slides:



Advertisements
Similar presentations
Chapter 4: Requirements Engineering
Advertisements

Lecture 6: Software Design (Part I)
System Integration Verification and Validation
S Y S T E M S E N G I N E E R I N G.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
April 30, April 30, 2015April 30, 2015April 30, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,
May 2, May 2, 2015May 2, 2015May 2, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA.
May 3, May 3, 2015May 3, 2015May 3, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa, CA.
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
May 20, May 20, 2015May 20, 2015May 20, 2015 Azusa, CA Sheldon X. Liang Ph. D. Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
May 24, May 24, 2015May 24, 2015May 24, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
What do Computer Scientists and Engineers do? CS101 Regular Lecture, Week 10.
Technical Specification / Schedule Department of Computer Science and Engineering Michigan State University Spring 2007 Team : CSE 498, Collaborative Design.
Department of Computer Science University of Maryland, College Park
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
1 Introduction to System Engineering G. Nacouzi ME 155B.
Introduction to Software Engineering Dr. Basem Alkazemi
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Chapter 8: Introduction to High-level Language Programming Invitation to Computer Science, C++ Version, Third Edition.
August 1, August 1, 2015August 1, 2015August 1, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,
Difference between project and other assignments real customer before programming: negotiations with client to clarify requirements often changes.
Distinctions Between Computing Disciplines
Engineering Systems of.
Architectural Synthesis Approach Sheldon X. Liang Ph. D. August 18, Software Engineering in CS at APU Architectural Synthesis Approach Azusa Pacific.
August 19, August 19, 2015August 19, 2015August 19, 2015 Azusa, CA Sheldon X. Liang Ph. D. CS 470 Software Engineering I Azusa Pacific University,
August 22, August 22, 2015August 22, 2015August 22, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Software Configuration Management (SCM)
Software System Engineering: A tutorial
Overview of Computing. Computer Science What is computer science? The systematic study of computing systems and computation. Contains theories for understanding.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
CS212: Object Oriented Analysis and Design Lecture 4: Objects and Classes - I.
1 12 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 12 Designing Systems Interfaces, Controls, and Security.
Presented by Khaled Chebaro, Yaser Jafar, Orin Pereira KYO Engineering Consultants Inc. on 27/11/07 Automated Banking Machine for MacBank Inc. SFWR 3M04.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
Faculty of Computer & Information Software Engineering Third year
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1 October 20, October 20, 2015October 20, 2015October 20,
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class project.
Lecture Introduction to Software Development SW Engg. Development Process Instructor :Muhammad Janas khan Thursday, September.
Cs413_design04.ppt Design and Software Development Design : to create a functional interface that has high usability Development : an organized approach.
Unit 2 – Algorithms & Pseudocode. Algorithms Computer problems solved by executing series of action in order Procedure –The Actions to execute –The Order.
November 22, November 22, 2015November 22, 2015November 22, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
Dr. Young J. Kim.  INCOSE Definition ( ◦ “An interdisciplinary approach & means to enable the realization of successful systems. It focuses.
UFCEKS-20-2Multimedia Authoring Times Table Quiz.
December 13, December 13, 2015December 13, 2015December 13, 2015 Azusa, CA Sheldon X. Liang Ph. D. Computer Science at APU Azusa Pacific University,
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  What is engineer,  What is Computer Engineering  The topics in Computer Engineering You will learn: 2.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
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,
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
February 19, February 19, 2016February 19, 2016February 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
ISE Key Concepts Terminology –systems engineering: an interdisciplinary approach and means to enable the realization of successful systems. It.
MIT App Inventor Lesson 3 Algorithms Variables Procedures.
February 27, February 27, 2016February 27, 2016February 27, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific.
System A system is a set of elements and relationships which are different from relationships of the set or its elements to other elements or sets.
March 19, March 19, 2016March 19, 2016March 19, 2016 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University,
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Discussion of Course Syllabus Class will start momentarily. Please Stand By … CS 8532: Advanced.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad , Monday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Software Development Life Cycle. The Software Life Cycle  Encompasses all activities from initial analysis until end of work  Formal process for software.
Advanced Higher Computing Science
Object-Oriented Static Modeling of the Banking System - I
The Systems Engineering Context
Introduction to Database Management System
Chapter 1 (pages 4-9); Overview of SDLC
Presentation transcript:

August 13, August 13, 2015August 13, 2015August 13, 2015 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, CS 470 Software Engineering I

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU CS 470 (SE) 2

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  What is systems engineering process

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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)

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  What we learn from systems engineering

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  What we learn from systems engineering V V

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  What we’re going to do with DFD V V

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  What we’re going to do with DFD V

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering  What we’re going to do with DFD V 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

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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.

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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) 

August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, 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 () { … … }

Thank you very much! Questions? August 13, Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department of Computer Science, Software Engineering in CS at APU (SE) 2 : System Engineering vs Software Engineering