We can’t run the modern world without software. National infrastructures and utilities are controlled by computer-based systems and most electrical products include a computer and controlling software. Industrial manufacturing and distribution is completely computerized, as is the financial system. Entertainment, including the music industry, computer games, and film and television, is software intensive. Therefore, software engineering is essential for the functioning of national and international societies. Software systems are abstract and intangible. They are not constrained by the properties of materials, governed by physical laws, or by manufacturing processes. This simplifies software engineering, as there are no natural limits to the potential of software. However, because of the lack of physical constraints, software systems can quickly become extremely complex, difficult to understand, and expensive to change. There are many different types of software systems, from simple embedded systems to complex, worldwide information systems. It is pointless to look for universal notations, methods, or techniques for software engineering because different types of software require different approaches. Developing an organizational information system is completely different from developing a controller for a scientific instrument. Neither of these systems has much in common with a graphics-intensive computer game. All of these applications need software engineering; they do not all need the same software engineering techniques. There are still many reports of software projects going wrong and ‘software failures’. Software engineering is criticized as inadequate for modern software development. However, in my view, many of these so-called software failures are a consequence of two factors:
Read MoreProgramming languages are notations for describing computations to people and to machines. The world as we know it depends on programming languages, because all the software running on all the computers was written in some programming language. But, before a program can be run, it first must be translated into a form in which it can be executed by a computer. The software systems that do this translation are called compilers. This book is about how to design and implement compilers. We shall discover that a few basic ideas can be used to construct translators for a wide variety of languages and machines. Besides compilers, the principles and techniques for compiler design are applicable to so many other domains that they are likely to be reused many times in the career of a computer scientist. The study of compiler writing touches upon programming languages, machine architecture, language theory, algorithms, and software engineering.
Read MoreE-government is the use of information and communications technologies (ICT) to transform the traditional government by making it accessible, transparent, effective and accountable. E-government does not mean putting more computers on the desks of government officials. And e-government is more than just a government website on the Internet. Political, social, economic and technological aspects determine egovernance. It establishes a relationship between government officials and citizens, providing greater access to government information and services by making the government accessible online; promoting citizen participation by enabling citizens to interact more conveniently with government officials, such as by requesting government service and filing required documents through website; increasing government accountability by making its operations more transparent, thereby reducing the opportunities for corruption; and supporting development goals by providing business, rural and traditionally underserved communities with information, opportunities and communications capabilities. E-government is not only used in developed countries. Some of the most innovative uses of the Internet in governance are being successfully used in the developing countries, as well.
Read More1. HTTP Protocol HTTP is the foundation of data communication for the in the World Wide Web HTTP functions as a request-response protocol in the client-server computing Model. In HTTP, a web browser for example, acts as a client, while an application running on a computer hosting a website functions as a server. The client submits an HTTP request message to the server. The server, which stores content, or provides resources, such as HTML files or performs other functions on behalf of the client, returns a response message to the client. A response contains completion status information about the request and may contain any content requested by the client in its message body. It is a stateless protocol, you send request and it responds does not maintain any state. To maintain the state, we can use a) Session Object in the server side b) Cookies in the client side. c) Hidden variables in the form 2. Static and Dynamic Pages Static Web Pages A static web page (sometimes called a flat page) is a web page that is delivered to the user exactly as stored, in contrast to dynamic web pages which are generated by a web application. Consequently a static web page displays the same information for all users, from all contexts, subject to modern capabilities of a web server to negotiate content-type or language of the document where such versions are available and the server is configured to do so. Static web pages are often HTML documents stored as files in the file system and made available by the web server over HTTP.
Read MoreTechnical communication begins with analyzing the intended readers, called the audience. Technical writers answer the following questions to analyze their audience before they begin writing: What does the audience already know? What does the audience want to know? What does the audience intend to do with the information? In communication, the 'audience' is the person or group of people whom you expect to read your information. Even though writers do not know exactly who will read their documents, they can usually define an intended audience as technical, semi-technical, or nontechnical. Technical audience: Technical audience includes those with technical experience and training, such as technicians and engineers. A technical audience understands fundamental concepts and jargon without definitions or background information. Readers expect the writers to use technical language efficiently and appropriately. For this audience, writers use technical terms and precise data to convey information. Semi-technical audience: Semi-technical audience has some technical training or works in the industry, but not directly in the field or related technical areas. This audience needs some explanations of concepts, abbreviations, and jargon. Writers use technical terms only if they are common in the company or industry. This audience might need an orientation to the subject and explanation or interpretation of the terms and information.
Read More