Sunday, December 9, 2007

Assignment 3

User Requirements Document

Here these user requirements are:

  1. In the beginning, the new member must fill a subscription form with personal and professional information.
    • Payment of Rs300 as an inscription fees must be paid during inscription procedures.
    • A leaflet with conditions of the library is submitted to the new member. These are : maximum of 3 books can be taken, A Rs5 fee per overdue day, must be paid in case of the books are not returned on time, Children under 18 years old should be accompanied and guaranteed by an adult.

  1. After a maximum period of 2 weeks, a personalized electronic card is delivered to the new member by post.

  1. The new member must then go to the library where he will get a username and a password. A guidance form is also available at the library reception which will give instructions of how to use the library card to access the library services, both physically and online.

  1. The following procedures are followed:

Ø The member must enter his username and password on the library computer, or this can also be done online when the user enter the website of the library which is www.library.card.online.com/

Ø Then when access is granted, the user will have to put the number of books he wants to borrow.

Ø He will then need to look for the book he need in the different categories available.

Ø He will only need to select the book and a message box will appear to tell him whether the book is available or not.

In case of book availability, the book will automatically be reserved for this member and he may look for other books on the system.

In case of unavailability of a book, the user will get a message telling him when the book will be available and he will have to look for another book for the time being.

Ø When the user has completed his search of books, a receipt screen appears with details of the date of return, details on books and authors, quantity borrowed.

System Requirements Document

The same architectural design and description as in assignment.

Software Requirement Specifications

Only a personalized electronic card and computer is needed for this system.

Programming language used: C++ and web interface.

Functional requirements:

§ A database shall storing data on books, members and payment of fines.

§ The user must be able to check for availability of books.

§ The library member should be able to search for books, select the book if it is available and borrow it (reservation).

§ The user must receive a receipt of information on the return date of books, number of books borrowed and details on books.

Non-Functional requirements:

  • Store capacity

A backup must be done on the database system on a daily basis, in case of power supply failure or any other problems which may occur. Data can thus be retrieved from the backup.

  • Availability of book

The user may check for the availability of the particular book which he want to borrow, he will be able to borrow it only if the book is available.

  • Save time

The reservation of book can even be performed online, and the user only needs to pick it in the library bringing with him his card and print receipt.

  • Reliability

If a member has already books which he has not yet returned, and if he wants to borrow more books, the system will block the user from borrowing and will ask him to return the books first, for this transaction to be possible.

  • Security

If the user has lost his card, access for entering the system will be denied.

He will need to subscript once again

Constraint

If the user forgets his password, his electronic card will not be valid and he will have to subscribe again.

Domain Requirements

A payment of Rs300 is compulsory for member subscription.

Monday, October 22, 2007

Assignment on Architectural Model of a system



System model hierarchy model is a set of components and relationships. The relationship indicates dataflow between the sub-systems. Here the electronic library card system is a system where we have the member should have an electronic library card in order to borrow a book. This card contains information such as member ID, name, address, expiry date for member.
The inputs taken from external environment are the user and electronic card.

The sub components are the sensor components, actuator components, computation components, communication components, coordination components and user interface components. Emergent property is known only when all the component of the system is assembled. So, the emergent property of this library system is borrowing of book.

Relationship between the components such as date of borrows and date of return.
Integration of component is if the date of borrow exceeds date of return then a fine is charged.

The system consists both of functional properties and no-functional properties. Functional property which is physical or tangible, example; renew the book borrowed.

Non-functional property is the reliability, performance, safety and security of the library system.
Reliability: it will not allow intruder to enter the system using the electronic card, as it verifies if the member exists or already expired.

Performance: the user can search for the books he want and if not available will generate a message to indicate when the book will be available, that is the date on which the previous user I supposed to return it.

Safety: If the user already has a book where the return date is already exceeding, then the member is reliable to pay a fine in order to proceed with further borrowing.

Security: The membership card consists of a security code which only the user knows. In case of lost of the code, the system is automatically blocked the access of the member which possess this card.


1. Sensor Components

It collects information from the system’s environment. The sensor component here is the electronic card where a barcode scanner is used to detect the user and allow access.


2. Actuator Components

These components cause some changes in the system environment. Here, member can search for book he needs to borrow only after the system verifies whether he has a book in due before proceeding. In the case, where the searched book is not available, the date of availability of the book is indicated.


3. Computation Components

Here on the on various inputs computations are performed to result in various outputs.
If the borrow date exceeds the return date, then a fine is calculated on a prorata depending on the number of exceeding number of days.
Example: Due date was on 15 Oct 2007 and the book was returned on the 21 Oct 2007, then the exceeding number of days is 7.
Fine for 1 day = Rs50
In that case, Fine = 7*50 = Rs350.

A receipt with indication of the number of exceeding days, the amount to be paid and a details on the books such as book title, author’s name, due date for return and information about the member is processed.


4. Communication Components

Communication components allow other system components to communicate with each other.
After scanning the electronic card, the access control will generate a message: “Access granted” or “Access denied”.
If a user already has a book due, the system will here too generate a message to alter the borrowing procedure.


5. Coordination Components

These components coordinate the operation of other components.
After the member has selected his books, the useful information such as Member ID, date of borrows title of books taken and date of return will be stored in the library database for this specific member.
And thus these data are also stored on the electronic card through the barcode process.


6. Interface Components

Interface components transform the representation used by one system component into a representation used by another component.
Here this digital information is generated into human language English or French. The information about date of borrow and return date is indicated to the user with a print out which is tagged on the book.

Saturday, October 6, 2007

Assignment on Software

1.System Software
In our opinion, Systems software is a set of programs that organise, utilise and control hardware in a computer. This is a collection of programs written to service other programs.
Examples of Systems software: Assembler, Debugger, compilers, loaders, linkers, Operating System components, drivers, telecommunication processors, utilities…etc

From other source, we found that it is program used to control the computer and develop and run application programs.

Sources: http://en.wikipedia.org/wiki/System_software, http://www.techweb.com/encyclopedia/defineterm.jhtml?term=systemsoftware and from a book.


2.Real-time Software:

We have found that real-time software is used to monitors, analyses, and controls real- world events.
It thus has the following functions:
Data gathering components,
Analysis Component,
Control/Output component,
Monitoring component which means its coordinates all components so that real-time response can be maintained.

The Real-time Software Package includes the following program segments. They can be turned on or off to meet a customer’s specific requirements.

Examples are:
Financial/Accounting Management, Manufacturing Management, Distribution Management, Analysis, Support Applications

Sources: http://www.realtimesw.com/ and book notes


3.Business Software:

We believe that business software is any software program that helps a business to increase productivity or measure their productivity. It can be categorized as follows:
Small business: The small business market generally consists of home accounting software, and office suites such as Microsoft Office and OpenOffice.org.

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

Large business :The last segment covers enterprise level software applications, such as those in the fields of enterprise resource planning, enterprise content management (ECM), business process management and product lifecycle management.
As per our research we have learnt that technologies that have previously only existed in peer-to-peer software applications, like Kazaa and Napster, are starting to feature within business applications.

Sources : http://en.wikipedia.org/wiki/Business_software



4.Engineering & Scientific Software:

We have found that it is a program which perform “number-crunching” algorithm for Astronomy, Volcanology, Automotive stress analysis, orbital dynamics, molecular biology and other many examples.

CAD and System Simulation has some real-time and even system software characteristics.

Sources: Notes from a book


5.Embedded Software:
As to our opinion, embedded system is a special-purpose computer system designed to perform one or a few dedicated functions. It is usually embedded as part of a complete device including hardware and mechanical parts.
It resides in the read-only memory and is used to control products and sysytems for consumer and industrial markets.However, it can perform very limited and esoteric functions.
In contrast, a general-purpose computer, such as a personal computer, can do many different tasks depending on programming. Since the embedded system is dedicated to specific tasks, design engineers can optimize it, reducing the size and cost of the product, or increasing the reliability and performance. Some embedded systems are mass-produced, benefiting from economies of scale.

Examples of embedded systems are:

Audio like mp3 players and telephone switches for interactive voice response systems
Avionics, such as inertial guidance systems, flight control hardware/software and other integrated systems in aircraft and missiles
Cellular telephones and telephone switches
Electric or Electronic Motor controller for Brushless DC motors, Induction motors and DC Motors
Engine controllers and antilock brake controllers for automobiles
Home automation products, such as thermostats, air conditioners, sprinklers, and security monitoring systems
Handheld calculators
Household appliances, including microwave ovens, washing machines, television sets, DVD players and recorders
Medical equipment
Personal digital assistant
Videogame consoles
Computer peripherals such as routers and printers
Industrial controllers for remote machine operation
Digital musical instruments (digital synthesizers and digital pianos).
Security applications such as DVR and video server.

Sources: http://en.wikipedia.org/wiki/Embedded_software


6.Personal Computer Software:
A personal computer software is a subclass of computer software that employs the capabilities of a computer directly and thoroughly to a task that the user wishes to perform. This should be contrasted with system software which is involved in integrating a computer's various capabilities, but typically does not directly apply them in the performance of tasks that benefit the user. In this context the term application refers to both the application software and its implementation.
A simple, if imperfect analogy in the world of hardware would be the relationship of an electric light bulb (an application) to an electric power generation plant (a system). The power plant merely generates electricity, not itself of any real use until harnessed to an application like the electric light that performs a service that benefits the user.
Typical examples of software applications are word processors, spreadsheets, and media players.
Multiple applications bundled together as a package are sometimes referred to as an application suite. Microsoft Office and OpenOffice.org, which bundle together a word processor, a spreadsheet, and several other discrete applications, are typical examples. The separate applications in a suite usually have a user interface that has some commonality making it easier for the user to learn and use each application. And often they may have some capability to interact with each other in ways beneficial to the user. For example, a spreadsheet might be able to be embedded in a word processor document even though it had been created in the separate spreadsheet application.
User-written software tailors systems to meet the user's specific needs. User-written software include spreadsheet templates, word processor macros, scientific simulations, graphics and animation scripts. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is.

Examples:
Word processing, Spreadsheets, computer graphics, mutimedia, entertainment, database management, personal and business financial applications, external network, database access.
Sources : http://en.wikipedia.org/wiki/Application_software and book notes

7.Web-based Software:
We may define a web-based sofware as an application that is accessed via web over a network such as the Internet or an intranet.
It is web-pages which contain executable instructions such as Perl, Java, ASP, PHP, and others.Another definition can be a collection of “executable” web pages.
Web applications are popular due to the ubiquity of a client, sometimes called a thin client. The ability to update and maintain Web applications without distributing and installing software on potentially thousands of client computers is a key reason for their popularity. Web applications are used to implement Webmail, online retail sales, online auctions, wikis, discussion boards, Weblogs, MMORPGs and many other functions.

Sources: http://en.wikipedia.org/wiki/Web_application and book notes



8.Artificial Intelligence Software:

The modern definition of artificial intelligence (or AI) is "the study and design of intelligent agents" where an intelligent agent is a system that perceives its environment and takes actions which maximizes its chances of success.[1][2][3] John McCarthy, who coined the term in 1956,[4] defines it as "the science and engineering of making intelligent machines."[5] Other names for the field have been proposed, such as computational intelligence,[2] synthetic intelligence[2][6] or computational rationality.[7] The term artificial intelligence is also used to describe a property of machines or programs: the intelligence that the system demonstrates.
AI research uses tools and insights from many fields, including computer science, psychology, philosophy, neuroscience, cognitive science, linguistics, operations research, economics, control theory, probability, optimization and logic.[8] AI research also overlaps with tasks such as robotics, control systems, scheduling, data mining, logistics, speech recognition, facial recognition and many others.[9]

Typical problems to which AI methods are applied
· Pattern recognition
· Optical character recognition
· Handwriting recognition
· Speech recognition
· Face recognition
· Artificial Creativity
· Computer vision, Virtual reality and Image processing
· Diagnosis (artificial intelligence)
· Game theory and Strategic planning
· Game artificial intelligence and Computer game bot
· Natural language processing, Translation and Chatterbots
· Non-linear control and Robotics

Sources : http://en.wikipedia.org/wiki/Artificial_intelligence