Translate

Total Page Views


Featured 1

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Featured 2

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Featured 3

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Featured 4

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Featured 5

Curabitur et lectus vitae purus tincidunt laoreet sit amet ac ipsum. Proin tincidunt mattis nisi a scelerisque. Aliquam placerat dapibus eros non ullamcorper. Integer interdum ullamcorper venenatis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Showing posts with label Technology. Show all posts
Showing posts with label Technology. Show all posts

Thursday, January 31, 2013

Third Generation Computer Languages

A program is a list of instructions that performs a particular task. Assembly programs were very long, this made it difficult to maintain programs written in Assembly. In the late 1950 Computer Scientists came up with high level computer languages which were closer to English and Mathematics.

High Level languages are relatively easy for people to learn and to program computers. Fig 4.2, shows examples of four programs written in diffe rent high level programming languages which display the message “Hello World” on the computer screen.

World
High Level Programming Languages

The computer cannot understand instructions given in a high level language. A transla tor is needed to convert the high level language program into machine code. Imagine that you got an opportunity to go to Japan as part of a student exchange program. As a student ambassador you need to make a speech to students about Sri Lanka. How would you carry out your speech?

If you knew how to speak in Japanese, that would be the best way to carryout your speech. But if you knew English couldn’t you still made the speech? You could by getting help of a translator who is conversant in both Japanese and English. This is exactly how things work in a computer. A translator is used to translate instructions given in a high level language into machine code.

Coming back to the earlier example you could use two approaches to conduct your speech. One way to carry out your speech is for you to speak a few sentences in English and pause allowing the translator to repeat what you have said in Japanese. The second approach is that you could prepare your speech before hand and give awritten copy of it to the translator. You could conduct your speech completely in English. Your Japanese friends would not understand anything you say, but would probably patiently wait till you finish. After you have finished the translator could now repeat your entire speech in Japanese.

These two approaches are used by computers to translate high level language programs to machine. Translator software which uses the first approach are called Interpreters and the latter are known as compilers.

An Interpreter converts a program written in a high level language to machine code as follows.
1. Interpret the next high level language instruction to machine code
2. Execute translated machine code instruction
3. Goto 1st step

A compiler on the other hand translates (compiles) the entire high level language program into machine code. The converted machine code program is usually stored on disk. In Microsoft Windows such machine code files generally have the extensions .EXE. You can get the computer to execute these instructions by running
the executable file. i.e. by typing the name of the executable file in the command prompt or by selecting the executable using the Windows Task Bar Run command.

There are hundreds of different high level programming languages available with newer ones being developed regularly. This is because different people have made different attempts to make Programming (Writing Computer programs) much easier. Some of the high level computer languages are general purpose. This means that these languages could be used to write programs which solve a wide range of problems. These could include, business applications, games, web applications etc. Java, C++, Visual Basic are example of such languages.

There are some high level languages which are special purpose. These languages are intended for writing specific types of programs only. For example COBOL was a language that was used for developing Business type applications. Fortran is used to developing scientific, engineering types of applications. Most of the languages that are used in the software industry fall into the Third Generation Computer Language category..

Tuesday, January 29, 2013

Problems in Systems Development

It is evident by now, system development is a complex process. There are many areas where things can go wrong which may result in project failure. As per our initial discussion, the system development methodologies (such as SDLC) were proposed to provide some structure and formalism to system development process in order to ensure that valid systems are developed and to minimise the possibility of failure. Although, following a methodology does not guarantee success, it provides a mechanism to minimise failures and detect problems early in the system development.
Problems in Systems Development
Some of the major issues that need to be considered in system development include:
  • Estimating cost and time: “What is the best way to estimate the cost and time required by a project?”
  • Selecting a project team: “What members must be included in a project team? What type of background and skills are required?”
  • Capturing user requirements: “What is the best method to capture user requirements? How to ensure that all requirements are captured? How to ensure that the accuracy of the requirements (that is, requirements captured meets the goals of users)?”
  • Using standards: There are many standards and methodologies proposed for system development (such as SDLC). “Which standard/methodology should be used for the project?”
  • Choosing design approaches: There may be many design alternatives for a problem. “How do we ensure that the best design choice is made?”
  • Coding programs: There are many different programming languages, tools and programming methodologies to develop programs. “How do we ensure that the right tools and languages are used?”
  • Testing programs: Programs if incorrectly written can cause errors (sometimes also called “bugs”). “How do we minimize errors in programs? What is the best way to test programs?”
  • Maintaining systems: “What is the best way to ensure that the systems are maintained till the end of their life cycle?”
As per our previous discussion, many organisations try to follow a system development process (i.e. a set of activities, methods, best practices, deliverables and tools an organisation uses to develop information systems) to ensure that they develop successful information systems.

It has been shown that as an organisation’s standard information system development process matures, project delays and costs decrease while productivity and quality increases. The Software Engineering Institute at Carnegie Mellon University (USA) has observed and measured this phenomenon and developed a framework, called the Capability Maturity Model (CMM), to assist all organisations to achieve these
benefits.

The Capability Maturity Model (CMM) is a framework to assess the maturity level of an organisation’s information systems development and management processes and products. It consists of five levels of development maturity.

  • Level 1 – Initial: This is sometimes called anarchy or chaos. System development projects follow no prescribed process. Each developer uses his or her own tools and methods. Success or failure is usually a function of the skill and experience of the project team. The process is unpredictable and not repeatable. A project typically encounters many crises and is frequently over budget and behind schedule. Documentation is sporadic or not consistent from project to project and causes problems for those who maintain the system over the life cycle. Almost all organisation start at Level 1.
  • Level 2 – Repeatable: Project management processes and practices have been established to track project costs, schedules and functionality. The focus is on project management, not systems development. A systems development process is always followed, but it may vary from project to project. Success or failure is still a function of the skill and experience of the project team; however, a concerted effort is made to repeat earlier project successes.
  • Level 3 – Defined: A standard system development process has been purchased or developed, and its use has been integrated throughout the information systems/services unit of the organisation. All projects use a tailored version of the software development process to develop and maintain information systems and software. As a result of using this standardised process for all projects, each project results in consistent high-quality documentation and deliverables. The process is stable, predictable and repeatable.
  • Level 4 – Managed: Measurable goals for quality and productivity have been established. Detailed measures of the standard system development process and product quality are routinely collected and stored in a database. There is an effort to improve individual project management based on this collected data. Thus, management seeks to become more proactive than reactive to systems development problems (such as cost overruns, scope creep, schedule delays etc.). Even when projects encounter unexpected problems or issues, the project can be adjusted based on predictable and measurable impacts.
  • Level 5 – Optimised: The standardised system development process is continuously monitored and improved based on measures and data analysis established in Level 4. This can include changing the technology and best practices used to perform activities required in the standard system development process, as well as adjusting the process itself. Lessons learned are shared across the organisation, with an emphasis on eliminating inefficiencies in the systems development process while sustaining quality. In summary, the organisation has institutionalised continuous systems development process improvement.
Each level is a pre-requisite for the next level. Although there are organis ations that have reached Level 5, currently, many organisations try hard to meet at least CMM Level 3. A central theme is the use of a standard process or methodology (such as SDLC) to build or integrate systems. We have now come to the end of the chapte r. It is time to review and summarize the materials learnt so far.

Monday, January 21, 2013

System Types

Systems can be classified into different types based on their characteristics. The following table illustrates the different system types and their primary characteristics.
System Types and Primary Characteristics

A single system can belong to many different system types based on their characteristics. Let us revisit our example of the school (viewed as a system). Is the school a simple or a complex system? Is the school an open or a closed system? Is the school a stable or a dynamic system? Is the school an adaptive or a nonadaptive system? Is the school a permanent or a temporary system?

It is important to note that system designers sometimes model complex systems as simple systems to better understand these systems. This process is called abstraction.

Viewing Organisation as a System

So far we have seen a school being considered as a system. Similarly, you can consider other examples for systems . If we look in our surroundings, we see many organisations: such as shops, medical centres, communication centres, theatres, universities and others. All of these organisations have goals, components, inputs, processing and outputs. They can be viewed as systems and analysed to identify system boundaries, system types, environment in which they operate. This study will provide us a better understanding of systems and their workings.

Now that we have learnt and gained an understanding of what a system is, we will focus our attention to the next section, which is Information Systems.

Elements of a System

Let us learn some new terms about systems. A system usually interacts with the external world or environment. The system boundary separates the system from its environment. A system’s boundary tells us what is inside and what is outside the system.
A school (viewed as a system) illustrating the system boundary

Let us consider our example of a school and identify the system boundary.

In the above example, the system boundary clearly illustrates the components inside the school (that is, principal, teachers, students etc.) and components outside the system (that is, parents, Department of Education, etc.).

As stated earlier, a system performs a task or accomplishes a goal. To perform a task or accomplish a goal, a system receives input (from the environment), processes and returns output (to the environment).
Input, Processing and Output

In our school example, we can identify goals, input, processing and output as follows:
                        System:                  School
                       Goal:                       Education of students
                        Input:                     Children, teachers, funds
                        Processing:            Teaching and learning
                       Output:                    Educated students

Sunday, January 20, 2013

Information systems

What is a system?

A system is a collection on interrelated components that work together to perform a specific task or achieve a goal. In a system, the different components are connected with each other and they are interdependent. Each component is a subsystem of the original system and carries out a part of the system task.

For example, the human body represents a complete natural system. Our human body contains complex muscle, bone, respiratory, digestive and circulatory subsystems, each providing a specific part of the system task.

Let us consider the respiratory subsystem which provides air to the body from the environment. Some of the components of the respiratory subsystem includes nasal passages, lungs etc. Each component, such as lungs, can it self be considered as a subsystems. Similarly, the heart and blood vessels can be considered as components of the circulatory subsystems.

What is the goal of the circulatory subsystems? The digestive subsystems? List some components of circulatory and digestive subsystems.                     
                                          
Another example of a system is a school. Principal, teacher, students, equipment and classrooms are components of a school.

A system can also play the role of a subsystem to build more complex systems. For example, a school mat be a subsystem f the educational system of a country. A university may be another subsystem. Viewing complex systems as a collection of subsystems may help us handle complexity and improve our understanding of the system.

Saturday, January 19, 2013

Introduction to Information Technology

Usage and importance of IT

There is a genera belief that Information Technology (IT) is about computers. However, this is not true. Information Technology (IT) is about computers. Information and knowledge utilizing such computers and communication networks. Information Technology (IT) has enabled people indifferent parts of the world to exchange information freely and with ease. In effect, IT makes us realize how small the world, we live in, is as it removes physical constraints such as distance between people in exchanging information.

With rapid developments in IT, global communication took a giant leap. Today, Information Technology (IT) is practically utilized in diverse fields such as education, science, engineering and technology, manufacturing, banking, airline industry, health and medicine, provision of public and other services, commerce, administration and management etc. We all have become users of many these IT applications in our day-to-day lives, no matter how sophisticated or moderate our lifestyles are. Further , more and more IT applications are introduced to human activities and with this scenario it is surmised that, in future, knowledge in IT will be essential requirement for a person to secure any from of employment or even participate as a member of the modern day society.

Information Technology (IT) has opened up a whole new of employment opportunities as programmers, systems analysts, systems designers, software engineers, software architects, systems engineers, database administrators, network engineers, network administrators, computer hardware professionals, Website developers, multimedia professionals, IT consultants and the like. In addition, IT has created vast job opportunites in other fields such as management, accountancy, commerce, banking, publishing and media, engineering, architecture, health and medicine.

There are also emerging areas of specialization such as electronic commerce, web services, network and data security, intelligent systems, e-government services all spurred by IT.

With the availability of a wide variety of employment opportunities in the field of IT and a whole host of  opportunities in the field of IT applications in other disciplines, those who are knowledgeable and proficients in IT will naturally find satisfying jobs with high remuneration both here and abroad. This is good enough reason for any student to embark on studies in IT.