Sunday, 21 October 2007

My System

Second assignment for Software Engineering.
For this task, I had identified three projects which I found interesting to elaborate on. Here are these three:

1. Police Information System
2. Animal Breeding System (system at my workplace)
3. SugarCane Field System

After comparing these above listed systems, I finally selected the Police Information System.

THE POLICE INFORMATION SYSTEM

The above mentioned system can be described as follows:
  • phone calls and online posts are recorded on a logging system.
  • these requests are viewed and with the aid of the GPS system, the officers will assign missions to nearest patrol available in the perimeter.
  • communication are made through radio systems from the police station to the patrol cars.
  • if it is a criminal case and if the latter has been caught
  • the fingerprint is sent via the fingerprint live scan mechanism, whereby fp is processed
  • the criminal db is sought and any necessary info are sent to the patrol officers

The Architectural model




Sunday, 7 October 2007

CSAC SE Assignment by Didier Dodin ID 0700222

SOFTWARE ENGINEERING ASSIGNMENT
By Didier Dodin ID 0700222


Intro

Hi all,
So, this is our 1st Assignment from Mr. Sood for SE. For this, we have to define some Software Engineering terms namely: System Software, Real-time software, Business Software, Engineering/Scientific Software, Embedded Software, Artificial Intelligence Software and Web Application Software.

As far as I can remember Sood’s lectures, he always stated that if we have to define a compound term, always split it and give definition to each of them. In this way, we can better understand the term as a whole. Therefore, I’ll try to apply my lecturer’s say. Good luck to myself!!!

System Software

A system is a group of regular interacting or independent items which work together to achieve a common objective while forming a unified whole.

Software is only a set of computer instructions or data.

Therefore, System Software should be some kind of software that interacts with the hardware part of a computer system, which controls and manages it. Operating Systems are good examples of system software, e.g. Of OS are Windows, Linux, OS2, UNIX, and so on.

So, anyone should agree that one of the most important software of a computer system should be SYSTEM SOFTWARE.
----------------------------------------------------------------------------------
Real-time Software (RTS)

Before tackling the term Real time software, let’s see what a Real time system is. Then we’ll understand the type of software that fits into such a system.

An analogy of a real life (non IT system) system could be speedometers (speed gauge) on cars. That is, your car always shows your real speed at any time. To summarise; such a system processes and produces correct output within a time frame.

These systems are often “mission critical”. Examples of such systems include Security Systems, Smoke detection Systems, Green House Systems (consisting of temperature sensors, water irrigation, etc)

To address to such a system, there will be a need for a Real-time OS and Synchronous Programming Software (which are optimized for programming reactive systems).


Therefore, RTS, for me, is specialized software in which mission critical systems uses, processes data and output accurate information in a dedicated time frame (deadline).
------------------------------------------------------------------------------------------------

Business Software (BS)

At first glance, I would say that BS is software which is used in business or enterprise environment (not for home use). The software should cater for the business needs of the enterprise and help in automation. A simple example can be the use of Microsoft Navision Business Solution (MBS).

The BS may vary from company to company depending on its size. For example, a company may use Microsoft Excel or OpenOffice Calc for its operations, while larger companies would use Navision, Oracle Financial System or AccPacc Accounting System.
------------------------------------------------------------------------------------------------
Engineering/Scientific Software

Most of the definitions were available on Wikipedia.com. But however, this one I didn’t find and neither did my classmates. But I have my own idea on it.

Usually when we talk about the terms like 'engineering' or 'scientific', we all think about COMPLEX formula, calculations, graphs, 3D designs, etc. These softwares usually need powerful hardware and are used in laboratories. An example of a scientific software stated in one of the lectures was MathLab.

So, let’s try to define that.

Engineering/Scientific software is one that has complex and advanced features that help engineers/scientist perform the previous tasks in an automated way and also provide significant output.
------------------------------------------------------------------------------------------------
Embedded Software (ESo)

My first thought when I heard about Embedded Software was, “Is Windows Embedded one of these?”. At my workplace, I usually configure thin clients to connect to the Terminal Server. These thin clients have Windows Embedded preinstalled. So?

Prior to defining the term ES, let’s see Embedded Systems(ESy).
Embedded Systems (ESy) are those systems which are devised to perform a dedicated task or job. For example, the purpose of voice Recorder is to record meetings/discussions, etc. It is a system that has a specific role and usually consists of microprocessor (mp) or microcontroller (set of mp).

Therefore, the Embedded Software is the driver of the whole system; it consists of special and limited instructions to command the hardware part of the system.

Question: Is BIOS an Embedded System on its own?
------------------------------------------------------------------------------------------------
Artificial Intelligence Software (AIS)

What is Artificial Intelligence all about?
Artificial = made by humans, synthetic, not natural
Intelligence = application of knowledge

Quoted from:
http://privacy.cs.cmu.edu/people/sweeney/aidef.html

"Artificial intelligence is the study of ideas to bring into being machines that respond to stimulation consistent with traditional responses from humans, given the human capacity for contemplation, judgment and intention. Each such machine should engage in critical appraisal and selection of differing opinions within itself. Produced by human skill and labor, these machines should conduct themselves in agreement with life, spirit and sensitivity, though in reality, they are imitations."

Examples of AI applications are listed below (obtained from Wikipedia.com)
Pattern recognition
Optical character recognition
Handwriting recognition
Speech recognition
Face recognition
Evolutionary robotics
Hybrid intelligent system
Intelligent agent
Intelligent control
Litigation

So, AIS is specialized software that has the ability to perform “intelligent” actions and maximize chances of its success in a computer system. AI software also integrates Expert System which helps in the ‘learning’ process.

Since, our lecturer, Mr. Sood has a medical background in IT and talked about TeleSurgery which is a real time system. Could we think, of an AI Surgery System, that could take Surgical operations by themselves, though it concerns human lives.
------------------------------------------------------------------------------------------------
Web Application Software (WAS)

Normally, when we talk about Web, we all know it concerns the Internet.

Quote from: http://www.bitpipe.com/tlist/Web-Applications-Software.html

DEFINITION: Software stored on a server and delivered via the Web based on the web, usually a combination of one or more interactive Web pages that can invoke and integrate Browsers, Active Server Pages (ASP), server-side Visual Basic or Java scripts, Access or SQL Server databases, HTML, XML, Cookies, and/or Component Object Model (COM) objects to create a dynamic website for bidirectional submitting, retrieving, …

Going through this article (definition), it is obvious to consider a WAS as an internet service provided by a system through a server. For example, web pages hosted on servers may use IIS in Windows Server System.

I guess I'm finished.