Saturday, November 17, 2007

SE Assignment2- Video Rental System

VIDEO RENTAL SYSTEM.




















SUMMARY OF ACTIVITIES OF CUSTOMER VIDEO RENTAL SYSTEM.

Customers apply for an Electronic video rental card. They fill out a form and provide a means of verifying their identity. They are issued an Electronic video rental card.

Customers rent videos by giving their Electronic card and the video cassettes. The clerk totals the amount of the rental, which is received from the customers. Customers are given a receipt with the due date on it. A record is created for each item rented.

Customers return video cassettes or video games. If the video is returned late, a note and the amount of the fee is made on the record.

The company has several special policies designed to provide a competitive edge in the video rental market. Once a month, the customer rental records are reviewed for customers who have rented more than the bonus level, currently set at Rs 500. Bonus customers are sent a letter thanking them for their business as well as issuing them several free rental coupons (depending on the amount of rental for the month)

Once a year, the customer records are examined for customers who have rented more than a yearly bonus level (currently at Rs1000). A letter, free rental coupons, and a certificate for a free video (if the customer has rented over two times the bonus level) are sent to the customer.

The customer video card system is a system whereby the customer should have an electronic video card to be able to rent videos. This card contains several important information about the customer: ID number, Name, Telephone Number, card expiry date. The user and the electronic card are the inputs taken from the external environment.

Besides, the sub components are the sensor, actuator, computation, communication, coordination and user interface. All Emergent property is known only when all the component of the system is assembled. So, the emergent property of this video rental system is renting the video.

Relationship between the components such as date of rent and date of return.
Integration of component is if the date of rent 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; renewing the video rental date.


Non-functional property is the reliability, performance, safety and security of the library system.
Reliability:
The system must be reliable in order to enable the proper function of all parts of the system. It will not allow intruder to enter the system using the electronic card, as it verifies if the member exists or already expired.

Performance:
Performance must be at its maximum else system will be accessible to its users if it is too slow.

Safety and Security:
The system must also ensure safety and security for those using it.
The Electronic video card consists of a security code which only the user knows. In case of lost of the code, the system automatically blocked the access of the member who possesses this card.

Source of input from the environment:
The user/ customer (who will determine the existence of the system).



THE COMPONENTS

1. SENSOR COMPONENTS:
This component collects information from the system’s environment. The sensor components of the Video Rental System are the electronic card, where the barcode is used to detect the user and allow access.

2. ACTUATOR COMPONENTS:
Through this component there are changes in the system environment. Customers can search for video cassettes of their choice.

3. COMPUTATION COMPONENTS:
Calculations are performed to result in various outputs. For example if the rental date exceeds the return date, then a fine is calculated.
Example: Suppose the return date is 25/11/2007 and the customer exceeds it by five days that is the 30th. Then a fine of Rs25 per exceeded day will be charged, therefore Rs25 * by 5 days = Rs 125.

4. Communication Components:
This component allows other system component to communicate with each other.Moreover; this is more exposed to management dept.
After scanning the Electronic card the customer access control will generate a message: “Thanks to be our Customer” or “Try Again Please”.

5. Coordination Components:
Other components are linked with the coordination. When a customer has selected his video cassette, all information about his/ her ID, Name, Address, Title of Video Cassette, Date of Expiry are automatically stored in the video system database.

Saturday, October 6, 2007

Software Engineering Assignment 1

1.System Software

System software is a generic term referring to any computer software which manages and controls the hardware so that application software can perform a task. It is an essential part of the computer system. An operating system is an obvious example, while an OpenGL or database library are less obvious examples. System software contrasts with application software, which are programs that help the end-user to perform specific, productive tasks, such as word processing or image manipulation.
.Systems software – a set of programs that organise, utilise and control hardware in a computer system


Notes http://en.wikipedia.org/wiki/System_software
Diagram http://www.depts.alverno.edu/cil/mod1/software/system.html



2.Business Software

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 suites 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 resources 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 resource 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

Notes http://en.wikipedia.org/wiki/Business%5Fsoftware


3. Embedded software

A software system that permanently resides in a device whose operations it controls. Typically, an embedded system is a special-purpose computer system designed to perform one or a few dedicated functions.[1] It is usually embedded as part of a complete device including hardware and mechanical parts. 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

Notes : http://en.wikipedia.org/wiki/Embedded_system


4. Web application

In software engineering, a Web application or webapp is an application that is accessed via web over a network such as the Internet or an intranet.
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.
Notes: http://en.wikipedia.org/wiki/Web_application

5. Real time software

In computer science, real-time computing (RToC) is the study of hardware and software systems which are subject to a "real-time constraint"—i.e., operational deadlines from event to system response. By contrast, a non-real-time system is one for which there is no deadline, even if fast response or high performance is desired or even preferred. The needs of real-time software are often addressed in the context of real-time operating systems, and synchronous programming languages, which provide frameworks on which to build real-time application software.
A real time system may be one where its application can be considered (within context) to be mission critical. The anti-lock brakes on a car are a simple example of a real-time computing system — the real-time constraint in this system is the short time in which the brakes must be released to prevent the wheel from locking. Real-time computations can be said to have failed if they are not completed before their deadline, where their deadline is relative to an event. A real-time deadline must be met, regardless of system load.

Notes : http://en.wikipedia.org/wiki/Real-time_computing



6. Engineering/ Scientific Software

Software engineering is the profession that creates and maintains software applications by applying technologies and practices from computer science, project management, engineering, application domains, and other fields.
Software is the set of directions that enables computer hardware to perform useful work. In the last decades of the twentieth century, cost reductions in computer hardware led to software becoming a ubiquitous component of the devices used by industrialized societies.
Software engineering, like traditional engineering disciplines, deals with issues of cost and reliability. Some software applications contain millions of lines of code that are expected to perform properly in the face of changing conditions.
As of 2002, the U. S. Bureau of Labor Statistics counts 675,000 computer software engineers holding jobs in the U.S., and there are estimated to be about one-and-a-half million practitioners in the E.U., Asia, and elsewhere; these figures are about 60% of the number of practitioners engaged in traditional engineering. SE pioneers include Barry Boehm, Fred Brooks, C. A. R. Hoare, and David Parnas. There is extensive debate about what SE is, who qualifies as an SE, who sets the standards, etc.

Notes : http://en.wikipedia.org/wiki/Software_engineering/Rework



7. Artificial Intelligence

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]

Artificial intelligence includes
• Games playing: programming computers to play games such as chess and checkers
• expert systems : programming computers to make decisions in real-life situations (for example, some expert systems help doctors diagnose diseases based on symptoms)
• natural language : programming computers to understand natural human languages
• neural networks : Systems that simulate intelligence by attempting to reproduce the types of physical connections that occur in animal brains
• robotics : programming computers to see and hear and react to other sensory stimuli.

Notes : http://en.wikipedia.org/wiki/Artificial_Intelligence