Saturday, January 10, 2009

Software System Design

SOFTWARE SYSYTEM DESIGN

The term design describes a final system and the process by which it is developed system design ids the solution for how to approach for the creation of the system. It refers to the technical specification that will be applied in implementing the candidate system. It also includes the construction of programs and program testing. Emphasis is gives to translate the performance. The key question here is how the problem should be solved.

The system design is the most creative and challenging phase. The first step is to determine how the output is produced and in what format. Samples of the output and input are presented. Next the input data and master data are to be designed to meet the requirements of the proposed output. The operational phase is handled through program construction testing, including a list of programs needed to meet the system objective and complete documentation.

1. Data Design

A database is a collection of interrelated data stored with minimum redundancy to serve users quickly and efficiently. The general objective is to make the information access easy, quick, inexpensive, and flexible for the user.

As we collect information about what is to be done, we will obviously collect information about what data needs to be entered, stored and printed on the reports. The management of data involves both the definition of structures for the storage of information and a provision of mechanisms for the manipulation of information. The organization of data in a database aims to achieve the following objectives.

Data Integration:

In a database, information from several places coordinated, accessed and operated. In order to achieve the objective of data centralization, links between data must be maintained. Data integration is achieved by using chaining and indexing techniques.

Data Integrity:

This ensures that the data available is always correct and complete. In order to maintain integrity constraints are imposed. Integrity constraints are those restrict data values that are inserted or updated in a database. Some of these are Domain Constraints, Entity Integrity and Validity Integrity.

Each table has its own primary key to uniquely identify the records and it cannot be a null value.

2. Architectural Design

Architectural Design represents the structure of data and program components that are required to build a computer based system. It considers the architectural style that the system will take, the structure and properties of the software components that constitute the system and the interrelationships that occur among all architectural components of a system. Software components include program modules and the various data representations that are manipulated by the program. Here Asp.Net is used as front-end and SQL Server 2005 is used as backend.

3. Interface Design

The user interface used is the active server pages. There are static and dynamic pages that provide information to the user and accept input from the user. The pages are created to provide a user-friendly environment to the users. Necessary directions and help pages are provided to help the users to browse and work in the site. The homepage of the site provides the user with the basic information regarding the site and also useful links that could take the user to the different input forms, category pages, pages that display product details etc. The forms used in the site are static forms that take input from the user and save it in the database. There are forms to register in the site, to log into the site, to enter the product details if a user wants to list an item in auction. Pages are generated to display the product listed for selling in the site. Products are displayed category wise and also pages are generated to display details for a particular product. These pages take the necessary data from the database and display them in a user-friendly manner so that the users can understand easily. The product describing page also provides the facility for a user to place a bid for the item, if it is an auction item and place an order, if it is a quick buy item. But the user need to login before buying or bidding any item in the site. For each user logging in the site, a user specific page is provided that displays the activities and services availed by the user so far in the site. Each time the user buys or bids an item in the site, a page is displayed indicating the user that notification message have been sent to the email-id provided by the user specifying the bidding or buying details. Users are supposed to read the terms and conditions provided in the page before registering in the site.

4. Input Design

The goal of designing input data is to make data entry easy, logical and free from errors as possible. The first step in system design is to design the input and output design in predefined guidelines. The following features have been incorporated into input design.

The input to a system is defined as the information that is to provide to the system that is used for further processing by the system to obtain meaning information that helps in decision-making. The object used while doing input design is controlling the data entered, that is, preventing the entry of invalid data.

The data entered can be classified as:

§ Variable data: - Data that changes for each transaction.

§ Identification data: - Data that identifies the item is being processed.

§ Calculated data: - Data that is calculated from the information available or from currently entered data.

§ Generated data: - Code that is uniquely generated.

It is the process of converting input data to the computer-based data. The accuracy of output depends on the accuracy of input and its processing. The key factors to be considered while designing input are: produce a cost effective method of input, achieve the highest possible level of accuracy and the input is acceptable to and understand by the user using meaningful words. Appropriate error messages are given and user can submit only after entering data.

5. Output Design

For many users output is the main reason to opt for a new system and on which they evaluate the usefulness of the system. Once the output requirements are determined the system designer can decide what to include in the system and how to structure it so that the required output can be produced.

Computer output is the most important and direct sources of information to the user. Efficient, intelligible output design should improve the system’s relationship with the user and help in decision making. The output devices to consider depend on factors such as compatibility of the device with the system; response time requirements expected print quality and number of copied needed.

Output forms are the forms where we can see the output for the respective module. We may also see the outputs in reports. It is the tool for developing, displaying, and printing production-quality reports. It is designed for programmers who are familiar with any database.

The reports often refreshed for every change in the design and the change in the database. We can link the two tables while taking the reports using data reports. We can also create the reports by using SQL queries. Outputs from the system are required to communicate the results of processing to users. Format of outputs are defined during output design. The success of the system depends on how well the output reports are generated.

6. Procedural Design

Procedural design occurs after data, architectural and interfaces designs have been established. The intention is to translate the design model into operational software. To accomplish this, the design must be represented at a level of abstraction that is close to code. Procedural level design establishes the algorithmic detail required to manipulate data structures, effect communication between software components via interfaces, and implement the processing algorithms allocated to each component. It provides a means for accessing whether data structures, interfaces, and algorithms will work. The design for each component, represented in graphical, tabular or text-based notation is the primary work product produced during procedural design.

No comments:

Post a Comment