3.2 software
DESCRIPTION
3.2 Software. - closed systems - open ( expandable ) s ystems. Application program package is a set of program, which can be used for solving problems from limited problem solving domain. This problem solving area is called package subject domain. Drives. Problem- oriented pa ckages. - PowerPoint PPT PresentationTRANSCRIPT
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.
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
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.
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
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
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.
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
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
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
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
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......
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
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
Masinprojekteerimine * A.Kalja * Arvutitehnika instituut
Network Data Model
Department
Employee
R1
R2
SETCODASYL
set name is Personnelowner is Departmentmember is Employee
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
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).
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
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.
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
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
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
...
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 .
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
Masinprojekteerimine * A.Kalja * Arvutitehnika instituut
Commercial database systems
relational
FoxProClipperDataflexParadoxdBASE II, DBASE III, IV Aston-Tate
IngresInformixMicrosoft SQLProgressSybaseOracle
MySQL free-warePostgreSQL
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.).