Saturday, October 6, 2007

First Assignment on software engineering

System Software

As per our study, system software is a general term referring to any computer software, which manages and controls the hardware so that application software can perform a task.
System software can be subdivided into system management programs and system development programs. System management programs manage the hardware, software, network and data resources of a computer system during its execution of information processing jobs. Example of systems management programs are operating systems, network management programs, database management systems, system utilities, application servers and performance and security monitors. System development program like translators and programming editors help programmers develop computer programs to support business process.


Real Time Software

A system is said to be real time if the total correctness of an operation depends not only upon its logical correctness, but also upon the time in which it is performed. There are two types of real time systems, which are the hard real time system and soft real time system. In a hard real time system, the completion of an operation after its deadline is considered useless. For example, a car engine control system is a hard real time system because a delayed signal may cause engine failure or damage. Other example of hard real-time embedded system includes medical systems such as heart pacemakers, that is, the pacemaker is responsible to a particular node in the heart. If the node is not working, then the pacemaker stimulates the heart to regulate heartbeats.

On the other hand, if an operation is completed after its deadline, a soft real time system will tolerate such lateness. For example, the software that maintains and updates the flight plans for commercial airlines. These can operate to a latency of seconds.
Thus, we conclude that real-time software operates in a time-compressed, real-world environment. Although most software is in some sense real-time, since the users of modern software are usually interacting with it via a GUI, real-time software typically has much shorter time constraints. For example, software that controls a nuclear reactor must make decisions and react to its environment in minuscule fractions of a second.

Business Software

We also found that business software is generally any software program, that helps a business increase productivity or measure their productivity. The term covers a large variation of uses within the business environment, and can be categorized by using a small, medium and large matrix:
The small business market generally consists of home accounting software, and office suite such as Microsoft Office and Openoffice.org.

The medium size, or SME, has a broader range of software applications, ranging from accounting, groupware, customer relationship management, human resource software, loan origination software, shopping cart software, field service software, and other productivity enhancing applications.

The last segment covers enterprise level software applications, such as those in the fields of enterprise resources planning, enterprise content management (ECM), business process management and product lifecycle management. These applications are extensive in scope, and often come with modules that either add native functions, or incorporate the functionality of third-party software programs.
Now, technologies that have previously only existed in peer to peer software applications, like Kazaa and Napster, are starting to feature within business applications. JXTA is an open source platform that enables the creation of machine and language neutral applications. Peer based applications will be especially useful for aggregating the information at the edge of the network that currently resides in the neurons of the users themselves.


Engineering/Scientific Software

According to our study, scientific and engineering software satisfies the needs of a scientific or engineering user to perform enterprise-specific tasks. Because scientific and engineering tasks tend to be very enterprise-specific, there has been no generalization of this application area analogous to that of the ERP for back office business systems. The scientific-engineering application usually is considered to be in second place only to business software in terms of software products built.
We found many examples of Engineering/Scientific Software; they are Medical software, Neural networking software, modeling and simulation software, Computer aided design(CAD), Statistics software.

Artificial Intelligence

As per us, Artificial Intelligence can be defined as the ability of a computer to behave like a human in all possible ways that is the ability of reasoning, thinking, learning from past experience and it is programmed mainly in languages such as LISP and Prolog. In other word it responds to stimuli just as a human being, some examples of Artificial Intelligence are games (chess) playing with a computer, which can easily defeat a human; the trick behind is that the computer remembers all the moves of the player and uses it to defeat the player. An expert system is another listed Artificial Intelligence, which helps doctors to diagnose diseases based on symptoms presented by the patient.

Moreover, Heuristic classification is one of the most feasible kinds of expert system given is to put some information in one of a fixed set of categories using several sources of information. An example is advising whether to accept a proposed credit card purchase. Information is available about the owner of the credit card, his record of payment and also about the item he is buying and about the establishment from which he is buying it (whether there have been previous credit card frauds at this establishment). Natural Language processing machine is another type of Artificial Intelligence where computers understand human language such as vocabulary, rules of grammar and syntax.
We consider Computer Vision Pattern Recognition as another form of artificial Intelligence, which recognizes patterns using cameras for eyes, microphones for ears and also Optical Character Recognition (OCR). The fields in which it used are satellite photo interpretation, facial characteristics detection, digital searching of videos, based on content, obstacle detection systems for aircraft navigation and automatic analysis of multi-dimensional radiological images

Web application

After our research, we concluded that a web application can be said to be an application that is accessed via web over a network such as the Internet or an intranet where users can create, manipulate, and permanently store data. It requires a web browser such as Internet Explorer, enabling the users to access the application from almost any computer and data can be shared regardless of location but response time of the application is dependent on the connection speed such as the type of connection for dial-up or DSL. Moreover, we found that web application requires each user to uniquely identify themselves to the system, typically through a username and password. This give an aspect of personalized functionality based on roles and privileges. We have understood that a web application can be classified as a three-tier structure, comprising a User Service tier (allowing user access to the application), a Business Service tier (allowing the user to carry out complex activities) and a Data Service tier (which allows data storage and retrieval). The flow of web application is two way traffic, it consists of a user requesting from its browser, at the other end there is a web server forwarding the request to Web Application Servers which in turn process the request searching in the database and completing the transaction sending back the response in the same schema, therefore the user get a response on his monitor. Some of its applications are web mail, online retail sales, online auctions, wikis, discussion boards and web logs and human resources records.


Embedded Software

We tried to defined an embedded system as a specialized computer system that is part of a larger system or machine which is housed on a single microprocessor board with the programs stored in ROM. An embedded system is a specialized program specifically designed for a particular kind of application device, it is very precise in its application.

Embedded systems often reside in machines that are expected to run continuously for years without errors and in some cases recover by themselves if an error occurs. Thus, it is a very precise task and unreliable mechanical moving parts such as switches or buttons are not implemented within it.
One drawback of embedded system is that it lacks tight real time requirements.
Thus all appliances that has a digital interface uses embedded system such a simple watches, VCR, cars, the operating system, industrial machines, automobiles, medical equipment, cameras, household appliances, airplanes, vending machines, toys, traffic lights and as well as the cellular phone.


Reference:

· http://www.britannica.com/eb/article-9009711/artificial-intelligence
· A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence
· Thoughts About Artificial Intelligence. By Marvin Minsky.
· Austin Tate [AIAI, School of Informatics, University of Edinburg]
· AI Journals & Magazines
· The Age of Intelligent Machines. Cambridge, MA: MIT Press.
· http://www.aaai.org/AITopics/html/overview.html
· http://www.singinst.org/overview/whatisthesingularity
· http://www-formal.stanford.edu/jmc
· http://www-formal.stanford.edu/jmc/whatisai/node4.html
· http://www.dilnetpc.com/?gclid=CI_7tYz48Y4CFRu1EAodDA9mKQ
· http://www.ecoscentric.com
· http://www.maxim-ic.com/products/microcontrollers
· http://en.wikipedia.org/wiki/Embedded_system
· http://en.wikipedia.org/wiki/Web_application
· http://www.ladenterprizes.com/whatiswebapp.htm
· http://www.boxesandarrows.com
· http://computing-dictionary.thefreedictionary.com
· http://www.bitpipe.com/tlist/Web-Applications-Software.html
· http://wdvl.com/Authoring
· http://www.acsac.org/2005/tutorials.html
· http://www.desktopscientific.co.za/http://bioinformatics.org/
· http://open-encyclopedia.com/Engineering
· http://en.wikipedia.org/wiki/Business_software
· http://en.wikipedia.org/wiki/Category:System_software

No comments: