Computer engineering - C# php asp .Net SAP SQL: March 2008

Monday, March 31, 2008

Thin and Fat Client Model

There are two type models of the client-server architecture.

Thin-client model
In a thin-client model, all of the application processing and data management is carried out on the server. The client is simply responsible for running the presentation software.

Fat-client model
In this model, the server is only responsible for data management. The software on the client implements the application logic and the interactions with the system user.



Thin CLient Model:
-Used when legacy systems are migrated to client server architectures.
-The legacy system acts as a server in its own right with a graphical interface implemented on a client.
-A major disadvantage is that it places a heavy processing load on both the server and the network.

Fat Client Model:

-More processing is delegated to the client as the application processing is locally executed.
-Most suitable for new C/S systems where the capabilities of the client system are known in advance.
-More complex than a thin client model especially for management. New versions of the application have to be installed on all clients.

Sunday, March 30, 2008

Client Server Model

-Distributed system model which shows how data and processing is distributed across a range of components.
-Set of stand-alone servers which provide specific services such as printing, data management, etc.
-Set of clients which call on these services.
-Network which allows clients to access servers.



-The application is modelled as a set of services that are provided by servers and a set of clients that use these services.
-Clients know of servers but servers need not know of clients.
-Clients and servers are logical processes
-The mapping of processors to processes is not necessarily 1 : 1.

A client-server system:



Computers in C/s network:

Thursday, March 27, 2008

Adding a Large and Small Number Error

The initial terms in such series are often relatively too large in comperison with the following ones. So after a few terms, we have been adding very small number to too large numbers.The error here is caused by the chopping of the computer while calculating the series.

By the definiton above we examine the problems below:

Problem 3:

F(N)= Σ 1/(n*n) where n=1 to n=N

Compute the series by adding with the variable n=1 to 10,000 and by adding the varieble n=10,000 to n=1.Compare the results.

This is the code solution program of the problem in Java:


import javax.swing.JOptionPane;
public class series{
public static void main(String args[]){
double x =0.0;
double y=0.0;
for(double i=1.0; i<10001.0; i++){
x += 1.0/(i*i);
}
for(double i=10000.0; i>0.0; i--){
y +=1/(i*i);
}

JOptionPane.showMessageDialog(null,"The sum begined from n=1 :"+x+'\n'+"The sum begined from n=10,000 :"+y);
}
}

And these are the outputs:

Wednesday, March 26, 2008

Machine Epsilon

Machine epsilon is the smallest number when it is added to 1 your computer assumes it 1 briefely. It depends the physical features of your computer. After this definition let us create the pseudocode of a program that computes your machines' epsilons.




epsilon=1
DO
IF(1+epsilon<=1) EXIT
epsilon=epsilon/2
END DO
epsilon=epsilon*2

The code above is the pseudocode of a machine epsilon algorythm. I guess you know about pseudocode :) If you do not know do not be sorry since it is nothing :P It is a description of an algorythm that is language independent.YOu just write on what you think to do. That is it!

Now let me give you the Java code of that algorythm and the output of it.

import javax.swing.JOptionPane;

public class epsilon{
public static void main(String args[]){
double epsilon = 1.0;
for(int i=1; i<100000; i++){

if(epsilon+1.0<=1.0){
break;
}
else{
epsilon=epsilon/2.0;
}
}
epsilon=2*epsilon;
JOptionPane.showMessageDialog(null,"The epsilon of the machine is:"+epsilon);
}
}

Since i have explained each line of a java code example i think you can understand the steps and pseudocode helps you in this issue as well.

So my output is in the figure below. But do not be confused if you have not got the same output since it depends the physical features of your PC!



I will keep giving some java examples as well. Using Java in mathematic will suprise you or mathematics will suprise you ;)

Tuesday, March 25, 2008

Activity Diagram

Activity diagrams are used for to show a subprocess of a system by figures. Big black dot means the start and the Black dot and a circle outside it means end. Also the arrows represent yes and no answer to the process.That means if yes process done if no can not be done. The diamond are the process steps.
We still continue on the example we examined at last two articles. Here are the some examples from the dynamic web site system:

Activity diagram for use case of Adminstrator to send and receive mails.



Activity diagram for use case of all users to post messages.



Activity diagram for use case of Student to add comments.

Monday, March 24, 2008

Use Case Diagram

Use case diagrams are known as the information about whole system with drawn syntax.The article just before that i have talked about a system: a dynamic web site system the use case diaram below belongs to the same example.

Also some explanations about the diagram as:

Use Case UC1 : Upload&Download Process
Primary Actor : Administrator
Steakholders & Interests:

1. Administrator : Wants all rights to manage the site in minimal time and effort. Also their need is to achieve the site to manage it from every computer they want which by they can access to the Internet.
2. Student : Wants reach to the documentations that he/she needs to download, and add comments to the annocuments also posting messages to the admins. These process needed to be done in a small time period.
3. Invited Speaker : Wants the rights for to add the documantations for their class in minimal effort.To get these rights they need to enter the web site by their user names and mail adresses that they reported to the admins before.
4. Guest : Just can read the page and post messages. Also become a member of the site with his/her student number.

Preconditions : Administrator has logged in to the site by using their username and password.
Success Guarantee (Postconditions) : Text is uploaded succesfully. Web site updated.


Main Success Scenario:

1. Administrator opens his/her control panel.
2. Administartor writes down the address of the document that he/she want to upload.
3. Database stores the document file.
4. Student/Invited Speaker /Guest reads the document from website.
5. Student & Invited Speaker downloads the document.
6. Administrator delete the document link from website.

Extensions:

At any time system fails:
3.a. Database can not stores the file.
3.b. Wrong document file’s address entry by Administrator.
5. Student & Invited Speaker can not dowload the file since the system errors.

For next article the activity diagram of the same example will be axplained.

Sunday, March 23, 2008

Class Diagrams

Consider about a web site that is a course specific web site. As most of us related with it i mean with most of us as students :) A web site that has a user entry and admins as professors and tha assitants of them. Also there are invited speakers whom have been invited to the classes and whom are in the software development market. As i did not said yet the site is the web site of the sofware programming course! See the below explaniations as example to the class diagram of the system:

There are five classes in the system.



The description is as follows:



And at last the class diagram:




Most info about class diagram will be explained in the following article. ALso some other diagrams activity or use case diagram infos and examples for the same system will be added to it.
See yas:))

Thursday, March 20, 2008

Birthday Alert!!!

Hi to everyone firstly

Since its my birthday today i did not feel free to write any article.

Just wanna say happy birthday to me :P

Friday, March 14, 2008

PhpTriad

In this article i want to introduce you my favorite software tool PhpTriad :) I love it since it is easy and free to download and install. You can find lots of versions of PhpTriad for your platform. This is a link for you to download PhpTriad

http://www.sourceforge.net.

But there are many sources that you can download it from if you search on Google you will see :)

So what is PhpTriad? Php Triad is a complex tool of Php, MySQL and Apache that are your general requirements for coding in Php. Installation is very very easy. But i will explain althpugh it is just clicking the button install and done after the installation completed.

So then you installed the program let's start to using it. Fİrstly you need to click on the icon "winmysqladmin" at the adres c:/apache/mysql/bin and then you will type your user name and the password. Please choose a good one since you will need it for oyur databases and it can be setted just at the installation.If the installation is completed succsfully an icon at at the right bottom of your screen that looks like traffic lights.So it need to be green to represent of working.

It did not finished yet :) It is not easy as i said :P We have a little more work then by clicking to start at the programs, you will see a segment called 'Programs' when you click on this menu please start the program: Programs/PhpTriad/Apache Console/Start Apache. this is for to boot Apache. Wen you run the program an command console will appear at your screen which states that 'Running Apache'. Please be sure that the program is always running while you want to run the website you are coding.You need to put your files that you want to show in : C:apachehtdocs. after all of these PhpTriad is ready to use! Just run your browser and write to the adress http://localhost/filename.php ;)

I wish you to have good coding :)
Good Luck!!!

Sunday, March 9, 2008

Php Kitbag

Althuogh i wrote an article about the php programs i think an article with more explaniation will be more helpfull. But it will be by parts since i have not got lots of time for once :)

Firstly as i said the kitbag of php has the components:


  1. PHP 5

  2. Apache Web Server

  3. MySQL or MSSQL

  4. PHPMyAdmin

As i have said before you can get the PHP 5 program from www.php.net .


You can get the Apache from www.apache.org . From this address you can click on HTTP Servers and then download the last version of Apache. After download we are starting to installation of Apache first. By double click on the folder you have downloaded (.msi) you start to install Apache.


Friday, March 7, 2008

Introduction to PHP 2

Firstly PHP is a SSS(Server Side Script). This means if a user enter the site that is prepared by using PHP can only see the HTML output. For instance we have written a program and create an executable code. Then the executable code generates an output to the screen and you can not see the real codes of the program. This is the process of SSS. It generates an output to the screen.

So at last this is our first PHP code example :))

< html >
< body >

< ?php

echo "Hello Web!!!";

? >

< /body >
< /html >

< ?php is the code piece that the PHP codes start. PHP when realizes the sign < ? it interprets the codes until ?> sign. It does not executes the rest of the code. Since that the output of the code i have written above is that:

< html >
< body >

Hello Web!!!

< /body >
< /html >

So this is the process... As you see echo is a function like the print functions in C/C++ or Java.

See you at next article...

Monday, March 3, 2008

Introduction to PHP

PHP means "Personel Home Page Tools" which invented by Rasmus Lerdorf nearly in 1995 or earlier. It is a SSS (Server Side Script) which he needs strong on database and answers to dynamic site design needs. After the expansion of PHP had became "PHP is a Hypertext Pre-Processor".If you want more detail about history of PHP take a look at http://www.php.net/manual/en/history.php .

Now let's start to understand the capablities of PHP.For me it is capable for every work :) Since it is developed more and more it is good for everything you want to do.

  • You can create your own graphics by PHP.
  • You can create Flash documents without any need to Flash and some kind software.
  • PHP is good for interwork with every database system such as MS SQL, MySQL etc.
  • And if you can not find something you need you can write it on your own and can share it.

And it is time to explain how you can use PHP now. PHP is an platform independent web language.Firstly you need to decide on which web server you will use. I recommend you Apache which is a platform dependent server as well. If you are a Windows platform user it is nice for you to use PHPTriad. It includes both Apache, MySql and PHP. Also PHPTriad is called as sokkit after its 2nd version which you can acces from http://www.sokkit.net .

After you do this wait for your PHP codes and explainings of them and wait for next article:)

Sunday, March 2, 2008

Where to Execute Our Codes?

Although most of object oriented programming languages are mostly platform dependent we generally use soma programms to execute them. For instance JCreator is mostly known one taht you can access from http://www.jcreator.com.
And the other program is Microsoft Visual Studio. By it you can work on many languages. One of them is the newest C# which i will show examples later.

In this article i will give an example code in Java again.

import javax.swing.JOptionPane;
public class hmwrk4_1 {
public static void main (String[] args) {
System.out.println("Feet Meters\n---- ------");
for(double i=1.0; i<=10.0; i++) {
double meter=footToMeter(i);
if(i==10.0) {
System.out.println(i+" "+meter); }
else System.out.println(i+" "+meter); }
System.out.println("\nMeters Feet\n------ ----");
for(double i=20.0; i<=65.0; i+=5){
double foot=meterToFoot(i);
String s1=String.valueOf(foot);
if(foot>99.999){
String s2=s1.substring(0,7);
System.out.println(i+" "+s2); }
else{ String s2=s1.substring(0,6); System.out.println(i+" "+s2); } } }
public static double footToMeter(double foot){
double meter=0.305*foot;
return meter;}
public static double meterToFoot(double meter){
double foot=meter/0.305; return foot;}}

In comment you can write on what the program does. I will add it on the article later