SE310 Analysis and Design of Software Systems

Size: px
Start display at page:

Download "SE310 Analysis and Design of Software Systems"

Transcription

1 SE310 Analysis and Design of Software Systems Lecture 1 - Introduction January 11, 2018 Sam Siewert

2 Introductions What You Want from Course? When You Plan to Take Capstone? Which is your preferred OOP [C++, Java, Other?] How Do you Design your Software Now? Other teaching, research and service this Spring SE310, Analysis and Design of Software CEC322, Microprocessor Lab CS332, Organization of Programming Languages Tau Beta Pi ERAU Internal Research - ICARUS Sam Siewert 2

3 Dr. Sam Siewert UC Berkeley Philosophy/Physics University of Notre Dame, BS - Aerospace/Mechanical Engineering Johnson Space Center, U. of Houston Computer Engineering, Mission Control Center U. of Colorado, Boulder, MS/PhD JPL, Colorado Space Grant, Computer Science CU Boulder Senior Instructor, Adjunct Professor, CTO, Architect, Developer/Engineer in Local Start-ups U. of Alaska, Anchorage, Assistant Professor, Computer Systems Engineering, Alaska Space Grant Embry Riddle Prescott, Assistant Professor, CESE, Professor Adjunct, CU-Boulder Sam Siewert 3

4 Course Goals and Outline Textbook: Hassan Gomaa, "Software Modeling and Design", Cambridge University Press, 1st Edition, 2011, Book website, Companion Materials, Author Website, ISBN This book covers all you need to know to model and design software applications from use cases to software architectures in UML and shows how to apply the COMET UML-based modeling and design method to real-world problems. The author describes architectural patterns for various architectures, such as broker, discovery, and transaction patterns for service-oriented architectures, and addresses software quality attributes - Design Tool (Demo Right Away) GitHub or Bitbucket Source and Document CMVC (Configuration Management and Version Control) Coding in C++ [or OOP language(s) of your comfort], is for Proof-of- Concept and Prototype Only Amazon Link Sam Siewert 4

5 Course Learning Objectives OO Analysis, Design, Implementation and Test Research Software System or Application OO Prototype (Proof-of-Concept), V&V Six 2-Week Scrum Cycles 1. Specification R&D R&D Proposed App and problem solved! 2. Requirements Analysis Use Agile Scrum + XP + OOA/OOD R&D Citations, re-use with credit, release notes R&D Design teams CRC, Req ts, OOA, OOD, UML models, prototypes, & design walk-throughs 3. Design, Code Re-use 4. Team Design a. Decompose b. Integrate R&D Final design inspection 5. Design and Prototype R&D = Analysis, More Analysis, Design, Prototype, Repeat 6. Design Review(s) Sam Siewert 5

6 Foreshadow Demos - Modelio 3.7 SD #1 - Modelio Example UML Models (1 to 5) CASE Tool? Code Generation? Model Check! Consistency, Completeness, Conforming to Standard (UML 2.5) #2 - Interactive ATM Machine Design PoC Can Really Assist with Analysis and Early V&V Observation - You Can Pair this Class with SQA Final Project! Sam Siewert 6

7 Domain Models Use Case Details Complete a Design Provide Code Re-Use Candidates and PoC Start Here! USE Modelio 3.7 SD as your DESIGN TOOL OMG UML 2.5 Standard Structural Diagrams Start with Class Diagram and CRC Then Object Diagram Package and Deployment Behavioral Diagrams Start with Use Case Diagram Interaction Sequence Diagram after Class and Object Done Add State Machine and Activity Diagrams for concurrency and statefulness Helpful Validation and Verification Features for Design Integrated Models Checklists Completeness CPP and Java Code Generation Sam Siewert 7

8 Example_1_RAID_Classes Simple Classes and Hierarchy for XOR (RAID5) and Mirror (RAID1) Sam Siewert 8

9 Example_2_ATM_UC_and_CRC_Classes Use case model, classes, and Class diagram Sam Siewert 9

10 Example_3_RAID_System_UC_and_CRC_Classes UC with External Actors, UCs with relationships shown Can break into many UC s and Hierarchy to Abstract Sam Siewert 10

11 Example_3_RAID_System_UC_and_CRC_Classes Use Class Diagram to Create Object Diagram Use Object Diagram in Interaction Sequence Diagram Sam Siewert 11

12 Example_4_Cruise_Control_UC_and_CRC_Classes Instance:Class Lifelines Showing Message Passing and Execution, with Control Blocks Noted Sam Siewert 12

13 Example_4_Cruise_Control_UC_and_CRC_Classes Classes Grouped into Modules (Cohesion and Coupling) Sam Siewert 13

14 Example_5_Fast_Food_Automation Activity Diagram (Concurrency, Flowchart Model) Sam Siewert 14

15 Learn by Doing Pick an Application or System with focus on an aspect or Subsystem of your Interest (for R&D and prototyping) Can Model, Emulate or Simulate Hardware Elements Examples Application Assistant Calendar/Planner, Fitness Tracker, etc. Planning Applications (E.g. CoE Personal Flow-chart Generator, CE, SE) Game for fun or education Aspect of small UAS system (drone) Aspect of Wind / Solar, Fuel-Cell for Off-Grid and Smart-Grid Alternative Energy Farm Aspect of Space Systems (E.g. Cube-Sat) for Mapping Mission Aspect of Self-Driving Car, Intelligent Transportation, Rules (Emulate Roadway, Use Real Camera) Mobile Applications (Android or ios) e.g. Games and Apps Whatever Interests You (I m Glad to Help) Sam Siewert 15

16 Example View of System Interfaces, Processing, Entities (Objects) Sam Siewert 16

17 Software End-to-End System Sam Siewert 17

18 Software Engineering Characteristics of SWE Life Cycle Process to Analyze, Design, Code, Unit Test, Integrate and Test, Accept, and Maintain Software Solutions Planning, Project Management, Methods PQCT Productivity (E.g. Lines of Code (poor metric), Modules, Features, ) Quality (E.g. Defects, Deficiencies, Test Coverage, ) Cost (E.g. NRE Development, Maintenance, Upgrade, ) CAPEX, OPEX Time to Market (Wide Range of Months to Years) Sam Siewert 18

19 Active + Traditional Inductive + Deductive Learning Strategy Active Means In-Class Activities Component of your Grade on Exercises If You Must Miss, 2 In-Class Can Be Dropped Active Learning & Grading Policy Minute Papers In-Class Experiments, Activities, Think-Pair-Share, Groups Outside-of-Class Analysis, Design and Development Groups SE310 - introduce students to specific techniques which are widely used in the analysis and design of software systems. Traditional techniques will be reviewed and current methodologies will be taught and practiced. Emphasis will be placed on the standard notation used to document software requirements and designs. The translation of a documented design to implemented software will be explored by example, however, software construction (programming) will not be emphasized in the course Sam Siewert 19

20 You Get out of Education what you Put into it! Active Participation Policies Scrum Team Formation Scrum Status Walkthroughs Final Inspection Challenge me on Design Sam Siewert 20

21 Software Design Think-Pair-Share How is Software Engineering Different from Computer Science? Pair Up or Work as a Group and Discuss Present Brief Answer to Class Sam Siewert 21

22 PRClab, VB & SWE Worstation - Linux Option #1 Use PRClab, prclab.pr.erau.edu via SSH Recommend MobaXterm Code Development (GCC/g++, Make, etc.) - Option #2 Use Virtual-Box Linux with Centos 6.5 Install of Ubuntu LTS (Both Supported) Must Have Windows, Macintosh or Linux Personal PC Development-Getting-Started.pdf Modelio on SWE workstation Once logged on prc-b se1, via ssh (with X11 forwarding), the following steps will start Modelio: Change to Modelio directory: cd /home/modelio3.6 Launch Modelio.sh script:./modelio.sh Note: do not launch the binary modelio (it will not work correctly) Git client Runs on PRClab SSH Tunnel to GitHub Sam Siewert 22

23 Administrivia Introductions Instructor (Office Hours) Schedule 2017 Students (Introductions) Please do Collaborate, but cite well! Policies - ERAU Canvas Assignment Management Tool Access via ERNIE - Mercury Website Primary - Course Information list (please sign up on sheet being passed around) Lecture Notes at No Notes for Active Learning, In-Class Work (See a Friend if you Miss Class) Must have PRClab account OR VB-Linux & SWE workstation account I highly recommend all 3, but PRClab and SWE workstation are sufficient Sam Siewert 23

24 Detailed Learning Objectives What to Build? Specification from Concepts Requirements as Capabilities Methods to Identify Requirements How to Specify It? Domain Modeling Architecture and Design Patterns (Object Oriented) Design Inspections OOA/OOD UML (Universal Modeling Language) Translation of OOA/OOD to an OOP (C++ or Java) Sam Siewert 24

25 Minute Paper #1 Does the OO Approach Have Significant Advantage over Structured Analysis/Design and Procedural Programming? Yes, No Why, Why Not? List 3 Key Advantages List 3 Key Disadvantages Will it Replace all Other Types of Programming? Hint After you Answer in your Own Words, Browse to: Sam Siewert 25

26 UML Use Cases Class Structure (Data and Operations on that Data) Use Cases and Corresponding Interaction Diagrams Actors in Use Case Behavior Shown by Interaction Diagrams Sam Siewert 26

27 UML Class Diagram Much Like ER / EER if you Have Had CS 317 Shows Class Relationships and Hierarchy Arrows Dashed Uses/Dependencies and Solid Relationships with Cardinality One ATM Instance Supports Many Sessions Over Time [Each Requires Card Read] One ATM Instance Supports Many Transactions (Abstract) Transaction Abstract Class Defines Specific (Refined) Transaction Types Sam Siewert 27

28 UML Interaction Diagrams Behavior Object Interactions over Time Solid Lines: Operations that Start Execution Sequences Dashed Lines: Messages Wide Vertical Lines: Active Process Started by Operation With Messaging X: End of Interaction (E.g. Specific Session) Sam Siewert 28

29 Detailed Design Class Public and Private Data Class Operations on Data Constructors and Destructors for Instantiation of Object Sam Siewert 29

30 Operations and State State Charts Operational Input Changes State of Objects [Output] At Any Time, Object is in One Well-known State Start State State: Object Instance Needs Specific Data, Waits on Next Input Input / Output On Transitions Termination State: End of Instance Sam Siewert 30

31 Traditional SA/SD Data Flow Diagrams Data [Messages] Between Processes and is Transformed Entity Relationship Diagrams Lacks Operations, but Defines Entities [Objects] and Relationships State Machines [in Common, but Typically for Each Process in DFD] Flow-Charts Detailed Procedural Design [Interaction, Logic] Sam Siewert 31

32 Architecture and Design Patterns OO Has Goal of Design and Software Re-Use Encapsulation of Data and Operations Class Hierarchy and Object Instances Well Understand Use Cases Well Understand Interaction Between Objects Study 4 Key System Types 1. Interactive E.g. GUI, CLI 2. Event Driven E.g. Anit-lock Breaking System Software 3. Transformational E.g. Image Processing, Encode/Decode [MPEG Digital Video, RAID] 4. Transaction Oriented E.g. DBMS Sam Siewert 32

33 Assignment #1 Activities Assignment #1 Discussion I will Post Every Other Tuesday, We ll Discuss, Due Following Week on Friday [10 days to complete each] Late Assignments 10% Penalty for 3-day-late Turn-in [Monday], After that, only with Instructor Permission Bring Up Modelio and Start Entering Address Book or ATM Design Enter Classes and Diagrams Covered in Class Simplify, But Complete (At least 3 of each Diagram Type) Sam Siewert 33

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 2 OO Examples and Process Introduction January 8, 2015 Sam Siewert Overall Learning Objectives What to Build? Requirements as Capabilities Methods

More information

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance Lecture 1 - Introduction August 25, 2014 Sam Siewert Dr. Sam Siewert UC Berkeley Philosophy/Physics 1984-85 University of Notre Dame, BS - Aerospace/Mechanical Engineering

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 2-2 Systems Engineering for OO January 17, 2018 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL in Agile

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 4, Part-2 Architectural Design January 28, 2019 Sam Siewert OOA/OOD vs. SA/SD Last Year s Consensus - 50% OO Helps, 50% Undecided Discussion of OOA

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 3 Systems Requirements January 21, 2015 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL WATERFALL XP

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 4, Part-1 Architectural Design January 29, 2018 Sam Siewert Architecture and Design Patterns Focus on What is Being Designed and Built OO Has Goal

More information

CSE A215 Assembly Language Programming for Engineers

CSE A215 Assembly Language Programming for Engineers CSE A215 Assembly Language Programming for Engineers Lecture 1 - Introduction August 28, 2012 Sam Siewert Sam Siewert UC Berkeley National Research University, Philosophy/Physics 1984-85 University of

More information

CS A490 Machine Vision and Computer Graphics

CS A490 Machine Vision and Computer Graphics CS A490 Machine Vision and Computer Graphics Lecture 1 - Introduction August 28, 2012 Sam Siewert Sam Siewert UC Berkeley National Research University, Philosophy/Physics 1984-85 University of Notre Dame,

More information

CS415 Human Computer Interaction

CS415 Human Computer Interaction CS415 Human Computer Interaction Lecture 1 - Introduction July 21, 2015 Sam Siewert Dr. Sam Siewert UC Berkeley Philosophy/Physics 1984-85 University of Notre Dame, BS - Aerospace/Mechanical Engineering

More information

SE310 Analysis and Design of Software

SE310 Analysis and Design of Software SE310 Analysis and Design of Software Lecture 14 REVIEW March 26, 2018 Sam Siewert Domain Models Use Case Details Complete a Design Provide Code Re-Use Candidate and PoC/Prototype Start Here! https://www.modelio.org/

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 6 Transitioning from Use Cases and Class Diagrams at Architecture Level to Design February 10, 2015 Sam Siewert Assignment #1 Comments OOA -> OOP (C++,

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems CEC 450 Real-Time Systems Lecture 1 - Introduction August 23, 2015 Sam Siewert Dr. Sam Siewert UC Berkeley Philosophy/Physics 1984-85 University of Notre Dame, BS - Aerospace/Mechanical Engineering Johnson

More information

SE420 - Software Quality Assurance

SE420 - Software Quality Assurance SE420 - Software Quality Assurance http://dilbert.com/strips/comic/2006-01-29/ Lecture 3 Unit Testing, Part-2 January 21, 2019 Sam Siewert Reminders Assignment #2 Posted Thursday [Unit Re-Use] Explore

More information

ECEN 5043 Computer and Machine Vision

ECEN 5043 Computer and Machine Vision ECEN 5043 Computer and Machine Vision Lecture 1 Introduction Part-1 January 14, 2014 Sam Siewert The Course An introductory course on computer vision and machine vision. Topics covered include difference

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Using Git to Manage I&T Projects and for Code & Design File CMVC

Using Git to Manage I&T Projects and for Code & Design File CMVC Using Git to Manage I&T Projects and for Code & Design File CMVC http://www.stsc.hill.af.mil/resources/tech_docs/gsam4.html GitHub Use October 28, 2014 Sam Siewert Integration and Test Integrate Software

More information

CS415 Human Computer Interaction

CS415 Human Computer Interaction CS415 Human Computer Interaction Lecture 7 Implementation and Testing Tools for HCIs October 4, 2015 Sam Siewert Coming Up Quiz on Wednesday for Part II Chapters 5,6,7,8,9 Review Next Week on Monday, 10/12

More information

Using Git to Manage I&T Projects and for Code & Design File CMVC

Using Git to Manage I&T Projects and for Code & Design File CMVC Using Git to Manage I&T Projects and for Code & Design File CMVC http://www.stsc.hill.af.mil/resources/tech_docs/gsam4.html GitHub Use October 28, 2014 Sam Siewert Integration and Test Integrate Software

More information

Object-Oriented Programming CSCI-UA

Object-Oriented Programming CSCI-UA Object-Oriented Programming CSCI-UA 0470-001 Instructor: Thomas Wies Spring 2017 Class 1 - Introduction Object-oriented programming is an exceptionally bad idea which could only have originated in California.

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 5 Transitioning from Use Cases and Class Diagrams to Architecture Level of Design February 12, 2018 Sam Siewert Reminders Assignment #2 Grading in

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 11 Presentation of Analysis and Design [Level-0,1,2,3] March 21, 2018 Sam Siewert Reminders Assignment #5 Assignment #5 & #6 Posted Questions? Exercise

More information

CS415 Human Computer Interaction

CS415 Human Computer Interaction CS415 Human Computer Interaction Lecture 6, Part 2 Implementation and Testing Tools for HCIs October 1, 2018 Sam Siewert Minute Paper Summary - The Gurus Don Norman 1. make it fun (attributed to Fadell?)

More information

CMPE/SE 135 Object-Oriented Analysis and Design

CMPE/SE 135 Object-Oriented Analysis and Design Course and Contact Information San José State University Department of Computer Engineering CMPE/SE 135 Object-Oriented Analysis and Design Instructor: Ron Mak Office Location: ENG 250 Email: ron.mak@sjsu.edu

More information

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018 San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018 Course and Contact Information Instructor: Suneuy Kim Office

More information

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018 San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018 Course and Contact Information Instructor: Vidya Rangasayee Office Location: MH 213 Telephone:

More information

(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes.

(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes. Location MWF 1205-1255 Klaus 1443 Class Objective Purpose: CS2340 takes students who know an object-oriented language, and focuses on getting them to use that language in a true object-oriented style.

More information

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 Course and Contact Information Instructor: Dr. Kim Office Location:

More information

Compulsory course in Computer Science

Compulsory course in Computer Science Compulsory course in Computer Science University of Macau Faculty of Science and Technology Department of Computer and Information Science SFTW241 Programming Languages Architecture I Syllabus 2 nd Semester

More information

ACRONYMS AND GLOSSARY

ACRONYMS AND GLOSSARY Appendix A ACRONYMS AND GLOSSARY SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC. 1 Acronyms Acronym 1NF 1ONF 2NF 2ONF 2ONF 3NF 3ONF API CASE CORBA CRUD DFD FLOOT IDL Java VM ODMG OMG OODBMS OOUI OQL ODBC OOCRUD

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems http://dev.mysql.com/downloads/workbench Using MySQL Workbench [PRClab] August 25, 2015 Sam Siewert Resources for MySQL-Workbench Examine Use of MySQL Workbench to Go Between

More information

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa SOFTWARE MODELING AND DESIGN UML, Use Cases, Patterns, and Software Architectures Hassan Gomaa George Mason University, Fairfax, Virginia Ki Cambridge UNIVERSITY PRESS Contents Preface P"U

More information

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345 CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke samusher@aol.com 818.470.8419 - cell SECTION : 13327 and 13345 Course Description Covers C++ language and object-oriented programming paradigm.

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems Lecture 2 DBMS DDL & DML Part-1 September 3, 2017 Sam Siewert MySQL on Linux (LAMP) Skills http://dilbert.com/strips/comic/2010-08-02/ DBMS DDL & DML Part-1 (Definition

More information

Computer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen

Computer Technology Division. Course Syllabus for: COMT Spring Instructor: Joe Bolen Computer Technology Division Course Syllabus for: COMT 11009 Spring 2013 Instructor: Joe Bolen Course: Computer Assembly & Configuration COMT 11009 Spring 2013 / Tuscarawas / Call # 12133 / Section 800

More information

Object-Oriented Development and UML. Announcement. Agenda 7/3/2008. Class will resume on July 22. Try to complete the lab assignments by July.

Object-Oriented Development and UML. Announcement. Agenda 7/3/2008. Class will resume on July 22. Try to complete the lab assignments by July. Object-Oriented Development and UML 2 4 pm Thursday 7/3/2008 @JD2211 1 Announcement Class will resume on July 22. Try to complete the lab assignments by July 21. 2 Agenda Review Object-Oriented Analysis

More information

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015 San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015 Course and Contact Information Instructor: Ron Gutman Office Location:

More information

Computer Science Technology Department

Computer Science Technology Department Computer Science Technology Department Houston Community College Department Phone Number: ab Houston Community College ITSC 1309 Integrated Software Applications I Course Syllabus Instructor Course Reference

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 9 Review of Event-Driven Architectures March 6, 2018 Sam Siewert Reminders No class on Thursday - use time for Scrum meeting and to work on designs

More information

INFSCI 1017 Implementation of Information Systems Spring 2017

INFSCI 1017 Implementation of Information Systems Spring 2017 INFSCI 1017 Implementation of Information Systems Spring 2017 Time: Thursdays 6:00 8:30 Location: Information Science Building, Room 406 Instructor: Alexander Nolte Office Hours: Monday, 1-2PM Thursdays,

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems http://dilbert.com/strips/comic/2010-01-18/ Lecture 14 Network Client Access to DBMS November 15, 2017 Sam Siewert Reminders PLEASE FILL OUT COURSE EVALUATIONS ON CANVAS

More information

CSCU9T4: Managing Information

CSCU9T4: Managing Information CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)

More information

Contextual Android Education

Contextual Android Education Contextual Android Education James Reed David S. Janzen Abstract Advances in mobile phone hardware and development platforms have drastically increased the demand, interest, and potential of mobile applications.

More information

CMPE 150/L : Introduction to Computer Networks

CMPE 150/L : Introduction to Computer Networks CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 1 Slides source: Kurose and Ross, Simon Lam, Katia Obraczka Introduction 1-1 Notetaker Position

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

San Jose State University - Department of Computer Science

San Jose State University - Department of Computer Science San Jose State University - Department of Computer Science CS 151, Section 4 - Object-Oriented Design Instructor:Cay S. Horstmann Email: cay.horstmann@sjsu.edu Telephone: +1-408-924-5060 Office Hours:

More information

Spring 2018 El Camino College E. Ambrosio. Course Syllabus

Spring 2018 El Camino College E. Ambrosio. Course Syllabus Course Syllabus Division: Mathematical Sciences Course Title: Computer Programming in Java Course #/Sections: CS 3/0127, 0128 Credit Hours: 4 Course Time/Room: Lecture: TTh 6:25 7:50 P.M./MBA 213 Lab:

More information

Database Systems: Concepts, design, and implementation ISE 382 (3 Units)

Database Systems: Concepts, design, and implementation ISE 382 (3 Units) Database Systems: Concepts, design, and implementation ISE 382 (3 Units) Spring 2013 Description Obectives Instructor Contact Information Office Hours Concepts in modeling data for industry applications.

More information

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45 MTAT.03.094 Software Engineering Written Exam 10 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail

More information

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015 ****************************************************************************** YEAR COURSE OFFERED: 2015 SEMESTER COURSE OFFERED: SPRING DEPARTMENT: COMPUTER SCIENCE COURSE NUMBER: 20019 Room and Time:

More information

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968) San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968) Course and Contact Information Instructor: Office Location: Vidya Rangasayee MH229

More information

CS2630: Computer Organization Project 2, part 1 Register file and ALU for MIPS processor Due July 25, 2017, 11:59pm

CS2630: Computer Organization Project 2, part 1 Register file and ALU for MIPS processor Due July 25, 2017, 11:59pm CS2630: Computer Organization Project 2, part 1 Register file and ALU for MIPS processor Due July 25, 2017, 11:59pm Goals for this assignment Apply knowledge of combinational logic and sequential logic

More information

Introduction to Programming System Design CSCI 455x (4 Units)

Introduction to Programming System Design CSCI 455x (4 Units) Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,

More information

RT Digital Media Extended Lab Choose One: Work Alone Work in a Pair Extra Work Required 3 or More Students May Collaborate, but Submissions must be Un

RT Digital Media Extended Lab Choose One: Work Alone Work in a Pair Extra Work Required 3 or More Students May Collaborate, but Submissions must be Un ECEN 5033 RT Digital Media Systems Lecture 10 Extended Lab Background March 31, 2008 Sam Siewert RT Digital Media Extended Lab Choose One: Work Alone Work in a Pair Extra Work Required 3 or More Students

More information

Lecture 34 SDLC Phases and UML Diagrams

Lecture 34 SDLC Phases and UML Diagrams That Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur Lecture 34 SDLC Phases and UML Diagrams Welcome

More information

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships. Q 1) Attempt all the following questions: (a) Define the term cohesion in the context of object oriented design of systems? (b) Do you need to develop all the views of the system? Justify your answer?

More information

ECOM 2314 COMPUTER PROGRAMMING II

ECOM 2314 COMPUTER PROGRAMMING II ECOM 2314 COMPUTER PROGRAMMING II Object Oriented Programming with JAVA Instructor: Ruba A. Salamh Islamic University of Gaza Course Description The course is a continuation of ECOM 2314 (computer programming

More information

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims

CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims Lecture 1: Overview http://courses.cs.cornell.edu/cs2110 1 Course Staff Instructor Thorsten Joachims (tj@cs.cornell.edu)

More information

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021 Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,

More information

AE Computer Programming for Aerospace Engineers

AE Computer Programming for Aerospace Engineers AE 030 - Computer Programming for Aerospace Engineers Instructor Information: Credit: Professor Long Lu Long.Lu@sjsu.edu 2 units Class Times & Locations: Section 01 (Lecture): M 16:30-17:20 in CL 226 Section

More information

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications

SWE 621: Software Modeling and Architectural Design. Lecture Notes on Software Design. Lecture 8 Architectural Design of Distributed Applications SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 8 Architectural Design of Distributed Applications Hassan Gomaa Dept of Computer Science George Mason University

More information

Chapter 10 Object-Oriented Design Principles

Chapter 10 Object-Oriented Design Principles Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis

More information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

CIS 3730 FALL 2008 Database Management System Project

CIS 3730 FALL 2008 Database Management System Project CIS 3730 FALL 2008 Database Management System Project Project Grade (40 points) The project will be graded at the end of the course with the following breakdown: Initial Project Proposal - 4 points Weekly

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

Software Design and Analysis CSCI 2040

Software Design and Analysis CSCI 2040 Software Design and Analysis CSCI 2040 http://data.science.uoit.ca -> Home -> Teaching -> Software Design and Analysis Software Design and Analysis CSCI 4030 2 Describe the goals. Define object-oriented

More information

B.C.A 2017 OBJECT ORIENTED PROGRAMMING USING C++ BCA303T MODULE SPECIFICATION SHEET

B.C.A 2017 OBJECT ORIENTED PROGRAMMING USING C++ BCA303T MODULE SPECIFICATION SHEET B.C.A 2017 OBJECT ORIENTED PROGRAMMING USING C++ BCA303T MODULE SPECIFICATION SHEET Course Outline The main objective of this course is to introduce students to the basic concepts of a selected language

More information

Langara College Spring archived

Langara College Spring archived 1 of 7 10/23/07 2:09 PM COMPUTING SCIENCE AND INFORMATION SYSTEMS DEPARTMENT COMPUTING SCIENCE AND INFORMATION SYSTEMS 1300 Systems Analysis & Design (3.0 credits) COURSE OUTLINE Spring 2008 Section 088

More information

INF 315E Introduction to Databases School of Information Fall 2015

INF 315E Introduction to Databases School of Information Fall 2015 INF 315E Introduction to Databases School of Information Fall 2015 Class Hours: Tuesday & Thursday10:30 am-12:00 pm Instructor: Eunyoung Moon Email: eymoon@utexas.edu Course Description Almost every website

More information

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques 1 CPSC2620 Advanced Programming Spring 2003 Instructor: Dr. Shahadat Hossain 2 Today s Agenda Administrative Matters Course Information Introduction to Programming Techniques 3 Course Assessment Lectures:

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review (Part 1) 1 Coad-Yourdon Two-phase introduction: Object-Oriented Analysis

More information

CS 326: Operating Systems. Lecture 1

CS 326: Operating Systems. Lecture 1 CS 326: Operating Systems Lecture 1 Welcome to CS 326! Glad to have you all in class! Lecture Information: Time: T, Th 9:55 11:40am Lab: M 4:45 6:20pm Room: LS G12 Course website: http://www.cs.usfca.edu/~mmalensek/cs326

More information

Langara College Spring archived

Langara College Spring archived 1 of 7 11/23/2006 1:29 PM COMPUTING SCIENCE AND INFORMATION SYSTEMS DEPARTMENT COMPUTING SCIENCE AND INFORMATION SYSTEMS 1300 Systems Analysis & Design (3.0 credits) COURSE OUTLINE Spring 2007 Section

More information

On to OO design ideas. Really just an introduction (much more in CS 48) About programming in the large

On to OO design ideas. Really just an introduction (much more in CS 48) About programming in the large On to OO design ideas Really just an introduction (much more in CS 48) About programming in the large Small vs. large programs l Programming in the small: Usually just one programmer He/she understands

More information

Tonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering?

Tonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering? Tonight s Agenda CSC340: Engineering Jennifer Campbell Lecturer Part 1 Introduction to course content Course information Changes to the SE courses/program Part 2 What are requirements? CSC340 University

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45 MTAT.03.094 Software Engineering Written Exam 17 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail

More information

Preface A Brief History Pilot Test Results

Preface A Brief History Pilot Test Results Preface A Brief History In Fall, 2005, Wanda Dann and Steve Cooper, originators of the Alice approach for introductory programming (in collaboration with Randy Pausch), met with Barb Ericson and Mark Guzdial,

More information

Computer Science Technology Houston Community College

Computer Science Technology Houston Community College Computer Science Technology Houston Community College UNIX Operating Systems I Course Syllabus Instructor Course Reference Number (CRN) WECM Course Description: Course Prerequisite(s) Course Semester Credit

More information

Starting Out With Java: From Control Structures Through Data Structures (2nd Edition) (Gaddis Series) PDF

Starting Out With Java: From Control Structures Through Data Structures (2nd Edition) (Gaddis Series) PDF Starting Out With Java: From Control Structures Through Data Structures (2nd Edition) (Gaddis Series) PDF Starting Out with Java: From Control Structures through Data Structures is designed to be used

More information

*ANSWERS * **********************************

*ANSWERS * ********************************** CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO

More information

Descriptions for CIS Classes (Fall 2017)

Descriptions for CIS Classes (Fall 2017) Descriptions for CIS Classes (Fall 2017) Major Core Courses 1. CIS 1015. INTRODUCTION TO COMPUTER INFORMATION SYSTEMS. (3-3-0). This course provides students an introductory overview to basic computer

More information

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow Box Leangsuksun SWECO Endowed Professor, Computer Science Louisiana Tech University box@latech.edu CTO, PB Tech International

More information

Geography 4150/5150. Teaching Assistant: Chenjun Ling Office: McEniry 427 Office Hours: Tuesday 2:30-4:40pm

Geography 4150/5150. Teaching Assistant: Chenjun Ling   Office: McEniry 427 Office Hours: Tuesday 2:30-4:40pm Geography 4150/5150 Spatial Database Design with GIS and GPS (4 CREDITS) Lecture: T,TH 11:00-12:15 -- McEniry 420 Lab: Thursday 2:00 4:45pm -- McEniry 431 Instructor: Dr. Elizabeth C. Delmelle Email: edelmell@uncc.edu

More information

CS2630: Computer Organization Project 2, part 1 Register file and ALU for MIPS processor

CS2630: Computer Organization Project 2, part 1 Register file and ALU for MIPS processor CS2630: Computer Organization Project 2, part 1 Register file and ALU for MIPS processor Goals for this assignment Apply knowledge of combinational logic and sequential logic to build two major components

More information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

CSC 111 Introduction to Computer Science (Section C)

CSC 111 Introduction to Computer Science (Section C) CSC 111 Introduction to Computer Science (Section C) Course Description: (4h) Lecture and laboratory. Rigorous introduction to the process of algorithmic problem solving and programming in a modern programming

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview. Programming 2 (112) Lecture 0 College of Computer Science and Engineering Taibah University S2, 1439 Outline Important Information Lecture Protocol Subject Overview General Overview Course Objectives Studying

More information

Introduction - SENG 330. Object-Oriented Analysis and Design

Introduction - SENG 330. Object-Oriented Analysis and Design Introduction - SENG 330 Object-Oriented Analysis and Design SENG 330 Fall 2006 Instructor: Alex Thomo Email: thomo@cs.uvic.ca Office hours: Office Hours: TWF 12:30-1:30 p.m. Location: ECS 556 Objective:

More information

ECE Object-Oriented Programming using C++ and Java

ECE Object-Oriented Programming using C++ and Java 1 ECE 30862 - Object-Oriented Programming using C++ and Java Instructor Information Name: Sam Midkiff Website: https://engineering.purdue.edu/~smidkiff Office: EE 310 Office hours: Tuesday, 2:30 to 4:00

More information

CSCD 330 Network Programming Spring Lecture 1 - Course Details

CSCD 330 Network Programming Spring Lecture 1 - Course Details CSCD 330 Network Programming Spring 2018 Lecture 1 - Course Details Contact Information Instructor: Carol Taylor 319A CEB Phone: 509-359-6065 E-mail: ctaylor@ewu.edu Course: CSCD330, CEB 107 Lecture, M,

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT PRINCIPLES OF USER INTERFACE DESIGN

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT PRINCIPLES OF USER INTERFACE DESIGN BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT PRINCIPLES OF USER INTERFACE DESIGN Monday 19 th March 2018 - Afternoon Answer any FOUR questions out of

More information

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web COMP 117: Internet Scale Distributed Systems (Spring 2018) COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah

More information

Detailed Design. Java Problem Repository & Education Platform JPREP

Detailed Design. Java Problem Repository & Education Platform JPREP Team Members: Luke Greiner Denis Kalic Abigail McCarthy Robert Tateo Nguyen Truong Patrick White Detailed Design Java Problem Repository & Education Platform JPREP Revision: 1.1 Date: 3/07/14 1 D e l t

More information

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) Course Title: Software Engineering Course No. : ICT Ed 528 Nature of course: Theoretical + Practical Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48) 1. Course Description The

More information

Unit 6 - Software Design and Development LESSON 1 INTRODUCTION

Unit 6 - Software Design and Development LESSON 1 INTRODUCTION Unit 6 - Software Design and Development LESSON 1 INTRODUCTION What is covered in this session Introduction to unit and reference sources Schedule for assignments Introduction From this unit the learner

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

MSIS-DL 317 Syllabus. Faisal Akkawi, Ph.D. Introduction to Databases Fall 09

MSIS-DL 317 Syllabus. Faisal Akkawi, Ph.D. Introduction to Databases Fall 09 Contact Information: Email: f-akkawi@northwestern.edu Office Phone: 312-503-2418 Cell Phone: 708-772-6323 Office Hours: Available by appointment MSIS-DL 317 Syllabus Faisal Akkawi, Ph.D. Introduction to

More information

Object-Oriented Analysis and Design Using UML (OO-226)

Object-Oriented Analysis and Design Using UML (OO-226) Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,

More information