System Design

System Design (Design Phase Logical & Physical)

The design phase decides how the system will operate, in terms of the hardware, software, and network infrastructure; the user interface, forms, and reports that will be used; and the specific programs, databases, and files that will be needed. Systems design phase can be broken into two phases: logical design and physical design.
Logical Design
The logical design addresses the business aspect of the system, which is independent of any hardware. In this phase, the system analyst uses the information collected earlier to develop a logical design of the information system. It includes the following:
• Database structure: Identifies external entities and relationships through E-R diagrams and normalization. 
Physical Design
The logical design is implemented through the physical design. It identifies the file and database structures, system structure, program structure, and hardware and software necessary to implement the system. They include:

• Database: Implementation of E-R diagram. Defines all tables in the database including field names, field size, data type, keys, validation rules, and so on.
• Files: If the system requires any input or output file, their structures are defined. A file definition includes information such as the record length, field names, field size, field sequence, and so on.
• Data-Entry Forms: Data-entry forms are developed, which defines the relationships of data-entry fields with the file or table-fields. The forms can also be used for displaying data. These forms can be character-based or GUI-based. The analyst defines exactly how each form looks on the computer screen.
• Menus: Menus are designed such that the forms and reports can be accessed and printed according to the business need of the organization. It should also address the security requirement of the organization.
• Reports: Reports are defined, which includes the relationships of the report-fields with the table-fields, any calculations, layout, font type, font size, and so on.
• Systems and Programs: All programs and program modules corresponding to processes are defined through a structured chart. To define the processes performed by a program, the analyst may include data-flow diagrams, flow-charts, and pseudocodes that were used to describe the processes in the analysis phase.
• Programming Languages: Identifies the languages that will be used to code the systems.
• Database System: Identifies the database software that will be used in the system.
• Hardware Platform: Identifies the computer hardware that will be used in various parts of the system.
• Operating Systems: Operating systems that will be used in various parts of the system.
• Network Architecture: Identifies the network architecture of the system.

System Design (General Design Consideration)

Designing an information system requires an understanding of both the business functions you want to model and the database concepts and features used to represent those business functions. It is important to accurately design a system and database to model the business because it can be time consuming to change the design of a database significantly once implemented. A well-designed information system and database also performs better. When designing a database, consider:
  • The purpose of the database and how it affects the design. Create a database plan to fit your purpose.
  • Database normalization rules that prevent mistakes in the database design
  • Protection of your data integrity
  • Security requirements of the database and user permissions
  • Performance needs of the application
  •  Maintenance.
  • Estimating the size of a database.

Form Design Consideration

While designing a form there are several factors that must be considered. Form design is a critical component of user interface design since it is the way people interact with the computer. The proper form design is an extremely important consideration when designing interactive database management systems. The following are a few recommendations for those who want to make user-friendly interfaces:
  • Form Colors – It is important to choose form design colors with good contrast. Keep in mind that some users may be color blind. Bold black font color on gray background is preferred for the boilerplate and black font color on white background is preferred for data. Use form colors to highlight important fields or data in your form designs.
  • Form Fonts – As far as fonts are concerned, the fewer the fonts the better. Fonts without serifs tend to be easier to read. A favorite to use is MS Sans Serif. Avoid using several different font sizes and try to use only one or two. Also, it is suggested to stay away from italics, and underlines. It becomes too distracting.
  • Form Layout – The key to organizing fields on a screen is to group them together by a common entity. For example, you can group Name, Address, etc. together on the form in one section and separate this information from other supporting information in the data record in another section. It is important for you to set the tab order on your form correctly.
  • Form Navigation – When a user views a form, he naturally wants to navigate just about anywhere. It is important to program the form so that the user is able to navigate just about anywhere. A user-friendly pop up message should appear when the user tries any type of illogical navigation.

Screen Layout Design

The screen design is part of the user interface development. It is important to make screen design effective as it plays a key role in system design.
Design Considerations
There are three factors that should be considered for the design of a successful user interface; development factors, visibility factors and acceptance factors.
Development factors help by improving visual communication. These include: platform constraints, tool kits and component libraries, support for rapid prototyping, and customizability.
Visibility factors take into account human factors and express a strong visual identity. These include: human abilities, product identity, clear conceptual model, and multiple representations.
Acceptance factors are an installed base, corporate politics, international markets, and documentation and training.
The use of typography, symbols, colour, and other static and dynamic graphics are used to convey facts, concepts and emotions.

Report Designing

Report styles vary depending on the needs of the consumer and purpose of the report. With so many capabilities in current reporting toolsets, report designers are often prone to add graphics, color and “chrome” wherever they can.
Principles of Report Design
Most all design projects include a balance of three basic principles.
  • Visual design skills.
  • Functional business skills
  • Technical development skills
Styling & Color
Styling and image are more important. Aesthetic form and styling are important elements of design and the degree of importance depends greatly on the audience and business goals of the solution.
Establish Standards before Report Design
Different styles of reports serve different purposes. For example, operational reports are often used to deliver transactional details in textual, columnar format. By contrast, an analytical dashboard is intended to deliver “the big picture” of the business by surfacing aggregate values and exceptions so business leaders can become immediately aware of trends and concerns so they can take appropriate action. Where necessary, users should be able to drill-down, beyond surface metrics to explore details and understand the cause for alert conditions.
Use Subtle Colors for Styling
By using subtle variations of color shades between visual data points, the consumer can easily discern different values and thresholds without unnecessary clutter. 
Use Bold Colors for Alerts & Exceptions
The use of heavy borders, solid black and bold colors – if exceptional – will draw the user’s eye and rise to the surface as important information.
Conclusion
If visual elements, colors, styling features and graphics support these objectives then the design may be sound. Otherwise, too much visual clutter can distract the user from the core message and the most important information on the report. In summary, consider the following guidelines as a checklist for visual report design:
  • Use screen space effectively, leave white space to make the content readable
  • Reduce the noise – bring the most important information to the surface
  • Keep it simple but don’t insult the user’s intelligence by over-simplifying
  • Use color in meaningful context
  • Don’t over-use visuals & metaphors
  • Balance: Form, Fit & Function

Procedure Designing

A well-designed procedure is clear, unambiguous, complete and concise. This means that vocabulary to describe how the task is done is keep simple and terms chosen have only one interpretation. Procedures should cover every eventuality, such as errors that might occur and how to correct them, or directions for shortening procedures or skipping procedural steps when processing exceptional loads or under emergency conditions. All steps of a given procedure should assume the same base level of knowledge or experience on the part of user. When procedures require actions by two or more persons, the boundary and domain should be well defined.When designing procedures, analysts should ask themselves if a given task is one that requires human processing.
During design process, exception of demeaning or inconvenient procedures is very importance.

Code Designing

Code Designing or Programming style is a set of rules or guidelines used when writing the source code for a computer program. It is often claimed that following a particular programming style will help programmers to read and understand source code conforming to the style, and help to avoid introducing errors. The programming style used in a particular program may be derived from the coding conventions of a company or other computing organization, as well as the preferences of the author of the code. Programming styles are often designed for a specific programming language (or language family). In the design world, German designer Dieter Rams is a legend. He is well-known for his 10 principles of good design. Interestingly, these principles also apply to well-designed code:
  1. Good code is innovative.
  2. Good code makes an app useful.
  3. Good code is aesthetic.
  4. Good code helps us to understand an app.
  5. Good code is unobtrusive.
  6. Good code is honest.
  7. Good code is long-lasting.
  8. Good code is thorough, down to the last detail.
  9. Good code is concerned with the environment.
  10. Good code is as little code as possible.

Concept of (AI) Artificial Intelligence

Artificial Intelligence is a part of computer science that is focused on developing such machines or systems which could solve the problems that may otherwise require human intelligence. Artificial intelligence combines the features of computer science, physiology and philosophy. The idea is to make a machine artificially intelligent by incorporating such programs and equipments that are capable of taking decisions on their own in case of problems in a particular domain for which the system is made. Artificial Intelligence is made up of two words:
Artificial:
It means something that is not natural but is made by human skills or produced by the humans. It implies creating a copy or imitation of human. Though we can make a machine artificially similar to human but it lacks spontaneity and naturalness.
Intelligence:
It implies injecting intelligence into a machine so that it can perform the work which would otherwise require human brain. The device should be able to take its own decision according to a particular situation. In order to make a machine artificially intelligent, it should possess the following capabilities:
Learning:
The device should be capable of learning from its errors, so that next time they are not repeated.
Reasoning:
Reasoning implies the ability of the device or machine to reach to a conclusion according to the problem. Reasoning is further of two type’s viz. deductive reasoning and inductive reasoning. In deductive reasoning we derive the accurate conclusion from the given problem. However in case of inductive reasoning there is 50:50 chance of the conclusion to be correct.
Problem Solving:
The machine should be able to solve the problem for which it is made. There are two types of problem solving methods viz. special purpose and general purpose. A general purpose method is used to solve wide range of problems while special purpose focuses on a particular problem.
Perception:
The machine should be able to sense the environment around it and take the decision accordingly. For example, some robots have been developed which make their way by sensing the objects coming between and moving ahead without colliding.
Natural language Understanding:
There should be some means that the machine should be able to understand the natural language whether written or spoken and perform its actions accordingly.
Goals of Artificial Intelligence:
The main goal behind constructing artificially intelligent devices is to reduce human efforts. Moreover, to develop such machines which could perform human work this is dangerous for human lives. In general, the goals of artificial intelligent system are: to think like humans, to think rationally, to act like humans and to act rationally.

File and Database Organization and Design

The term database design can be used to describe many different parts of the design of an overall database system. Principally, and most correctly, it can be thought of as the logical design of the base data structures used to store the data. In the relational model these are the tables and views.
However, the term database design could also be used to apply to the overall process of designing, not just the base data structures, but also the forms and queries used as part of the overall database application within the database management system (DBMS).
The process of doing database design generally consists of a number of steps which will be carried out by the database designer. Usually, the designer must:
  1. Determine the purpose of the database - This helps prepare for the remaining steps.
  2. Find and organize the information required - Gather all of the types of information to record in the database, such as product name and order number.
  3. Divide the information into tables - Divide information items into major entities or subjects, such as Products or Orders. Each subject then becomes a table.
  4. Turn information items into columns - Decide what information needs to stored in each table. Each item becomes a field, and is displayed as a column in the table. For example, an Employees table might include fields such as Last Name and Hire Date.
  5. Specify primary keys - Choose each table’s primary key. The primary key is a column that is used to uniquely identify each row. An example might be Product ID or Order ID.
  6. Set up the table relationships - Look at each table and decide how the data in one table is related to the data in other tables. Add fields to tables or create new tables to clarify the relationships, as necessary.
  7. Refine the design - Analyze the design for errors. Create tables and add a few records of sample data. Check if results come from the tables as expected. Make adjustments to the design, as needed.
  8. Apply the normalization rules - Apply the data normalization rules to see if tables are structured correctly. Make adjustments to the tables

Types of Database design

Conceptual schema
Once a database designer is aware of the data which is to be stored within the database, they must then determine where dependency is within the data. Sometimes when data is changed you can be changing other data that is not visible. For example, in a list of names and addresses, assuming a situation where multiple people can have the same address, but one person cannot have more than one address; the name is dependent upon the address, because if the address is different, then the associated name is different too. However, the other way around is different. One attribute can change and not another.
Logically structuring data
Once the relationships and dependencies amongst the various pieces of information have been determined, it is possible to arrange the data into a logical structure which can then be mapped into the storage objects supported by the database management system. In the case of relational databases the storage objects are tables which store data in rows and columns.
Each table may represent an implementation of either a logical object or a relationship joining one or more instances of one or more logical objects. Relationships between tables may then be stored as links connecting child tables with parents. Since complex logical relationships are themselves tables they will probably have links to more than one parent.
Physical design
The physical design of the database specifies the physical configuration of the database on the storage media. This includes detailed specification of data elements, data types, indexing options and other parameters residing in the DBMS data dictionary. It is the detailed design of a system that includes modules & the database's hardware & software specifications of the system.






No comments:

Post a Comment