Download as pdf or txt
Download as pdf or txt
You are on page 1of 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