0% found this document useful (0 votes)
109 views

Integrative Programming C# - An OOP Language That Supports Data Encapsulation, Inheritance Polymorphism, and Method

The document discusses key concepts in integrative programming and information management. It provides an overview of C# and the .NET framework, describing their features and capabilities. It also covers fundamental database concepts like data, information, database design, and the advantages of using a DBMS. Key topics like data independence, data redundancy, and problems with file systems are summarized as well.

Uploaded by

Kim Dominic Paz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
109 views

Integrative Programming C# - An OOP Language That Supports Data Encapsulation, Inheritance Polymorphism, and Method

The document discusses key concepts in integrative programming and information management. It provides an overview of C# and the .NET framework, describing their features and capabilities. It also covers fundamental database concepts like data, information, database design, and the advantages of using a DBMS. Key topics like data independence, data redundancy, and problems with file systems are summarized as well.

Uploaded by

Kim Dominic Paz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

INTEGRATIVE PROGRAMMING

C# - an OOP language that supports data encapsulation, inheritance polymorphism, and method
overriding; developed by Anders Hejlsberg in Microsoft (1990s)

• Console and web app development


• Supports garbage collection & automatic memory management
• Includes native support for Component Object Model (COM) & windows-based apps
• Values of primitive data types are automatically initialized to 0s, and reference types to null
• Produces portable code
• Programs execute in a secure, controlled runtime environment
• Supports generics, partial types and anonymous methods
• Supports Language-Integrated Query (LINQ) and lambda expressions
o LINQ – enables you to write database queries in C# programming
o Lambda Expressions – used in LINQ expressions for efficient coding

.NET Framework – collection of tools, technologies, and languages that provides environment to build
and deploy different types of applications easily

• Operating System – controls tasks and manages system resources of the computer; manages
hardware and software resources that supports execution of .NET applications
• Common Language Runtime (CLR) – runtime environment of the .NET framework that manages
the execution of .NET code, enables debugging and exception handling, and makes programs
portable. (source code -> MSIL -> CLR JIT -> native code)
• .NET Base Class Library – contains classes and interfaces used for building applications.
• ADO .NET – provides access to relational databases and several data sources such as SQL server
and XML
• ASP .NET – Unified web development model that includes services necessary in building
enterprise-class web applications with minimum coding
o ASP .NET Forms – allows building of dynamic websites using a familiar drag-and-drop
event-driven model
o ASP .NET Web Services – extend the web infrastructure to provide means for software
to connect to other apps
o Windows Forms – contain graphical representation of any window displayed in the app
• Common Language Specification (CLS) – set of basic language features that ensures operability
between the languages in the .NET environment; a subset of Common Type System (CTS)
o CTS – a formal specification that documents how types are declared, used, and
managed so the CLR can use them

Features supported by .NET:

• Interoperability • Development for Dynamic Web Pages


• Language independence • Base Class Library
• AJAX • ADO .NET
• Common Language Runtime • Web Services
Assembly – collection of types and resources that are built to work together and form a logical unit of
functionality; building blocks of .NET framework apps.

• EXE (Executable)
• DLL (Dynamic-Link-Library) – module that contains functions and data that can be used by
another module

Metadata – contained by assembly; provides information along with a complete description of methods,
types, and other resources

Manifest – included in metadata; stores identification information, public types, and a list of other
assemblies that are used in the current assembly; each has a 128-bit version number
(major.minor.build.revision)

*There are 2 types how an assembly is deployed: shared and private

Program Structure of C#:

• Namespace declaration • A main method


• Class attributes • Class methods
• Comments • Statements and expressions
• A class
Identifier – a name of program component programmers use to uniquely identify namespaces, classes, methods,
variables, constants, etc.

• Must start with a letter or an underscore


• Can only have alphanumeric characters and underscores; no whitespaces
• Case sensitive
• Cannot be a reserved keyword
• Classes and methods must always begin with a capital letter

Keywords – reserved words a programming language uses for its own use and have a special predefined meaning
to the compiler

Variable – an identifier and a memory location that stores a specific value that can be changed during program
execution.

Constant – an identifier and a memory location whose value cannot be changed during program execution.

Data Types – used to specify a set of values and their operations associated with variables or constants

• Value Types – stores value directly within the variable; holds data within its own memory allocation.
• Reference Types – do not store actual value in a variable or constant but stores address where the value is
stored

Type Conversion/ Type Casting – process of converting a value of 1 data type to another data type

• Implicit Conversion – conversion of a lower precision data type to a value of a higher precision data type.
• Explicit Conversion –converts a higher precision data type to a lower one by using cast operator ex: int
num = 25; byte b = (byte) num;
Operators – symbols that represent a specific mathematical or logical processing in programming

• Arithmetic Operators – used in performing mathematical operations on numerical values


• Relational Operators – used to determine the relationship between operands of numeric values and
generate a decision on that base; returns Boolean values true and false.
• Logical Operators – used in performing logical operations; returns Boolean values
• Assignment Operators – used to assign value or the result of an expression to a variable

Expression – combination of operands (or variables) and operators that can be evaluated to a single value

Operator Precedence and Associativity – defines a set of rules indicating the order in which the operator should be
evaluated in an expression

System.Math – a class that includes several methods that perform a variety of calculations that can be used in a
program

INFORMATION MANAGEMENT

Data – raw facts; facts that have not yet been processed to reveal their meaning to the end user

Information – result of processing raw data to reveal its meaning; consists of transformed data and facilitates
decision making

Database – shared, integrated computer structure that houses a collection of the ff:

• End-user Data – raw facts of interest to the end user


• Metadata – data about data; through which end-user data is integrated and managed

Database Management System (DBMS) – collection of programs that manages the database structure and controls
access to the data stored in database; serves as intermediary between user and database

• Single-user Database – supports only one user at a time


• Desktop Database – runs on a personal computer
• Multiuser Database – supports multiple users at the same time
• Workgroup Database – supports relatively small number of users or a specific department within an org
• Enterprise Database – used by the entire organization and supports many users across many departments
• Centralized Database – supports data located at a single site
• Cloud Database – created and maintained using cloud services
• General-purpose Database – contains a wide variety of data used in multiple disciplines
• Discipline Specific Database – contains data focused on specific subject areas
• Operational Database – designed primarily to support a company’s day-to-day operations
• Analytical Database – focused primarily on storing historical data and business metrics used for tactical or
strategic decision-making

Advantages of DBMS:

• Improved data sharing • Minimized data inconsistency


• Improved data security • Improved data access
• Better data integration • Improved decision making
Database Design – activities that focus on the design of the database structure that will be used to store
and manage end-user data.

Transformation of logical design in constructing physical database:

• Entities -> Tables


• Attributes -> Columns
• Domains -> Data Types & Constraints
• Relationships -> Primary & Foreign Keys

2 Major Purposes of File System Critique:

• Understand shortcomings of file system & development of modern databases


• Many of the problems are not unique to file systems

Problems Associated with File Systems:

• Lengthy development times


• Difficulty of getting quick answers
• Complex system administration
• Lack of security and limited data sharing
• Extensive programming

Structural Dependence – data characteristic which a change in the database schema affects data access,
requiring changes in all access programs

Structural Independence – data characteristic which a change in the database schema do not affect
data access

Data Dependence – condition in which data representation & manipulation are dependent on the
physical data storage characteristics

Data Independence – condition in which data access in unaffected by changes in the physical data
storage characteristics

Data Redundancy – exists when the same data is stored unnecessarily at different places

• Poor Data Security – Having multiple copies of data increases the chance for a copy to be
susceptible to unauthorized access
• Data Inconsistency – exists when different and conflicting versions for the same data appear in
different places
• Data-entry Errors – more likely to occur when complex entries are made in several different files
or recur frequently in one or more files
• Data Integrity Problems – existence and nonexistence of data

Data Anomalies – data abnormality which inconsistent changes have been made to a database;
develops when not all of the required changes in the redundant area are made successfully.

Database Design – focuses on hoe the database structure will be used to store and manage end-use
data
Data Modelling – first step in designing a data base; process of creating a specific data model for a
determined problem domain

Data Model – simple graphical representation of more complex real-world data structures. A model is
an abstraction of a more complex real-world object or event.

Building blocks of data model:

• Entity – person, place, thing or event about which data will be collected and stored
• Attribute – characteristic of ab entity
• Relationship – describes association between entities.
o One-to-one (1:1) relationship
o One-to-many (1:M) relationship
o Many-to-many (M:M) relationship

Evolution of data model:

• Hierarchical Model – developed in 1960s; basic logical structure is represented by an upside-


down tree; contains levels and segments (file system’s record type).
• Network Model – created to represent complex data relationships more effectively than
hierarchical model; it is generally used today.
o Schema – conceptual organization of entire database as viewed by the database
administrator
o Subschema – portion of database by the application programs that can produce desired
information from the data in the database
o Data Manipulation Language (DML) – defines environment by which data can be
managed
o Data Definition Language (DDL) – allows database administrator to define the schema
components.
• Relational Model – introduced in 1970 by E.F. Codd of IBM; represented major breakthrough for
users and designers; foundation of mathematical concept known as relation.
• Entity Relationship Model – introduced in 1970 by Peter Chen; graphical representation of
entities and relationships in a database structure; complements relational data model concepts
• Object-Oriented Model – both data and its relationships are contained in a single structure
known as an object.; semantic data model that indicated meaning.
o Object is an abstraction of a real-world entity
o Attributes describe the property of an object
o Objects with similar characteristics are grouped in classes; class is a collection of similar
objects with shared structure (attributes) and behavior (methods)
o Classes are organized by a class hierarchy that resembles an upside-down tree where
each class has only one parent
o Inheritance is the ability of an object within the class hierarchy to inherit the attributes
o OODM are typically depicted using Unified Modeling Language (UML) class diagram
which is a language based on object-oriented concepts that describes a set of diagrams
and symbols used to graphically model a system.
Extensible Markup Language (XML) – metalanguage used to represent and manipulate data elements;
permits manipulation of document’s data elements.

Big Data – movement to find a new and better ways to manage large amounts of web and sensor-
generated data and derive business insight from it; term was first used by John Mashey in 1990s;
Douglas Laney described these characteristics:

• Volume – refers to the amount of data being stored


• Velocity – refers to speed which data grows and the need to process it quickly to generate
information and insight
• Variety – refers to the fact that the data being collected comes in multiple different data
formats

NoSQL – large-scale distributed database system that stores structured and unstructured data in
efficient ways.

• Supports distributed database architecture


• Supports very large amounts of sparse data
• Provides high scalability, high availability, and fault tolerance
• Most are geared toward performance rather than transactions consistency

*in the 1970s the ANSI SPARC defined a data modeling framework based on degrees of data
abstraction.

• External Model – end-user’s view of data environment; people who use the app; ER diagrams
are used to represent external views; a specific representation is called an external schema
• Conceptual Model – represents a global view of the entire database by the entire organization;
conceptual schema is the basis for the identification and high-level description of main data
objects
• Internal Model – representation of database as seen by the DBMS; requires designer to match
conceptual model’s characteristics and constraints; internal schema depicts a specific
representation of an internal model
• Physical Model – operates at lowest level of abstraction; describing how data is saved on
storage media.

You might also like