masinprojekteerimine * a.kalja * arvutitehnika instituut 3.2 software - closed systems - open...

25
Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems cation program package is a set of prog can be used for solving problems from ed problem solving domain. problem solving area is called package n.

Upload: janel-stevens

Post on 03-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

3.2 Software

- closed systems- open (expandable) systems

Application program package is a set of program,which can be used for solving problems fromlimited problem solving domain.

This problem solving area is called package subjectdomain.

Page 2: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Basic software, OS

Hardware

Instrumental system

GG DBMS Dialog ES

Statis-tics

Opti-mization ...

Drives

Shafts

Problem-orientedpackages

Method-orientedpackages

System sofware

Software structure

Page 3: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

3.3 Databases

*Data description lang.*Data manipulation lang.

Database managementsystem

Data-base

Data-base schema

Forms etc.

Dialog User interface

Data base is a collection of information organized in such a way that a computer program can quicklyselect desired pieces of data.

Database management systems are working asstand alone or client-server systems.

Page 4: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Database as a complex:

* reduces data redundancy and inconsistency* allows quick access to all data * allows multiaccess to data * organizes data protection for data addingand reading* organizes data restore operations* enables communication with application prog-    rams and as a dialogue with users

conceptual level|

logical level|

physical level

Page 5: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Produsers

Projects

Productionseries Employees

Heads

Locations Departments

n:m

n:m

n:m

1:n

1:n

1:n

1:1

n:1

Part of a factory database

Page 6: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Entity-Relationship (ER) model

Entity is an object, which exists and is different from others objects

Example: Arnold Tara 35106250220

Entity set is a set of entities from the same typeExample: The set of all persons, who are working in the “Ilmarine” factory is an entity set personnel or (employees)

An entity is given by the set of attributesExample: name, phone nr., name of department,project nr. are attributes of an employee

Relationship is a connection between different entities

Example: Savi works in design department

Relationship set is a set of relationships betweenthe same type of relationshipsIn mathemathic it is a relation n>=2 on the sets ofentities.

Page 7: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

If E1, E2,…, En are sets of entities, then set of therelationships R is a subset of

{(e1, e2,…, en)| e1E1, e2E2, … , enEn, } ,where (e1, e2, … , en,) is a relationship

Savi 525 303 B517Meri 601 432 B516Tara 331 554 C302Tuul 331 412 C303

design dep. 31 000

tech. dep. 25 000

E - R diagram

employee departmentw_dep.

name

ph.nr.

room nr.dep. nr.

budget

Page 8: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Relational Data Model

Data are given by two-dimensional tables.

Let sets D1, D2, … , Dn (not different) are given.

Relation R on these n sets is a set of orderedcorteges (d1, d2, … , dn), whered1 D1 , d2 D2 , … , dn Dn .

Sets D1, D2, … , Dn are domains.Index n is the rank of relation R.

From the other side one can say that relation Ris given on the sets D1, D2, … , Dn ifR is a subset of Cartesian product D1x D2 x…x Dn

Page 9: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

PRODUCTION(PROJECT(NUMBER:numeric

NAME:textSTARTYEAR:numericENDYEAR:numericMANAGER:textCOST:numeric)

HEAD(NAME:textPHONENR:numericROOMNR:numericPROJECTNR:numericNREMLOYEES:numeric)

EMPLOYEE(NAME:textDEPARTMENT:textHEADNAME:textPROJECTNR:numericROOMNR:numeric))

32 AUTOMATBURNER 2003 2007 VALJASTE 12500030 LIFT MK16 2004 2007 LAGRITS 28000043 COMPRESSOR 2004 2009 SAAGE31700045 WATERSTATION 2006 2009 LODJA 54300040 GASSTORAGE 2006 2009 VALJASTE 12500037 GASSTORAGE 2004 2008 TUPPITS 87000

Page 10: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

STARTSCHEMA:PRODUCTIONPROJECTS, WANTWD:SET OF PROJECTSUB:SUBSET OF PROJECTS IS WANTEDSUB.COND:=PROJECT.ENDYEAR<=2008OUTPUT:DISPLAY WANTEDCOMPUTE OUTPUT.PRINTEND

32 AUTOMATBURNER 2003 2007 VALJASTE 12500030 LIFT MK16 2004 2007 LAGRITS 28000037 GASSTORAGE 2004 2008 TUPPITS 87000

Page 11: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Relational algebra

Main operations:SELECTSELECT - select rowsPROJECTPROJECT - select colums

32 AUTOMATBURNER VALJASTE30 LIFT MK16 LAGRITS43 COMPRESSOR SAAGE45 WATERSTATION LODJA40 GASSTORAGE VALJASTE37 GASSTORAGE TUPPITS

JOINJOIN - table joining (connecting)

VALJASTE 527314 B711SAAGE701336 C201LODJA 525506 B101

32 AUTOMATBURNER VALJASTE43 COMPRESSOR SAAGE45 WATERSTATION LODJA

32 AUTOMATBURNER VALJASTE43 COMPRESSOR SAAGE45 WATERSTATION LODJA

527314 B711701336 C201525506 B101

UNIONUNIONINTERSECTIONINTERSECTION......

Page 12: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Query - by - Example

This is a language and system as well

e.name departm proj. nr. room nr.

proj. nr. pr. name start end cost

e.name departm proj. nr. room nr.

Engineer P._x

Page 13: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Hierarhical Data Model

Includes sets of records, which are interconnected.Tree structures are main elements.Record includes data fields.

Department nr. 1

Valjaste 525 314 Lathe 1K52

IMSINES

Page 14: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Network Data Model

Department

Employee

R1

R2

SETCODASYL

set name is Personnelowner is Departmentmember is Employee

Page 15: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Objekt-oriented data model

OOP languagesSIMULA 67Smalltalk 80, C++, Java

ConferencesECOOPOOPSLA

Object-oriented=objects+classes+inheritance of classes

Objectbased

language

Classbased

language

OOlanguage

+ classes

+ inheritanceof classes

Ada

CLU

SIMULA, Smalltalk

Page 16: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Basic concepts

Object, a thing, being or concept(Phil).. .a language mechanism for binding data with methods (OO ).

Three properties characterize objects:- identity- state- behavior

Identity: the property of an object that distinguishes it from other objects.State: describes the data stored in the objectBehavior: describes the methods in the object's interface by which the object can be used

A method is a subroutine(or procedure) associated with a class(object).

Methods have the special property that at runtime, they have access to data stored in an instance of the class (object).

Page 17: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Object protocol is a set of operations accepted by object.

Obj. interaction

Obj.1 Obj.2

sender sender

messagemessage

method utilization

Example:

ellipse.draw()

ellipseappears onthe screen

Object’s behavior – set of methods, accepted by object,is determined by the class.Objects with similar characteristics are grouped into classes.

Class – The object is a class instance, which behavior isdetermined by the class.The object is using with other objects of the same classthe same set of methods.The values of state variables of the objects from thesame class are different.

ellipse

Page 18: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Class inheritance Classes can inherit attributes and behavior from pre-existing classes called base classes, superclasses, or parent classes. The resulting classes are known as derived classes, subclasses, or child classes.The relationships of classes through inheritance give rise to a hierarchy.Inheritance -> code reuse.

superclass

inherit

subclassInherit. part

from supercl.

Specialpart forsubclass

Exact inheritance - inherited all the features of the upper class.

Page 19: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Inexact inheritance – some features of the upper class aremodified or or deleted in sub-class.

Single inheritance – - a subclass inherits a superclass properties

Multiple inheritance - a subclass inherits the properties of several upper classes.

vehicle

car boat

amphi-bious car

acyclicgraph

In OODB the class definition is not only a pattern forcreating new objects, but class in OODM and in OODB:-specifies the behavior of instances-is a set of objects with similar characteristics

Page 20: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Object 1) OID- obj. identity

2) state ={values ofstate variables(attributes)

3) set of methods (M), determined by class

interface

incapsulation

message

message

message

message

Architecture of OODB

Application program Application program

Data structure

Data structures

Methods of objects storedin DB

Traditional DBarchitecture

OODB architecture

Page 21: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

OODB systems

First commercial systemhas appeared in year 1987 - GemStone.

The most used software products have been:ONTOSLevel 5 ObjectOpen ODBObject StoreVisionNexpert Object

...

Application areas:- geoinfosystems- CAD- CAM- computer networks- real time problems

...

Page 22: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

A Conceptual Framework for Data Management in Mechanical CAD

David L. Spooner, Martin HardwickIn: Geometric Modeling for CAD ApplicationsElsevier Science Publishers, 1988, 317-329. pp.

Main memorydata structuresd

Main memoryDatabase system

Virtual objects manager

Files managerr DBMS

... ...Network to other systems

Memories hierarchy for mechanical CAD systems:

• DBMS manages large database queries.• Objects manager quickly founds the missing  data elements• Objects manager is as an intermediate data model.• It allows the use of a variety of application programs   and a variety of data models .

Page 23: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

• Important is a way to connect systems into the environment : some of the data is transferred directly to the application programs over object manager. • The environment allows to communicate with others mechanical CAD system components over network.

Various components of the scheme are developed andtested inRensselaer Polytechnic Institute, NY, USA

Page 24: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Commercial database systems

relational

FoxProClipperDataflexParadoxdBASE II, DBASE III, IV Aston-Tate

IngresInformixMicrosoft SQLProgressSybaseOracle

MySQL free-warePostgreSQL

Page 25: Masinprojekteerimine * A.Kalja * Arvutitehnika instituut 3.2 Software - closed systems - open (expandable) systems Application program package is a set

Masinprojekteerimine * A.Kalja * Arvutitehnika instituut

Technology of developing DB-s:

1.Describing the scope of the model (conceptual model), choice of data structures.2.Choice of data model and DBMS3.Developing database schema. 4.Developing user interface5.Data loading6.Preparation of standard queries

• There are involved: analysts, developers,data acquisition related specialists, database administrator etc.• There exists a lot of environments which supports differentoperations (UML and Rational technology, CASE environments, SDK-s etc.).