Вы находитесь на странице: 1из 23

Our society is being reshaped by rapid advances in IT, computers, telecommunications networks and other digital systems that

have vastly increased our capacity to know, achieve and collaborate. These technologies allow people to transmit information quickly and widely, linking distant places and to create communities that just a decade ago were unimaginable. It is difficult to appreciate how quickly IT is evolving. Five decades ago ENIAC, one of the earliest computers, stood 10 feet tall and stretched 80 feet wide; while today, one can buy a musical greeting card with a silicon chip that is 100 times faster than ENIAC. This extraordinary pace of IT evolution is bringing people and cultures together and creating new social dynamics in the process. It is leading to the formation of closely bonded, and widely dispersed communities of people united by their interest in doing business or in sharing experiences and intellectual pursuits. New forms of knowledge accumulation are developing, as are computer-based learning systems that open the way to innovative modes of instruction and learning.

ROLE OF INFORMATION TECHNOLOGY


IT plays a vital role in todays global economy. It has made a significant impact on research and development. Research is being carried out in networking, computing, data representation and many other areas for exploring the existing methodologies. Education is changing with the advent of new interactive online learning technologies and multimedia electronic libraries, which help in improving the sharing of knowledge and education practices. The major areas impacted by the advent of IT include business, media, education and so forth.

8.6.1 Information Technology in Business


IT plays an important role in business environment as every organization adopts it in some form or the other to perform tasks in an effective manner (see Figure 8.3). In the past few years, rapid development in IT, particularly in communications, electronic service networks and multimedia have opened up new opportunities for corporates. All these are contributing towards new and effective ways

of processing business transactions, integrating business processes, transferring payments and delivering services electronically. Electronic commerce or e-commerce refers to the electronic means to conduct commerce between business communications and transactions over the Internet. It includes buying and selling over the Internet, electronic fund transfers, smart cards, digital cash and all other ways of doing business over digital networks.

INFORMATION TECHNOLOGY AND THE INTERNET


The Internets greatest strength is its ability to support simultaneous, interactive communications among different people. Unlike the telephone, which primarily supports one-to-one communication, or radio and television, where information flows in only one direction, from a single source to an audience who can only listen passively, the Internet allows information to flow back and forth among multiple users at the same time (Figure 8.10). The Internet is the fastest growing information system for delivering a wide variety of things, such as products and services along with their links to other files over the Internet. Due to this, the Internet is also known as a distributed system. The information residing on different computers around the world can be easily linked together using hyperlinks, a method of organizing information on the system by linking one document to another. It provides a user access to a wide variety of services. These services include e-mail, newsgroup, file transfer, multimedia displays, real-time (live) broadcasting, shopping opportunities, access to the latest news and much more.

CAREERS IN THE IT INDUSTRY


The fast spread of IT has generated a need for highly trained workers to design and develop new information systems and to integrate new technologies in them. It is creating the need for professional workers who can fulfil the high performance standards in the technology-based industries (Figure 8.13). IT professionals plan, design, develop, support and manage strategies and adopt them to fulfil basic objectives of the firm. The rapidly changing technology requires the

employees to have more skills and education. The companies look out for IT professionals who not only have sound technical knowledge of the subject but also have sound interpersonal and communication skills. Some of the career opportunities available in the IT industry are as follows.

Management information systems are used by organizations to track, store, manipulate and distribute information to the appropriate people when necessary. Using a management information system can enable a business to streamline its operations into a cohesive functioning unit. Management information systems support business decision-making by providing management with critical data. They serve to enhance the organization's communication, reduce human labor, support short- and long-term business goals and distribute complex information. Some of the advantages of information technology include: Globalization - IT has not only brought the world closer together, but it has allowed the world's economy to become a single interdependent system. This means that we can not only share information quickly and efficiently, but we can also bring down barriers of linguistic and geographic boundaries. The world has developed into a global village due to the help of information technology allowing countries like Chile and Japan who are not only separated by distance but also by language to shares ideas and information with each other. Communication - With the help of information technology, communication has also become cheaper, quicker, and more efficient. We can now communicate with anyone around the globe by simply text messaging them or sending them an email for an almost instantaneous response. The internet has also opened up face to face direct communication from different parts of the world thanks to the helps of video conferencing.

Cost effectiveness - Information technology has helped to computerize the business process thus streamlining businesses to make them extremely cost effective money making machines. This in turn increases productivity which ultimately gives rise to profits that means better pay and less strenuous working conditions. Bridging the cultural gap - Information technology has helped to bridge the cultural gap by helping people from different cultures to communicate with one another, and allow for the exchange of views and ideas, thus increasing awareness and reducing prejudice. More time - IT has made it possible for businesses to be open 24 x7 all over the globe. This means that a business can be open anytime anywhere, making purchases from different countries easier and more convenient. It also means that you can have your goods delivered right to your doorstep with having to move a single muscle. Creation of new jobs - Probably the best advantage of information technology is the creation of new and interesting jobs. Computer programmers, Systems analyzers, Hardware and Software developers and Web designers are just some of the many new employment opportunities created with the help of IT.

Some disadvantages of information technology include: Unemployment - While information technology may have streamlined the business process it has also crated job redundancies, downsizing and outsourcing. This means that a lot of lower and middle level jobs have been done away with causing more people to become unemployed. Privacy - Though information technology may have made communication quicker, easier and more convenient, it has also bought along privacy issues. From cell phone signal interceptions to email hacking, people are now worried about their once private information becoming public knowledge. Lack of job security - Industry experts believe that the internet has made job

security a big issue as since technology keeps on changing with each day. This means that one has to be in a constant learning mode, if he or she wishes for their job to be secure. Dominant culture - While information technology may have made the world a global village, it has also contributed to one culture dominating another weaker one. For example it is now argued that US influences how most young teenagers all over the world now act, dress and behave. Languages too have become overshadowed, with English becoming the primary mode of communication for business and everything else.

Computer science Computer scientists are, in fact, scientists. They are focused with the theory of computational applications. That means they understand the why behind computer programs. Using algorithms and advanced mathematics, computer scientists invent new ways to manipulate and transfer information. Computer scientists are generally concerned with software, operating systems and implementation.

Like Neo in The Matrix, computer scientists can see and make sense of code. Computer science students will learn the fundamentals of different programming languages, linear and discrete mathematics, and software design and development. Computer scientists study the machine itself and understand how and why various computer processes operate the way they do. Simply put, computer scientists can talk to computers. The field is based in mathematicsthe language of computers. Computer scientists understand why computers work and can create a program or operating system that does what you want it to do. Careers in computer scienceComputer science is a rapidly growing field and is expected to see large increases in employment opportunities. High salaries are generally associated with computer science careers. If youre pursuing a computer science degree, the following career paths are open to you: Applications software developer. As the creative minds behind applications and programs, software developers design and build programs and applications for computers and technological devices. Angry Birds? A software developer made that. Microsoft Office? That would be software developers again. The median salary for a software developer is $90,530. Systems engineer. Operating systems provide the foundation for computers and devices to function. Microsoft Windows, Linux and iOS are examples of types of operating systems. Systems engineers design and create those types of systems for use in personal computers, phones and even cars. The median pay for systems engineers is $94,180. Web developer. Web developers are not graphic designers. Graphic designers create the images you see on websites; web developers program the code that makes a website function. Web developers integrate the graphics, audio and video into the site and monitor the sites traffic, performance and capacity. The median salary for a Web developer is $75,660.

Computer engineering To put it bluntly, computer engineers make computer parts work together. Computer engineers are responsible for the research, design and development of computer equipment like circuit boards, microchips, routers, video cards, etc. Some universities may treat this discipline as an off-shoot of electrical engineering. It is beneficial for computer engineers to have a grasp of computer science. Computer engineers often deal with hardware-to-software integration, meaning they have to design and build processors and hardware that can support a given program. As technology advances and our devices become smaller and smaller, a main goal of computer engineers is to create microchips and microprocessors that work economically and efficiently. Computer engineering students will study concepts in computer science, engineering and mathematics. By combining these three fields, computer engineers are able to solve hardware problems and create state-of-the-art machines that can handle the many tasks computers perform.

Careers in computer engineeringTheres not a lot of diversity in job titles in the computer engineering world. Diversity in the job comes from the various industries that employ computer engineers. You can find employment rates and median salary information for the top four industries in which computer engineers work below: Federal government. As of 2010, the federal government employed seven percent of all computer engineers. The median annual pay for computer engineers working for the federal government is $102,950. Computer and electronic product manufacturing. The majority of computer engineers (35 percent) work in this industry. The median salary for computer engineers in product manufacturing is $101,320. Computer systems design and related services. Nineteen percent of computer engineers work in systems design. The median pay for computer engineers in this industry is $98,860. Scientific research and development services. Eleven percent of computer engineers are employed by research firms. The median salary for computer engineers in research settings is $92,080. Information technology

Information technology (IT) may adopt the monikers information systems or systems administration. Essentially, IT professionals are the users of technology. IT utilizes existing operating systems, software and applications in tandem to create a larger system that solves a specific business problem. IT constructs a network from established building blocks to carry out a task, such as an automated supplies ordering service. Due to the nature of the work, IT professionals are more likely to interact with clients and co-workers outside of their department. They may help explain to a client how to solve technology problems or work with executives and business owners to construct a technology plan that will meet their business needs. Database A database is simply an organized collection of related data, typically stored on disk, and accessible by possibly many concurrent users. Databases are generally separated into application areas. For example, one database may contain Human Resource (employee and payroll) data; another may contain sales data; another may contain accounting data; and so on. Databases are managed by a DBMS. DBMS A Database Management System (DBMS) is a set of programs that manages any number of databases. A DBMS is responsible for:

accessing data inserting, updating, and deleting data security integrity, facilitated by: o locking o logging o application-defined rules, including triggers supporting batch and on-line programs facilitating backups and recoveries optimizing performance maximizing availability maintaining the catalog and directory of database objects managing the buffer pools acting as an interface to other systems programs

supporting user interface packages, such as the popular SQL interface for relational database systems

There are 3 traditional types of database management systems: hierarchical, relational, and network. Current popular database systems include Oracle; Sybase(same as Microsoft's SQL Server but on a different platform); IBM's DB2, IMS, and SQL/DS; Ingres; Informix; and smaller, but reasonably powerful off-the-shelf products such as dBase, Access, Foxpro, Paradox, and dozens of others. The choice of a database product is often influenced by factors such as:

the computing platform (i.e., hardware, operating system) the volume of data to be managed the number of transactions required per second existing applications or interfaces that an organization may have support for heterogeneous and/or distributed computing cost vendor support

Object-oriented database systems are currently in development. They allow us to model and manipulate complex data structures and objects, and hence support many new applications, including CAD/CAM. As of 1996, objectoriented databases represent a very small segment of the commercial market (perhaps 1%). It is interesting to note that some major DBMS vendors are starting to support complex objects (such as images) in their relational products. SQL Structured Query Language is perhaps the most common way to extract data from a relational database system. The (simplified) format is:
SELECT FROM WHERE field name(s) database's table name(s) conditional clause

For example, to find all professors earning more than $75,000, a suitable query might be:
SELECT FROM WHERE name, salary payroll job = 'Professor' and salary > 75000

A database model is a type of data modelthat determines the logical structure of adatabase and fundamentally determines in which manner data can be stored, organized, and manipulated. The most popular example of a database model is the relational model, which uses a table-based format. Common logical data models for databases include:

Hierarchical database model Network model Relational model

Hierarchical model[edit]

Hierarchical Model.

Main article: Hierarchical model In a hierarchical model, data is organized into a tree-like structure, implying a single parent for each record. A sort field keeps sibling records in a particular order. Hierarchical structures were widely used in the early mainframe database management systems, such as theInformation Management System (IMS) by IBM, and now describe the structure of XML documents. This structure allows one one-to-many relationship between two types of data. This structure is very efficient to describe many relationships in the real world; recipes, table of contents, ordering of paragraphs/verses, any nested and sorted information. This hierarchy is used as the physical order of records in storage. Record access is done by navigating through the data structure usingpointers combined with sequential accessing. Because of this, the

hierarchical structure is inefficient for certain database operations when a full path (as opposed to upward link and sort field) is not also included for each record. Such limitations have been compensated for in later IMS versions by additional logical hierarchies imposed on the base physical hierarchy.

Network model[edit]

Network Model.

Main article: Network model The network model expands upon the hierarchical structure, allowing many-to-many relationships in a tree-like structure that allows multiple parents. It was the most popular before being replaced by the relational model, and is defined by the CODASYL specification. The network model organizes data using two fundamental concepts, called records and sets. Records contain fields (which may be organized hierarchically, as in the programming language COBOL). Sets (not to be confused with mathematical sets) define one-to-many[disambiguation needed] relationships between records: one owner, many members. A record may be an owner in any number of sets, and a member in any number of

sets. A set consists of circular linked lists where one record type, the set owner or parent, appears once in each circle, and a second record type, the

subordinate or child, may appear multiple times in each circle. In this way a hierarchy may be established between any two record types, e.g., type A is the owner of B. At the same time another set may be defined where B is the owner of A. Thus all the sets comprise a general directed graph (ownership defines a direction), ornetwork construct. Access to records is either sequential (usually in each record type) or by navigation in the circular linked lists.

The network model is able to represent redundancy in data more efficiently than in the hierarchical model, and there can be more than one path from an ancestor node to a descendant. The operations of the network model are navigational in style: a program maintains a current position, and navigates from one record to another by following the relationships in which the record participates. Records can also be located by supplying

key values. Although it is not an essential feature of the model, network databases generally implement the set relationships by means of pointersthat directly address the location of a record on disk. This gives excellent retrieval performance, at the expense of operations such as database loading and reorganization. Popular DBMS products that utilized it were Cincom Systems' Total and Cullinet's IDMS. IDMS gained a considerable customer base; in the 1980s, it adopted the relational model and SQL in addition to its original tools and languages. Most object databases (invented in the 1990s) use the navigational concept to provide fast navigation across networks of objects, generally using object identifiers as "smart" pointers to related objects. Objectivity/DB, for instance, implements named one-to-one, oneto-many, many-to-one, and many-to-many named relationships that can cross databases. Many object databases also supportSQL, combining the strengths of both models.

Relational model[edit]

Main article: Relational modelThe relational model was introduced by E.F. Codd in 1970[1] as a way to make database management systems more independent of any particular application. It is a mathematical model defined in terms of predicate logic and set theory, and systems implementing it have been used by mainframe, midrange and microcomputer systems. The products that are generally referred to as relational databases in fact implement a model that is only an approximation to the mathematical model defined by Codd. Three key terms are used extensively in relational database models: relations, attributes, anddomains. A relation is a table with columns and rows. The named columns of the relation are called attributes, and the domain is the set of values the attributes are allowed to take. The basic data structure of the relational model is the table, where information about a particular entity (say, an employee) is represented in rows (also called tuples) and columns. Thus, the "relation" in "relational database" refers to the various tables in the database; a relation is a set of tuples. The columns enumerate the various attributes of the entity (the employee's name, address or phone number, for example), and a row is an actual instance of the entity (a specific employee) that is represented by the relation. As a result, each tuple of the employee table represents various attributes of a single employee. All relations (and, thus, tables) in a relational database have to adhere to some basic rules to qualify as relations. First, the ordering of columns is immaterial in a table. Second, there can't be identical tuples or rows in a table. And third, each tuple will contain a single value for each of its attributes.

A relational database contains multiple tables, each similar to the one in the "flat" database model. One of the strengths of the relational model is that, in principle, any value occurring in two different records (belonging to the same table or to different tables), implies a relationship among those two records. Yet, in order to enforce explicit integrity constraints, relationships between records in tables can also be defined explicitly, by identifying or non-identifying parent-child relationships characterized by assigning cardinality (1:1, (0)1:M, M:M). Tables can also have a designated single attribute or a set of attributes that can act as a "key", which can be used to uniquely identify each tuple in the table. A key that can be used to uniquely identify a row in a table is called a primary key. Keys are commonly used to join or combine data from two or more tables. For example, an Employee table may contain a column named Location which contains a value that matches the key of a Location table. Keys are also critical in the creation of indexes, which facilitate fast retrieval of data from large tables. Any column can be a key, or multiple columns can be grouped together into a compound key. It is not necessary to define all the keys in advance; a column can be used as a key even if it was not originally intended to be one. A key that has an external, real-world meaning (such as a person's name, a book's ISBN, or a car's serial number) is sometimes called a "natural" key. If no natural key is suitable (think of the many people named Brown), an arbitrary or surrogate key can be assigned (such as by giving employees ID numbers). In practice, most databases have both generated and natural keys, because generated keys can be used internally to create links between rows that cannot break, while natural keys can be used, less reliably, for searches and for integration with other databases. (For example, records in two independently developed databases could be matched up by social security number, except when the social security numbers are incorrect, missing, or have changed.) The most common query language used with the relational model is the Structured Query Language (SQL).

2-tier architecture

In 2-tier, the application logic is either buried inside the User Interface on the client or within the database on the server (or both). With two tier client/server architectures (see Two Tier Software Architectures), the user system interface is usually located in the user's desktop environment and the database management services are usually in a server that is a more powerful machine that services many clients 3-tier architecture In 3-tier, the application logic (or) process lives in the middle-tier, it is separated from the data and the user interface. 3-tier systems are more scalable, robust and flexible. In addition, they can integrate data from multiple sources. In the three tier architecture, a middle tier was added between the user system interface client environment and the database management server environment. There are a variety of ways of implementing this middle tier, such as transaction processing monitors, message servers, or application servers. The middle tier can perform queuing, application execution, and database staging. For example, if the middle tier provides queuing, the client can deliver its request to the middle layer and disengage because the middle tier will access the data and return the answer to the client The most basic type of three tier architecture has a middle layer consisting of Transaction Processing (TP) monitor technology. The TP monitor technology is a type of message queuing, transaction scheduling, and prioritization service where the client connects to the TP monitor (middle tier) instead of the database server. The transaction is accepted by the monitor, which queues it and then takes responsibility for managing it to completion, thus freeing up the client.
All projects are broadly divided into two types of applications 2 tier and 3 tier architecture. Basically high level we can say that 2-tier architecture is Client server application and 3-tier architecture is Web based application. Below I am concentrating on the difference between

Two-Tier and Three-Tier Architecture, what all advantages, disadvantages and practical examples.

Two-Tier Architecture:
The two-tier is based on Client Server architecture. The two-tier architecture is like client server application. The direct communication takes place between client and server. There is no intermediate between client and server. Because of tight coupling a 2 tiered application will run faster.

Two-Tier Architecture

The above figure shows the architecture of two-tier. Here the direct communication between client and server, there is no intermediate between client and server. Lets take a look of real life example of Railway Reservation two-tier architecture: Lets consider that first Person is making Railway Reservation for Mumbai to Delhi by Mumbai Express at Counter No. 1 and at same time second Person is also try to make Railway reservation of Mumbai to Delhi from Counter No. 2

If staff from Counter No. 1 is searching for availability into system & at the same staff from Counter No. 2 is also looking for availability of ticket for same day then in this case there is might be good change of confusion and chaos occurs. There might be chance of lock the Railway reservation that reserves the first. But reservations can be making anywhere from the India, then how it is handled? So here if there is difference of micro seconds for making reservation by staff from Counter No. 1 & 2 then second request is added into queue. So in this case the Staff is entering data to Client Application and reservation request is sent to the database. The database sends back the information/data to the client. In this application the Staff user is an end user who is using Railway reservation application software. He gives inputs to the application software and it sends requests to Server. So here both Database and Server are incorporated with each other, so this technology is called as Client-Server Technology. The Two-tier architecture is divided into two parts: 1) Client Application (Client Tier) 2) Database (Data Tier) On client application side the code is written for saving the data in the SQL server database. Client sends the request to server and it process the request & send back with data. The main problem of two tier architecture is the server cannot respond multiple request same time, as a result it cause a data integrity issue. Advantages: 1. Easy to maintain and modification is bit easy 2. Communication is faster Disadvantages: 1. In two tier architecture application performance will be degrade upon increasing the users. 2. Cost-ineffective

Three-Tier Architecture:
Three-tier architecture typically comprise a presentation tier, a business or data access tier, and a data tier. Three layers in the three tier architecture are as follows: 1) Client layer 2) Business layer 3) Data layer 1) Client layer: It is also called as Presentation layer which contains UI part of our application. This layer is used for the design purpose where data is presented to the user or input is taken from the user. For example designing registration form which contains text box, label, button etc. 2) Business layer: In this layer all business logic written like validation of data, calculations, data insertion etc. This acts as a interface between Client layer and Data Access Layer. This layer is also called the intermediary layer helps to make communication faster between client and data layer. 3) Data layer: In this layer actual database is comes in the picture. Data Access Layer contains methods to connect with database and to perform insert, update, delete, get data from database based on our input data.

Three-tier Architecture

Advantages 1. High performance, lightweight persistent objects 2. Scalability Each tier can scale horizontally 3. Performance Because the Presentation tier can cache requests, network utilization is minimized, and the load is reduced on the Application and Data tiers. 4. High degree of flexibility in deployment platform and configuration 5. Better Re-use 6. Improve Data Integrity 7. Improved Security Client is not direct access to database. 8. Easy to maintain and modification is bit easy, wont affect other modules 9. In three tier architecture application performance is good. Disadvantages 1. Increase Complexity/Effort This is the common Question asked in the Interview. Hope this article helped you understanding Two-Tier and Three-Tier Architecture with

example. Thanks and Happy Testing!!!

The systems development life cycle (SDLC), also referred to as the application development life-cycle, is a term used in systems engineering, information systemsand software engineering to describe a process for planning, creating, testing, and deploying an information system.[1] The systems development life-cycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both.

he SDLC process was designed to ensure end-state solutions meet user requirements in support of business strategic goals and objectives. In addition, the SDLC also provides a detailed guide to help Program Managers with ALL aspects of IT system development, regardless of the system size and scope. The SDLC contains a comprehensive checklist of the rules and regulations governing IT systems, and is one way to ensure system developers comply with all applicable Government regulations, because the consequences of not doing so are high and wide ranging. This is especially true in the post 9/11 environment where larger amounts of information are considered sensitive in nature, and are shared among commercial, international, Federal, state, and local partners. The seven-step process contains a procedural checklist and the systematic progression required to evolve an IT system from conception to disposition. The following descriptions briefly explain each of the seven phases of the SDLC:

1. Conceptual Planning. This phase is the first step of any system's life cycle. It is during this phase that a need to acquire or significantly enhance a system is identified, its feasibility and costs are assessed, and the risks and various project-planning approaches are defined. Roles and responsibilities for the Asset Manager, Sponsor's Representative, System Development Agent (SDA), System Support Agent (SSA), and other parties in SDLC policy are designated during this stage and updated throughout the system's life cycle. 2. Planning and Requirements Definition. This phase begins after the project has been defined and appropriate resources have been committed. The first portion of this phase involves collecting, defining and validating functional, support and training requirements. The second part is developing initial life cycle management plans, including project planning, project management, Configuration Management (CM), support, operations, and training management. 3. Design. During this phase, functional, support and training requirements are translated into preliminary and detailed designs. Decisions are made to address how the system will meet functional requirements. A preliminary (general) system design, emphasizing the functional features of the system, is produced as a high-level guide. Then a final (detailed) system design is produced that expands the design by specifying all the technical detail needed to develop the system. 4. Development and Testing. During this phase, systems are developed or acquired based on detailed design specifications. The system is validated through a sequence of unit, integration, performance, system, and acceptance testing. The objective is to ensure that the system functions as expected and that sponsor's requirements are satisfied. All system components, communications, applications, procedures, and associated documentation are eveloped/acquired, tested, and integrated. This phase requires strong user participation in order to verify thorough testing of all requirements and to meet all business needs. 5. Implementation. During this phase, the new or enhanced system is installed in the production environment, users are trained, data is converted (as needed), the system is turned over to the sponsor, and business processes are evaluated. This phase includes efforts required to implement, resolve system problems identified during the implementation process, and plan for sustainment. 6. Operations and Maintenance. The system becomes operational during this phase. The emphasis during this phase is to ensure that sponsor needs continue to be met and that the system continues to perform according to specifications. Routine hardware and software maintenance and upgrades are performed to ensure effective system operations. User training continues during this phase, as needed, to acquaint new users to the system or to introduce new features to current users. Additional user support is provided, as an ongoing activity, to help resolve reported problems. 7. Disposition. This phase represents the end of the system's life cycle. It provides for the systematic termination of a system to ensure that vital information is preserved for

potential future access and/or reactivation. The system, when placed in the Disposition Phase, has been declared surplus and/or obsolete and has been scheduled for shutdown. The emphasis of this phase is to ensure that the system (e.g., equipment, parts, software, data, procedures, and documentation) is packaged and disposed of in accordance with appropriate regulations and requirements.

Вам также может понравиться