CS551 - Lecture 1 1 CS551 Advanced Software Engineering Yugi Lee STB #555 (816) 235-5932

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Advertisements

OBJECT ORIENTED PROGRAMMING M Taimoor Khan
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
IS6112 Application Modelling and Design Introduction.
Middleware Fatemeh Hendijanifard 1 آزمايشگاه سيستم هاي هوشمند (
Distributed Systems Architectures
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
General information CSE 230 : Introduction to Software Engineering
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
1 CS 491z / CS 791z Topics on Software Engineering Spring 2004 Course Syllabus January 21, 2004.
1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
CS 447 Distributed Objects Instructor: Shangping Ren.
Course Syllabus January 24, 2012 CS 426/CPE 426 Senior Projects in Computer Science/Computer Engineering University of Nevada, Reno Department of Computer.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Course Instructor: Aisha Azeem
Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.
Computer Systems Performance Evaluation CSCI 8710 Kraemer Fall 2008.
Issues in Teaching Software Engineering Virendra C. Bhavsar Professor and Director, Advanced Computational Research Laboratory Faculty of Computer Science.
Computer Network Fundamentals CNT4007C
CS590L - Lecture 1 1 CS590L Distributed Component Architectures Yugi Lee STB #555 (816)
Component Software: A New Software Engineering Course H. Conrad Cunningham, Yi Liu, Pallavi Tadepalli, and Mingxian Fu Software Architecture Research Group.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
EPL441 1 EPL441 Software Engineering for Parallel and Distributed Systems George A. Papadopoulos Department of Computer Science
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
1 소프트웨어공학 강좌 Chap 9. Distributed Systems Architectures - Architectural design for software that executes on more than one processor -
EECE 310 Software Engineering Lecture 0: Course Orientation.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 13: Physical Architecture Layer Design Alan Dennis,
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Course Introduction Software Engineering
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.
Information System Development Courses Figure: ISD Course Structure.
SKU3033 / SKF3033 NETWORK & SYSTEM ADMINISTRATOR.
CS451 - Lecture 11 CS451 Introduction to Software Engineering Yugi Lee FH #560D (816)
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
CS551 - Lecture 2 1 CS551 Advanced Software Engineering Yugi Lee STB #555 (816)
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
1 CS 426 / CPE 426 Senior Projects Spring 2011 Course Syllabus January 19, 2011.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
CS551 - Lecture 2 1 CS551 Advanced Software Engineering Yugi Lee STB #555 (816)
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Lecture 21: Component-Based Software Engineering
Computer Networks CNT5106C
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
1 CS590L Distributed Component Architecture Yugi Lee STB #555 (816) * This presentation is prepared based.
Introduction to OOAD and UML
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Computer Network Fundamentals CNT4007C
Building Distributed Educational Applications using P2P
TAL 7011 Architecture of Large Software Systems
Distribution and components
Systems Analysis and Design With UML 2
Inventory of Distributed Computing Concepts and Web services
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
EECE 310 Software Engineering
Inventory of Distributed Computing Concepts
Quality Assurance for Component-Based Software Development
Presentation transcript:

CS551 - Lecture 1 1 CS551 Advanced Software Engineering Yugi Lee STB #555 (816)

2 CS551 - Lecture 1 General stuff Class: M/W 12:30-1:45, FH460 Office hours: –Yugi Lee: M/W 1:45-2:45 or by appointment TA: Venkatavaradhan (Santhosh) Panchapagesam –

3 CS551 - Lecture 1 Course information Lecture notes will be available in advance Mailing List –information will be distributed via the mailing list (e.g. announcements, corrections etc.) Prerequisites  CS451 (Software Engineering)  Object-Oriented programming language (Java, C++)

4 CS551 - Lecture 1 Textbooks Required:  Engineering Distributed Objects, Wolfgang Emmerich, John Wiley & Sons, LTD, 2000 Additional readings  Objects, Components, and Frameworks with UML; the catalysis approach, Desmond f. D'souza and Alan Cameron Wills, Addison- Wesley,1999  Component Software: beyond Object-oriented programming, Clemens Szyperski, Addison-Wesley, 1999  Technical Papers

5 CS551 - Lecture 1 Assessment Group Project 50%  Projects %  Presentation/Final package 8% Individual Work 50% –Midterm Exam: 10% – Final Exam: 20% –Quizzes: 20% Both components must be passed in order to pass the course.

6 CS551 - Lecture 1 Group Projects Teams of Maximum 2 members Each team will develop a component of some system. The overall assignment will be split into several steps that will be marked individually.  Project 1 (12%): Technical skill building  Project 2 (7%): Project proposal  Project 3 (8%): System design  Project4 (15%): System implementation & documentation  Presentation and final package (8%)

7 CS551 - Lecture 1 Group Projects Building system followed by component-based design and programming Each project group will construct a component of the system. Incremental outcomes going through Object-Oriented software lifecycle, such as requirement analysis and design, implementing, testing, and integration. Object-Oriented Specification/Design (UML/ROSE), Design patterns, styles, Object Framework building using Java, XML and CORBA/COM/EJB.

8 CS551 - Lecture 1 Exams Weekly Quizzes (20%) Tentative Exam Schedule: –October 8 Midterm exam (10%) –December Final exam (20%) Some selected students can pursue a research track. Research papers can be replaced with class examination.

9 CS551 - Lecture 1 Several reasons you should take this course...  You can have a comprehensive picture of software development process  You can have hands-on experiences on component oriented development. You will obtain the skill on UML, XML, CORBA/COM/EJB, and tools (Rose etc)., You will have object-oriented programming (Java). You will get a reasonable grade when you completed all the class requirements.

10 CS551 - Lecture 1 However…  This course requires heavy load of work. Class survey (1999) –Compute the average time spent for cs451 related activities (hrs/week): average 3hrs/day Individual work 12 hrs. Project Related work 12 hrs. – designing/coding/learning skills – meeting & communication – updating web-materials

11 CS551 - Lecture 1 However…  What would you suggest to next year's students? –Don't take many more 400 level or above classes while taking this one. –Pick out a class to drop, join the witness protection program so that your friends and family cannot find you, and constantly remind yourself it will be over in sixteen weeks. –Don't take this class with more than 6 other credits, too much work, unable to do well. –STUDY!!! –Keep up with the text to avoid pileup of readings.

12 CS551 - Lecture 1 Today’s Software Systems? A software environment (i.e., Internet) is evolving rapidly and software requirements and technologies are also evolving very rapidly. Some requirements and characteristics of the current system can be determined as comparability, heterogeneity, scalability, openness, security and distribution. Are you ready for this? It is necessary to understand the current trend of software systems and to identify the technologies and requirements for the system development.

13 CS551 - Lecture 1 Real World Example: Hong Kong Telecom Video-on-demand: provide subscribers with facilities to download videos from HK TK servers to low-cost Web-TVs. currently 90,000 users. Built using distributed object-technology. Video-on-demand: provide subscribers with facilities to download videos from HK TK servers to low-cost Web-TVs. currently 90,000 users. Built using distributed object-technology. …

14 CS551 - Lecture 1 Requirements Hardware: –Clients: Web-TV –Servers: RISC processor Operating System Heterogeneity : –Clients: Java OS –Servers: UNIX Programming Language Heterogeneity: –Clients: Java –Servers: C++ Communication across Network –How to transmit complex data structures across the Internet? Scale –Scaling from initially several hundred to currently 90,000 users Security –Secure Payment –Authentication

15 CS551 - Lecture 1 Trading Workstation Trading Workstation Authorisation Services Authorisation Services Host Services Customer Information Services Customer Information Services Product Database Services Product Database Services Marketing Services Marketing Services Another Example:IT Infrastructure of UBS

16 CS551 - Lecture 1 A Brief History of Objects Simula-67 Information Hiding Smalltalk C++ Eiffel Java CORBA COM OOAD UML Sun ONC DCE Programming LanguagesDistributed SystemsSoftware Engineering Time DCOM

17 CS551 - Lecture 1 Why Software Engineering?...to get away from ad hoc and unpredictable software development towards a systematic, understood one...

18 CS551 - Lecture 1 Component-Based Software Engineering? An emerging concept called "a component-based software" appears to be a solution for the development of software system. The component-based software engineering focuses on the entities (objects) developed and the components intended from their inception to be used within a framework in which they are placed in containers and combined with other components.

19 CS551 - Lecture 1 Goals of this Course To study the development of component-based software systems (with hands-on experience) To introduce the concept of software component, including its relationship to the object-oriented programming paradigm. To learn how to specify and design, using UML, the basic building blocks present in component frameworks, including events, properties, introspection and reflection, persistence, and packaging.

20 CS551 - Lecture 1 Goals of this Course To introduce/compare/evaluate different component frameworks, including XML, Enterprise Java Beans (EJB), COM and CORBA. To give students hands-on experience in programming components using Java, XML and component development environments (CORBA, COM, EJB). To achieve an understanding of how components work in a distributed computing environment.

21 CS551 - Lecture 1 Requirements for this Course  Critical Reading/Thinking:  Students are required to read and assimilate information from the readings beyond the material covered in class.  Throughout the semester, papers and chapters of the texts will be read and discussed. Discovery (Self-guided) Learning: The course and group project will require independent research and programming, and students are expected to be able to demonstrate ability of this kind.

22 CS551 - Lecture 1 Requirements for this Course  Analytical Writing/Presentation:  Students are asked to think critically and reason about information presented in the textbooks or papers.  This critical evaluation requires that students offer their own understanding of the significance of what students have learned. Students should be able to present their knowledge to the public.

23 CS551 - Lecture 1 Contents of Lecture Topic 1: Today's Software Systems  What's a current trend of Software Systems? Distributed System?  Examples of Distributed Systems  New Software Requirements  The Evolution of Object Technology

24 CS551 - Lecture 1 Contents of Lecture Topic 2: Component-based Development  What is Object? Component?  What is Object-oriented SE? Component- oriented SE?  Frameworks, Patterns, Software Architecture, and Components  Designing for reuse  Connections, events, and late binding

25 CS551 - Lecture 1 Contents of Lecture Topic 3: Principles of Object-Oriented Middleware  Computer Networks  Types of Middleware  Object-Oriented Middleware  Developing with Object-Oriented Middleware Topic 4: Alternative Component Architectures  The Microsoft Approach: COM, and DCOM  The OMG Approach: CORBA and OMA  The Sun Approach: JAVA RMI, and EJB

26 CS551 - Lecture 1 Contents of Lecture Topic 5: Object Oriented Modeling  Modeling with Objects  Static Models: Object Attributes and Invariant  Behavior Models: Object Types and Operations  Interaction Models: Use Cases, Actions, Collaboration  UML for Distributed Objects  A Meta-Model for Distributed Objects  Local versus Distributed Objects

27 CS551 - Lecture 1 Contents of Lecture Topic 6: Factoring Models and Designs  Abstraction, Refinement  Package  Composing models and specifications  Model Framework and Template Package Topic 7: Component-based Programming  The Microsoft Approach: ActiveX, COM, and DCOM  The OMG Approach: CORBA, OMA  The Sun Approach: JAVA RMI, and Enterprise Java Beans

28 CS551 - Lecture 1 Contents of Lecture Topic 8: Advanced Topics in Middleware  Heterogeneity  Dynamic Object Requests  Advanced Communication between Distributed Objects  Locating Distributed Objects and Persistence  Distributed Object Transactions and Security