Analysis and Design of Software Systems Practical Session 01. System Layering

Size: px
Start display at page:

Download "Analysis and Design of Software Systems Practical Session 01. System Layering"

Transcription

1 Analysis and Design of Software Systems Practical Session 01 System Layering

2 Outline Course Overview Course Objectives Computer Science vs. Software Engineering Layered Architectures Selected topics in Java Swing Parsing XML file 2

3 Course Objectives E1 3 E2 1. Planning a new Information System in Engineering methods. One assignment (5%) 2. Functional Approach for A&D Two assignments, 5% each 3. Object-Oriented Approach for A&D Two assignments, 5% each A total of 5 assignments consisting 25% of the course s grade. Test consisting 75% of your grade, OPEN MATERIAL! Please study accordingly. 3

4 Administration E1 3 E2 My is guyrap@cs.bgu.ac.il. Use it! Office Hours: Wednesday, 16:00-18:00, 37/304. Assignments are submitted electronically to FTP, in pairs! Please report problems with submission dates as early as possible (that includes students with reservoir duties). Reservoir soldiers I need your release slips, not the invitations. 4

5 Computer Science stops here. Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes. Science is not about tools, it is about how we use them and what we find out when we do." This quote is actually from Fellows, M.R., and Parberry, I., "SIGACT trying to get children excited about CS", January 1993, Computing Research News. Focus is often about algorithms independent of a particular programming language (or implementation at all ). 5

6 Software Engineering starts here. Software Engineering (SE) is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software It is also defined as a systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineering of software, that is, the application of engineering to software. The term software engineering first appeared in 1968, and was meant to provoke thought regarding the perceived "software crisis" at the time. Recommended Viewing: Glenn Vanderburg s Real Software Engineering confreaks.net/videos/282-lsrc2010-real-software-engineering 6

7 Example CS Problem: Narrow-Shallow-Low-Light Trees with and without Steiner Points Michal Elkin, Shay Solomon SODA'11 Best Student Paper Award, 2011! 7

8 Example SE Problem: Your senior programmer Alice has called-in sick today. How do you keep the project s progress? And without introducing new errors into the system? Software Engineering occurs when people meet programming.. 8

9 That does not mean people do both Of course there are computer scientists who consider the engineering side and software engineers who consider the algorithmic side. But in our course we shall focus mainly on engineering. Let s move on to our first example of applying an engineering concept unto software development. 9

10 System Architecture Architecture High level design of large software systems. Captures the gross structure of a system. Defines software system in terms of components and interactions among those components. Why not write all of our code in a single file? Programmer-friendliness Code readability Flexibility edit or replace parts of the code currently in use. What can we do to further pursue the above objectives? 10

11 Introducing: Layered Systems A layered system is organized hierarchically; each layer provides services to the layer above it and consumes services from the layer below it. Why layers??? Modularity: Separations of concerns Increased maintainability In a pure layered system: Layers are hidden to all except adjacent layers. 11

12 Layered Systems (Cont.) In a pure layered system: Layers are hidden to all except adjacent layers. Pure layered system Not pure layered system 12

13 NOT Layered Systems There is more to layers than the ability to draw separate parts on top of each other. Layers are not a function of just who-uses-what, but are the result of a conscious design decision that allocates software to layers based on considerations such as coupling, cohesion, and likelihood of changes. 13

14 The Three Layers Architecture On the left: an example implementation of a system devoted to sales. Presentation can be GUI, CLI, forms in a browser Some people distinguish the middle layer into Application Layer (Controller layer queries, UI hooks, etc.) and Domain Layer (Business Logic data classes, algorithms). Data layer can be XML, SQL, Mnesia, etc 14

15 Presentation (GUI) Layer Contains the software components responsible for presenting the user with an application interface, which reasonably facilitates interaction of the user with the software product. Which tools are you familiar with? 15

16 Introducing: NetBeans IDE NetBeans is a Java Integrated Development Environment which supports building GUI environments in a very programmer-friendly manner, utilizing SWING. NetBeans employs the GUI that builds a GUI work environment. Unlike in OOP, in this course we expect you to create a Functional GUI but do not emphasize writing it by hand. If this is the first time you re writing Java GUI, this might help you a lot. Final project will demand GUI. 16

17 Domain Logic Layer (Application or Business Logic Layer) Provides the services that implement the functionality offered by the application. This layer is the heart of the system (application). During this course we will further elaborate on this layer. The development process in this course is focused on this layer. 17

18 Persistence layer Provides the services required to ensure the persistence of the data involved in the execution of the application. We will use Extensible Markup Language (XML). Why? 18

19 Why XML? Plain text document indicating an order for 12 Birdsong Clocks, SKU 244: 19

20 Why XML? (cont.) An XML document indicating an order for 12 Birdsong Clocks, SKU 244: Which is better?? 20

21 Why XML? (cont.) XML is more understandable to humans. Given proper names for nodes and attributes, the data s schema is more understandable. XML is more understandable to machines. That is, almost every programming language now ships with an XML parser as part of it s standard library! XML is more generic An XML parser can parse data for many applications. We can easily add nodes and sub-nodes to an XML document, and add more attributes to these nodes the same way we add attributes to our data classes. 21

22 Library Application The XML file contain information about Library, Books and Magazines. The application read data from XML, and write data to XML again. 22

23 Library Application: Architecture Presentation Layer MainFrame class Domain Logic Layer Persistence Layer XMLUtilityManagment class XML actiononlibary class Paper class Book class Magazine class Library class DataManipulate class 23

24 Improvement: Data Mapper The Data Mapper is a layer of software that acts as a mediator between the Domain logic and the Persistence (Data source). Using Data Mapper, the in-memory objects need have no knowledge that there's even a database present. The domain logic (middle layer) will include no SQL interface code, and certainly no knowledge of the database schema. The database schema is always ignorant of the objects that use it. 24

25 One Last Note: Modeling Tools During the course you will be requested to hand your assignments with diagrams included. Class Diagrams Sequence Diagrams State Machine Diagrams There are many available tools to create these artifacts. We recommend you use Visual Paradigm (license can be downloaded from the website). Direct link (updated ): 25

26 Summary Layers partitioning is a common practice to separate concerns and increase maintainability. The system normally could be separated to Presentation, Domain logic, and Persistence. The Data Mapper is a layer of software that acts as a mediator between the in-memory objects and the database. Questions? 26

INFORMATION TECHNOLOGY

INFORMATION TECHNOLOGY INFORMATION TECHNOLOGY Scope These program criteria apply to Information Technology, Computer Engineering Technology, and specialities therein, such as computer programming, computer systems analysis,

More information

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP) Principles of integrated software development environments Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Learning Objectives Be able to define the

More information

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming

More information

Instructional Design Framework CSE: Unit 1 Lesson 1

Instructional Design Framework CSE: Unit 1 Lesson 1 Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results

More information

Modern Databases. Database Systems Lecture 18 Natasha Alechina

Modern Databases. Database Systems Lecture 18 Natasha Alechina Modern Databases Database Systems Lecture 18 Natasha Alechina In This Lecture Distributed DBs Web-based DBs Object Oriented DBs Semistructured Data and XML Multimedia DBs For more information Connolly

More information

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages ICOM 4036 Programming Languages Preliminaries Dr. Amirhossein Chinaei Dept. of Electrical & Computer Engineering UPRM Spring 2010 Language Evaluation Criteria Readability: the ease with which programs

More information

Skills for Employment Investment Project (SEIP)

Skills for Employment Investment Project (SEIP) Skills for Employment Investment Project (SEIP) Standards/ Curriculum Format for Web Application Development Using DOT Net Course Duration: Three Months 1 Course Structure and Requirements Course Title:

More information

Using Library Dependencies for Clustering

Using Library Dependencies for Clustering Using Library Dependencies for Clustering Jochen Quante Software Engineering Group, FB03 Informatik, Universität Bremen quante@informatik.uni-bremen.de Abstract: Software clustering is an established approach

More information

Client/server is a network architecture that divides functions into client and server

Client/server is a network architecture that divides functions into client and server Page 1 A. Title Client/Server Technology B. Introduction Client/server is a network architecture that divides functions into client and server subsystems, with standard communication methods to facilitate

More information

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically related data for

More information

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands edwin.hautus@nl.compuware.com Abstract Packages are an important mechanism to decompose

More information

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html

More information

Performance Comparison of Persistence Frameworks

Performance Comparison of Persistence Frameworks Performance Comparison of Persistence Frameworks Sabu M. Thampi * Asst. Prof., Department of CSE L.B.S College of Engineering Kasaragod-671542 Kerala, India smtlbs@yahoo.co.in Ashwin A.K S8, Department

More information

An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases

An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,

More information

Application Centric Infrastructure Object-Oriented Data Model: Gain Advanced Network Control and Programmability

Application Centric Infrastructure Object-Oriented Data Model: Gain Advanced Network Control and Programmability White Paper Application Centric Infrastructure Object-Oriented Data Model: Gain Advanced Network Control and Programmability What You Will Learn This document discusses application centric infrastructure

More information

A Database Re-engineering Workbench

A Database Re-engineering Workbench A Database Re-engineering Workbench A project proposal by Anmol Sharma Abstract Data is not always available in the best form for processing, it is often provided in poor format or in a poor quality data

More information

What is Data Virtualization? Rick F. van der Lans, R20/Consultancy

What is Data Virtualization? Rick F. van der Lans, R20/Consultancy What is Data Virtualization? by Rick F. van der Lans, R20/Consultancy August 2011 Introduction Data virtualization is receiving more and more attention in the IT industry, especially from those interested

More information

Program Understanding in Software Engineering

Program Understanding in Software Engineering Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert

More information

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets

More information

Course Description. Prerequisites. CS-119/119L, Section 0137/0138 Course Syllabus Program Design & Development - Fall 2015

Course Description. Prerequisites. CS-119/119L, Section 0137/0138 Course Syllabus Program Design & Development - Fall 2015 CS-119/119L, Section 0137/0138 Course Syllabus Program Design & Development - Fall 2015 Course Description CS-119 Section 0137 Hybrid course (Classroom/web) 3 Units CS-119L Lab section 0138 1 Unit (You

More information

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the following requirements (SLAs). Scalability and High Availability Modularity and Maintainability Extensibility

More information

A Modular Approach to Teaching Mobile APPS Development

A Modular Approach to Teaching Mobile APPS Development 2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development

More information

Technical Report. Implementation and Performance Testing of Business Rules Evaluation Systems in a Computing Grid. Brian Fletcher x08872155

Technical Report. Implementation and Performance Testing of Business Rules Evaluation Systems in a Computing Grid. Brian Fletcher x08872155 Technical Report Implementation and Performance Testing of Business Rules Evaluation Systems in a Computing Grid Brian Fletcher x08872155 Executive Summary 4 Introduction 5 Background 5 Aims 5 Technology

More information

Developing Web Browser Recording Tools. Using Server-Side Programming Technology

Developing Web Browser Recording Tools. Using Server-Side Programming Technology Developing Web Browser Recording Tools Using Server-Side Programming Technology Chris J. Lu Ph.D. National Library of Medicine NLM, NIH, Bldg. 38A, Rm. 7N-716, 8600 Rockville Pike Bethesda, MD 20894, USA

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

XML- New meta language in e-business

XML- New meta language in e-business 1 XML- New meta language in e-business XML (extensible Markup Language) has established itself as a new meta language in e-business. No matter what, text, pictures, video- or audio files - with the flexibility

More information

Chapter 7: Software Engineering

Chapter 7: Software Engineering Chapter 7: Software Engineering Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 7: Software Engineering 7.1 The Software Engineering

More information

Topics. Introduction to Database Management System. What Is a DBMS? DBMS Types

Topics. Introduction to Database Management System. What Is a DBMS? DBMS Types Introduction to Database Management System Linda Wu (CMPT 354 2004-2) Topics What is DBMS DBMS types Files system vs. DBMS Advantages of DBMS Data model Levels of abstraction Transaction management DBMS

More information

NASSI-SCHNEIDERMAN DIAGRAM IN HTML BASED ON AML

NASSI-SCHNEIDERMAN DIAGRAM IN HTML BASED ON AML Volume 6, Number 3, 2013 NASSI-SCHNEIDERMAN DIAGRAM IN HTML BASED ON AML László Menyhárt Abstract: In an earlier work I defined an extension of XML called Algorithm Markup Language (AML) for easy and understandable

More information

2667A - Introduction to Programming

2667A - Introduction to Programming 2667A - Introduction to Programming Table of Contents Introduction Audience At Course Completion Prerequisites Microsoft Certified Professional Exams Student Materials Course Outline Introduction Elements

More information

Database System Concepts

Database System Concepts s Design Chapter 1: Introduction Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2008/2009 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth

More information

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1 Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra

More information

What is Data Virtualization?

What is Data Virtualization? What is Data Virtualization? Rick F. van der Lans Data virtualization is receiving more and more attention in the IT industry, especially from those interested in data management and business intelligence.

More information

Gadget: A Tool for Extracting the Dynamic Structure of Java Programs

Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Juan Gargiulo and Spiros Mancoridis Department of Mathematics & Computer Science Drexel University Philadelphia, PA, USA e-mail: gjgargiu,smancori

More information

DataDirect XQuery Technical Overview

DataDirect XQuery Technical Overview DataDirect XQuery Technical Overview Table of Contents 1. Feature Overview... 2 2. Relational Database Support... 3 3. Performance and Scalability for Relational Data... 3 4. XML Input and Output... 4

More information

Architecture Design Version1.0. Architecture Design CUSTOMER RELATION MANAGEMENT SYSTEM Version 1.0

Architecture Design Version1.0. Architecture Design CUSTOMER RELATION MANAGEMENT SYSTEM Version 1.0 Architecture Design CUSTOMER RELATION MANAGEMENT SYSTEM Version 1.0 Submitted in partial fulfillment of the requirements of the degree of Master of Software Engineering CIS 895 MSE Project Kansas State

More information

CS 4240: Principles of Software Design. Course Introduction. Tom Horton horton.uva@gmail.com

CS 4240: Principles of Software Design. Course Introduction. Tom Horton horton.uva@gmail.com CS 4240: Principles of Software Design Course Introduction Tom Horton horton.uva@gmail.com Official Course Description: This course focuses on techniques for software design in the development of large

More information

RDS Building Centralized Monitoring and Control

RDS Building Centralized Monitoring and Control RDS Building Centralized Monitoring and Control 1. Overview This document explains the concept and differing options for the monitoring and control of RDS replication over your network. The very basic

More information

Computer Information Systems (CIS)

Computer Information Systems (CIS) Computer Information Systems (CIS) CIS 113 Spreadsheet Software Applications Prerequisite: CIS 146 or spreadsheet experience This course provides students with hands-on experience using spreadsheet software.

More information

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper. The EMSX Platform A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks A White Paper November 2002 Abstract: The EMSX Platform is a set of components that together provide

More information

MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example

MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example MapReduce MapReduce and SQL Injections CS 3200 Final Lecture Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI'04: Sixth Symposium on Operating System Design

More information

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 ICOM 6005 Database Management Systems Design Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 Readings Read Chapter 1 of text book ICOM 6005 Dr. Manuel

More information

XML Processing and Web Services. Chapter 17

XML Processing and Web Services. Chapter 17 XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing

More information

http://alice.teaparty.wonderland.com:23054/dormouse/bio.htm

http://alice.teaparty.wonderland.com:23054/dormouse/bio.htm Client/Server paradigm As we know, the World Wide Web is accessed thru the use of a Web Browser, more technically known as a Web Client. 1 A Web Client makes requests of a Web Server 2, which is software

More information

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed

More information

How To Use X Query For Data Collection

How To Use X Query For Data Collection TECHNICAL PAPER BUILDING XQUERY BASED WEB SERVICE AGGREGATION AND REPORTING APPLICATIONS TABLE OF CONTENTS Introduction... 1 Scenario... 1 Writing the solution in XQuery... 3 Achieving the result... 6

More information

Managing XML Documents Versions and Upgrades with XSLT

Managing XML Documents Versions and Upgrades with XSLT Managing XML Documents Versions and Upgrades with XSLT Vadim Zaliva, lord@crocodile.org 2001 Abstract This paper describes mechanism for versioning and upgrding XML configuration files used in FWBuilder

More information

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework

More information

HTML5. Turn this page to see Quick Guide of CTTC

HTML5. Turn this page to see Quick Guide of CTTC Programming SharePoint 2013 Development Courses ASP.NET SQL TECHNOLGY TRAINING GUIDE Visual Studio PHP Programming Android App Programming HTML5 Jquery Your Training Partner in Cutting Edge Technologies

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

Principles of Database. Management: Summary

Principles of Database. Management: Summary Principles of Database Management: Summary Pieter-Jan Smets September 22, 2015 Contents 1 Fundamental Concepts 5 1.1 Applications of Database Technology.............................. 5 1.2 Definitions.............................................

More information

The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets

The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets!! Large data collections appear in many scientific domains like climate studies.!! Users and

More information

Design and Functional Specification

Design and Functional Specification 2010 Design and Functional Specification Corpus eready Solutions pvt. Ltd. 3/17/2010 1. Introduction 1.1 Purpose This document records functional specifications for Science Technology English Math (STEM)

More information

STFC Sandwich Student Placement Software Engineer for ISIS Business Applications

STFC Sandwich Student Placement Software Engineer for ISIS Business Applications STFC Sandwich Student Placement Software Engineer for ISIS Business Applications Matthew Williams 2013-2014 Intro... 2 The Business Applications Team... 2 Technologies Used... 2 The Role... 4 Conclusion...

More information

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system Introduction: management system Introduction s vs. files Basic concepts Brief history of databases Architectures & languages System User / Programmer Application program Software to process queries Software

More information

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT AIMAN TURANI Associate Prof., Faculty of computer science and Engineering, TAIBAH University, Medina, KSA E-mail: aimanturani@hotmail.com ABSTRACT

More information

UltraQuest Cloud Server. White Paper Version 1.0

UltraQuest Cloud Server. White Paper Version 1.0 Version 1.0 Disclaimer and Trademarks Select Business Solutions, Inc. 2015. All Rights Reserved. Information in this document is subject to change without notice and does not represent a commitment on

More information

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon ASP &.NET Microsoft's Solution for Dynamic Web Development Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon Introduction Microsoft's Server-side technology. Uses built-in

More information

Developing a MapReduce Application

Developing a MapReduce Application TIE 12206 - Apache Hadoop Tampere University of Technology, Finland November, 2014 Outline 1 MapReduce Paradigm 2 Hadoop Default Ports 3 Outline 1 MapReduce Paradigm 2 Hadoop Default Ports 3 MapReduce

More information

Table Of Contents. 1. GridGain In-Memory Database

Table Of Contents. 1. GridGain In-Memory Database Table Of Contents 1. GridGain In-Memory Database 2. GridGain Installation 2.1 Check GridGain Installation 2.2 Running GridGain Examples 2.3 Configure GridGain Node Discovery 3. Starting Grid Nodes 4. Management

More information

Modeling Web Applications Using Java And XML Related Technologies

Modeling Web Applications Using Java And XML Related Technologies Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik

More information

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1)

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Computer Programming A computer is a programmable machine. This means it

More information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

More information

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1 The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions

More information

Introduction to the Analysis and Management Framework

Introduction to the Analysis and Management Framework Introduction to the Analysis and Management Framework Project Team: Don Kranz, Tom Gullion, Neal Saito, Gary Marchiny Project Monitor: Steve Husty 1 Agenda Problem Space The NASA IV&V AMF N Tier Architectures

More information

INTERNET DOMAIN NAME SYSTEM

INTERNET DOMAIN NAME SYSTEM INTERNET DOMAIN NAME SYSTEM http://www.tutorialspoint.com/internet_technologies/internet_domain_name_system.htm Copyright tutorialspoint.com Overview When DNS was not into existence, one had to download

More information

REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOINFORMATICS (BSc[BioInf])

REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOINFORMATICS (BSc[BioInf]) 820 REGULATIONS FOR THE DEGREE OF BACHELOR OF SCIENCE IN BIOINFORMATICS (BSc[BioInf]) (See also General Regulations) BMS1 Admission to the Degree To be eligible for admission to the degree of Bachelor

More information

Introduction: Database management system

Introduction: Database management system Introduction Databases vs. files Basic concepts Brief history of databases Architectures & languages Introduction: Database management system User / Programmer Database System Application program Software

More information

DeBruin Consulting. Key Concepts of IBM Integration Broker and Microsoft BizTalk

DeBruin Consulting. Key Concepts of IBM Integration Broker and Microsoft BizTalk DeBruin Consulting WMB vs. BTS Key Concepts of IBM Integration Broker and Microsoft BizTalk Barry DeBruin 4/16/2014 WMB & BTS Key Concepts Contents Software Requirements... 2 Microsoft BizTalk Server 2013...

More information

Enterprise SSO Manager (E-SSO-M)

Enterprise SSO Manager (E-SSO-M) Enterprise SSO Manager (E-SSO-M) Many resources, such as internet applications, internal network applications and Operating Systems, require the end user to log in several times before they are empowered

More information

Programming Languages

Programming Languages Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:

More information

DIABLO VALLEY COLLEGE CATALOG 2014-2015

DIABLO VALLEY COLLEGE CATALOG 2014-2015 COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy

More information

Performance Monitoring and Analysis System for MUSCLE-based Applications

Performance Monitoring and Analysis System for MUSCLE-based Applications Polish Infrastructure for Supporting Computational Science in the European Research Space Performance Monitoring and Analysis System for MUSCLE-based Applications W. Funika, M. Janczykowski, K. Jopek,

More information

Canadian Technology Accreditation Criteria (CTAC) INFORMATION TECHNOLOGY - TECHNOLOGIST Technology Accreditation Canada (TAC)

Canadian Technology Accreditation Criteria (CTAC) INFORMATION TECHNOLOGY - TECHNOLOGIST Technology Accreditation Canada (TAC) Canadian Technology Accreditation Criteria (CTAC) INFORMATION TECHNOLOGY - TECHNOLOGIST Technology Accreditation Canada (TAC) Preamble These CTAC are applicable to programs having titles involving Information

More information

zen Platform technical white paper

zen Platform technical white paper zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

More information

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS Lech MADEYSKI *, Michał STOCHMIAŁEK Abstract. Architectural design is about decisions which influence characteristics of arising system e.g. maintainability

More information

Contents The College of Information Science and Technology 2011-2012 Undergraduate Course Descriptions

Contents The College of Information Science and Technology 2011-2012 Undergraduate Course Descriptions Contents The College of Information Science and Technology 2011-2012 Undergraduate Course Descriptions Information Science & Systems Courses INFO 101 - Introduction to Information Technology Introduces

More information

Real-World Object-Oriented Design Experience for Computer Science Students

Real-World Object-Oriented Design Experience for Computer Science Students Real-World Object-Oriented Design Experience for Computer Science Students Abstract Due to the limitations of time and resources, many undergraduate Software Engineering courses provide a survey of a broad

More information

Hadoop: A Framework for Data- Intensive Distributed Computing. CS561-Spring 2012 WPI, Mohamed Y. Eltabakh

Hadoop: A Framework for Data- Intensive Distributed Computing. CS561-Spring 2012 WPI, Mohamed Y. Eltabakh 1 Hadoop: A Framework for Data- Intensive Distributed Computing CS561-Spring 2012 WPI, Mohamed Y. Eltabakh 2 What is Hadoop? Hadoop is a software framework for distributed processing of large datasets

More information

1. Introduction 1.1 Methodology

1. Introduction 1.1 Methodology Table of Contents 1. Introduction 1.1 Methodology 3 1.2 Purpose 4 1.3 Scope 4 1.4 Definitions, Acronyms and Abbreviations 5 1.5 Tools Used 6 1.6 References 7 1.7 Technologies to be used 7 1.8 Overview

More information

Domain modeling: Leveraging the heart of RUP for straight through processing

Domain modeling: Leveraging the heart of RUP for straight through processing Copyright Rational Software 2003 http://www.therationaledge.com/content/jun_03/t_domainmodeling_rm.jsp Domain modeling: Leveraging the heart of RUP for straight through processing by Richard Menard Vice

More information

02-201: Programming for Scientists

02-201: Programming for Scientists 1. Course Information 1.1 Course description 02-201: Programming for Scientists Carl Kingsford Fall 2015 Provides a practical introduction to programming for students with little or no prior programming

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases

More information

Learning outcomes. Knowledge and understanding. Competence and skills

Learning outcomes. Knowledge and understanding. Competence and skills Syllabus Master s Programme in Statistics and Data Mining 120 ECTS Credits Aim The rapid growth of databases provides scientists and business people with vast new resources. This programme meets the challenges

More information

Projectory A Framework for teaching Object Oriented Design and Object Oriented Programming

Projectory A Framework for teaching Object Oriented Design and Object Oriented Programming Projectory A Framework for teaching Object Oriented Design and Object Oriented Programming ElanLunch@L3S, 3.05.003 Jens Gößner, Thomas Mück Educational Setting To learn the construction of object-oriented

More information

Web Applications: Overview and Architecture

Web Applications: Overview and Architecture Web Applications: Overview and Architecture Computer Science and Engineering College of Engineering The Ohio State University Lecture 1 Road Map in Pictures: Web App Road Map in Pictures Browser Request

More information

Automatic Text Analysis Using Drupal

Automatic Text Analysis Using Drupal Automatic Text Analysis Using Drupal By Herman Chai Computer Engineering California Polytechnic State University, San Luis Obispo Advised by Dr. Foaad Khosmood June 14, 2013 Abstract Natural language processing

More information

Technical Writing - Software Engineering Life Cycle Review

Technical Writing - Software Engineering Life Cycle Review CS212: HARD SKILLS Announcements Overview motivation solitary programming engineering and software engineering software life cycle development models modularity documentation quality, legality, 1. Motivation

More information

White Paper: 5GL RAD Development

White Paper: 5GL RAD Development White Paper: 5GL RAD Development After 2.5 hours of training, subjects reduced their development time by 60-90% A Study By: 326 Market Street Harrisburg, PA 17101 Luis Paris, Ph.D. Associate Professor

More information

Symplified I: Windows User Identity. Matthew McNew and Lex Hubbard

Symplified I: Windows User Identity. Matthew McNew and Lex Hubbard Symplified I: Windows User Identity Matthew McNew and Lex Hubbard Table of Contents Abstract 1 Introduction to the Project 2 Project Description 2 Requirements Specification 2 Functional Requirements 2

More information

How To Improve Performance In A Database

How To Improve Performance In A Database Some issues on Conceptual Modeling and NoSQL/Big Data Tok Wang Ling National University of Singapore 1 Database Models File system - field, record, fixed length record Hierarchical Model (IMS) - fixed

More information

AD-HOC QUERY BUILDER

AD-HOC QUERY BUILDER AD-HOC QUERY BUILDER International Institute of Information Technology Bangalore Submitted By: Bratati Mohapatra (MT2009089) Rashmi R Rao (MT2009116) Niranjani S (MT2009124) Guided By: Prof Chandrashekar

More information

Acknowledgments. p. 55

Acknowledgments. p. 55 Preface Acknowledgments About the Author Introduction p. 1 IBM SOA Foundation p. 2 Service Design and Service Creation p. 2 Service Integration p. 3 Service Connectivity p. 5 Service Security and Management

More information

Guiding Principles for Modeling and Designing Reusable Services

Guiding Principles for Modeling and Designing Reusable Services Guiding Principles for Modeling and Designing Reusable Services Max Dolgicer Managing Director International Systems Group, Inc. mdolgicer@isg-inc.com http://www.isg-inc.com Agenda The changing notion

More information

Automatic generation of fully-executable code from the Domain tier of UML diagrams

Automatic generation of fully-executable code from the Domain tier of UML diagrams Abstract. Automatic generation of fully-executable code from the Domain tier of UML diagrams Macario Polo, Agustín Mayoral, Juan Ángel Gómez and Mario Piattini Alarcos Group - Department of Computer Science

More information