Related Courses Widget
Top Rated Course
EBS 262 GENERAL PRINCIPLES AND METHODS OF TEACHING IN BASIC SCHOOLS
1( 1 REVIEWS )395 STUDENTSEBC 126- COMMUNICATION SKILLS
5( 1 REVIEWS )409 STUDENTS
Course Reviews
- EBS 262 GENERAL PRINCIPLES AND METHODS OF TEACHING IN BASIC SCHOOLS
1
Sir please there is not content on this course. And no PDF as well..ANYETEI ANGELEY
EBC 126- COMMUNICATION SKILLS5
GoodMICHAEL AGGREY
EBC 126- COMMUNICATION SKILLS5
GoodABAKAH MONICA
Systems design is the next phase after the systems analysis phase in the systems development life cycle. Systems design consists of those activities that enable the analyst to describe in detail how the information system will actually be implemented to provide the needed solution. In other words, systems design describes how the system will actually work. It specifies in detail all the components of the solution system and how they work together. It is the complete design or blueprint for the system. The goal of systems design is to build a system that is effective, reliable, and maintainable. The deliverable of this phase is the system specification that is handed to the programming team for implementation. Information system design is divided into logical design and physical design.
Logical Design: The logical design of a system is the abstract or theoretical representation of the data flows, inputs and outputs of the system and their relationship with one another.
In logical system definition the analyst must take the following into account:
Physical design: The physical design on the other hand is the conversion of the abstract logical design into the actual input, process and output operations of the system. It shows and describes how data is input into a system, how it is verified, how it is processed and how it is displayed as output. In Physical design, the following requirements about the system are therefore decided:
USER INTERFACE DESIGN
How users interface with a system is a very important aspect of system design. Some years ago, users interacted with computers by typing commands only. This approach is known as the command-based or text-based. Now software designers have adopted new approach, that is, graphical-based, where users interact with the computers by clicking and moving icons. This has made computers more user-friendly as software designers continue to come out with more visually appealing interfaces. User Interface (UI) design focuses on anticipating what users might need to do and ensuring that the interface has elements that are easy to access, understand, and use to facilitate those actions. UI brings together concepts from interaction design, visual design, and information architecture.
Choosing Interface Elements
Users have become familiar with interface elements acting in a certain way, so user interface designers should be consistent and predictable in their choices and their layout. Doing so will help with task completion, efficiency, and satisfaction.
Interface elements include but are not limited to:
Best Practices for Designing an Interface
Everything stems from knowing what the users want, including understanding their goals, skills, preferences, and tendencies. Once you that has been established, the following are taken into consideration when designing the interface:
DESIGN CONSIDERATIONS
As you are already aware, the information processing cycle comprises: input, output, processing and storage. The systems designer will consider each and decide the most appropriate method to be adopted.
Input Design
The designer must specify a complete mechanism from the origination of the data through to its input to the computer. The data capture system must be reliable and reduce the potential for error to a minimum. The system must be cost-effective. In an era like now where remote capturing of data is the order of the day, the geographical location of the places at which the data is originated will have a great effect on the method chosen. The response time for output must be considered. The faster the response time, the faster the data capture system must be.
Output Design
Output can be presented either in softcopy, hardcopy or both. The specifications of users will determine what is deemed fit.
Process Consideration
The systems analyst will consider one or combinations of the following:
Storage Considerations
The selection of an appropriate method for organising the stored data is another important feature of the designer’s task. The main points to be considered are:
STRUCTURED DESIGN
Structured design is a data-flow based methodology that helps in identifying the input and output of the developing system. The main objective of structured design is to minimize the complexity and increase the modularity of a program. Structured design also helps in describing the functional aspects of the system.
Design Strategies
Top-Down Strategy
The top-down strategy uses the modular approach to develop the design of a system. It is called so because it starts from the top or the highest-level module and moves towards the lowest level modules.
In this technique, the highest-level module or main module for developing the software is identified. The main module is divided into several smaller and simpler submodules or segments based on the task performed by each module. Then, each submodule is further subdivided into several submodules of the next lower level. This process of dividing each module into several submodules continues until the lowest level modules, which cannot be further subdivided, are not identified.
Bottom-Up Strategy
Bottom-Up Strategy follows the modular approach to develop the design of the system. It is called so because it starts from the bottom or the most basic level modules and moves towards the highest level modules.
In this technique,
each module to form the next higher-level modules.
continues until the main module of the system development process is achieved.
Modularization
Structured design partitions the program into small and independent modules. These are organized in top down manner with the details shown in bottom. This approach is called modularization or decomposition and it is use to minimize the complexity and to manage the problem by subdividing it into smaller segments.
Advantages
Structured charts are a recommended tool for designing modular, top down systems which define the various modules of system development and the relationship between each module. It shows the system module and their relationship between them. It consists of diagram consisting of rectangular boxes that represent the modules, connecting arrows, or lines.
STRUCTURE CHART
Structure Chart represent hierarchical structure of modules. It breaks down the entire system into lowest functional modules, describe functions and sub-functions of each module of a system to a greater detail. Structure Chart partitions the system into black-boxes (functionality of the system is known to the users but inner details are unknown). Inputs are given to the black-boxes and appropriate outputs are generated.
Modules at top level called modules at low level. Components are read from top to bottom and left to right. When a module calls another, it views the called module as black-box, passing required parameters and receiving results.
Symbols used in construction of structured chart
Module
It represents the process or task of the system. It is of three types.
A control module branches to more than one sub module.
Sub Module is a module which is the part (Child) of another module.
Library Module are reusable and invokable from any module.
Conditional Call
It represents that control module can select any of the sub module on the basis of some condition.
Loop (Repetitive call of module)
It represents the repetitive execution of module by the sub module.
A curved arrow represents loop in the module.
All the sub modules cover by the loop repeat execution of module.
Data Flow
It represents the flow of data between the modules. It is represented by directed arrow with empty circle at the end.
Control Flow
It represents the flow of control between the modules. It is represented by directed arrow with filled circle at the end.
Physical Storage
Physical Storage is that where all the information are to be stored.
Detail Design TECHNIQUES/TOOLS
In developing information systems, system analysts, software engineers, programmers, etc., make use of data modeling tools, process specifications and program design tools at different phases for various purposes. These tools depict in different ways and formats the transformation of input into output. In this section, we shall discuss some data modeling tools such as data flow diagrams and entity relation diagrams. Process specification approaches like decision tables, structured English and decision tree, as well as program design tools such as algorithm, flowchart and pseudocode are also examined
Algorithm
An algorithm is defined as a step-by-step or a well-ordered procedure for solving a problem. An algorithm should have unambiguous procedures or set of rules and a clear stopping point. Algorithms can be expressed in any natural language like English or programming language like C/C++.
Developing an Algorithm
Advantages of Algorithm
Disadvantages of Algorithm
Example
An algorithm to find the smallest number in a list.
smallest ß N0
for each number in the list {
If number < smallest
smallest ß number
}
print smallest
Algorithm Choice and Efficiency Issues
An algorithm is a procedure consisting of a finite set of instructions which specify
a finite sequence of operations that provides the solution to a problem. In other words, an algorithm is a step-by-step procedure to solve a given problem. Different algorithms can be used to solve a given problem. An algorithm must be analysed to determine its efficiency. The efficiency of an algorithm (complexity) relates to the number of computational resources used by the algorithm. Algorithm can be measured based on the computational resources which are;
An algorithm is considered efficient if it minimizes resource usage. An algorithm which uses less time to accomplish a task is better than the one which uses more time. Similarly, the less space it uses the better.
Program Flowchart
A program flowchart is a popular tool for describing computer algorithms (steps needed to solve a problem). The flowchart documents the flow of a process. A flowchart is a graphical or a diagrammatical representation of the steps and structure of an algorithm or a program. Modern techniques such as Unified Modelling Language (UML), activity diagrams (used in the Object Oriented approach) can be considered as an extension of the flowchart. The flowcharts are usually drawn using some standard symbols. The structure of a program can be depicted by basic flowcharting symbols as shown below.
Start or end symbols: These are represented as circles, ovals or rounded rectangles, usually containing the word ‘Start’ or ‘End’ or some other phrase signalling the start or end of a process.
Flow of control: The arrows represent the ‘flow of control’ of the computer program.
Processing steps: These are represented by rectangles. The operations to be performed are written inside the rectangles. Examples: ‘add 1 to X’; ‘replace identified part’; ‘save changes’, etc.
Input/Output: These are represented as parallelograms. Examples: Get X from the user; display X.
Branching or decision: These are represented as rhombuses. These typically contain a condition statement (question) that has a Yes/No or True/False test. This symbol has two arrows coming out of it, one corresponding to Yes or True and the other to No or False.
Example 1: To illustrate the use of a flowchart, let us look at the processing logic to compute the average of ten numbers.
The logic is described as follows:
Step 1: Take a variable ‘Sum’ and ‘Count’ and set their values to zero (0).
Step 2: Check if the value of count is less than 10 (i.e. count < 10).
If Yes, Repeat Step 3 and 4, else go to step 5
Step 3: Input number (N)
Step 4: Increment the value of ‘count’ by 1 (count = count+1). Add number to ‘sum’ and let this be the new value of Sum (i.e. Sum = Sum + number)
Step 5: The average = Sum/10. Print Average
A flowchart based on the above processing logic is shown below
Start or end symbols: These are represented as circles, ovals or rounded rectangles, usually containing the word ‘Start’ or ‘End’ or some other phrase signalling the start or end of a process.
Flow of control: The arrows represent the ‘flow of control’ of the computer program.
Processing steps: These are represented by rectangles. The operations to be performed are written inside the rectangles. Examples: ‘add 1 to X’; ‘replace identified part’; ‘save changes’, etc.
Input/Output: These are represented as parallelograms. Examples: Get X from the user; display X.
Branching or decision: These are represented as rhombuses. These typically contain a condition statement (question) that has a Yes/No or True/False test. This symbol has two arrows coming out of it, one corresponding to Yes or True and the other to No or False.
Example 1: To illustrate the use of a flowchart, let us look at the processing logic to compute the average of ten numbers.
The logic is described as follows:
Step 1: Take a variable ‘Sum’ and ‘Count’ and set their values to zero (0).
Step 2: Check if the value of count is less than 10 (i.e. count < 10).
If Yes, Repeat Step 3 and 4, else go to step 5
Step 3: Input number (N)
Step 4: Increment the value of ‘count’ by 1 (count = count+1). Add number to ‘sum’ and let this be the new value of Sum (i.e. Sum = Sum + number)
Step 5: The average = Sum/10. Print Average
A flowchart based on the above processing logic is shown below
Example 2: Consider the cash withdrawal module. Let us look at a simplistic processing logic to withdraw cash from a bank and draw the flowchart.
Step 1: Process the customer account record (CR) from the data file
Step 2: Input the amount to withdraw (Amt_W).
Step 3: Check if Amt_W <= CR
If Yes go to the next step, else go to Step 2.
Step 4: Pay amount to withdraw and update record (CR = CR – Amt_W)
Step 5: Print transaction details (CR, Amt_W)
Pseudocode
Pseudocode describes the functionality of a module or a procedure in a structured way. Pseudocode is the outline or logic of a program written in a form that can easily be converted into real programming statements. Pseudocode is not language-specific, so it can be used to describe a software module in plain English without requiring strict syntax rules. Pseudocode may also include information about the data required (for example, variable names and types) and output to be produced (for example, report formats). Pseudocode, is easier to read and understand than program code. It is called pseudocode because it is closer to a program code.
In line with structured program, pseudocode also uses three types of control statements. These are:
if <condition> then <statement> else <statement>
do <statements> while <condition> or
while <statements>
Example 1: Pseudo-code to calculate the average marks of a number of quizzes taken.
INITIALIZE ‘sum’ and ‘count’ variables to 0
WHILE count < number of quizzes
GET quiz grade
Add quiz grade to ‘Sum’
INCREMENT ‘Count’
quiz average = average of sum over/ number of quizzes
OUTPUT quiz average
Example 2: Pseudo-code for computing the final price of an item after tax
INPUT price of an item
INPUT sales tax rate
sales tax = price of item x sales tax rate
final price = price of item + sales tax
OUTPUT final price
Factors that Influences the Choice of Design
On the whole, whether commercial application packages are used or a new system developed inhouse from scratch, the design must be acceptable to programmers and users. It is usually influenced by factors such as: cost, accuracy, control, security, availability, reliability, and so on.
Design Evaluation
To develop good quality of system software, it is necessary to develop a good design. Therefore, the main focus of developing the design of the system is the quality of the software design. A good quality software design is the one, which minimizes the complexity and cost expenditure in software development. The two important concepts related to the system development that help in determining or assessing the quality of a system are coupling and cohesion.
Coupling
Coupling is the measure of the independence of components. It defines the degree of dependency of each module of system development on the other. The extent to which modules are interdependent is called coupling. In practice, this means the stronger the coupling between the modules in a system, the more difficult it is to implement and maintain the system. Each module should have a simple, clean interface with other modules, and that the minimum number of data elements should be shared between modules.
In a good design, all instructions in a module relate to a single function. Modules in an information system should be cohesive. A functionally cohesive module is the most desirable type in that all instructions contained in the module pertain to a single task or function.
High Coupling
These types of systems have interconnections with program units dependent on each other. Changes to one subsystem leads to high impact on the other subsystem.
Cohesion
Cohesion is the measure of closeness of the relationship between its components. It defines the amount of dependency of the components of a module on one another. In practice, this means the systems designer must ensure that:
The best modules are those that are functionally cohesive. The worst modules are those that are coincidentally cohesive. A good design must maintain the right balance in achieving a high level of cohesion and minimum coupling.