SYSTEM ANALYSIS AND DESIGN.
System development is a systematic process that includes phases such as planning, analysis, design, deployment and maintenance.
system analysis
It is a process of gathering and interpreting facts, identifying the problems and breaking down a system into its components.
Systems analysis is performed to study a system or its parts to identify its goals. It's a problem solverTechnologywhich improves the system and ensures that all components of the system work efficiently to fulfill their purpose.
The analysis specifies what the system should do.
Systemdesign
It is a process of planning a new business system or replacing an existing system by defining its components or modules to meet specific requirements. Before planning, you must thoroughly understand the old system and determine how computers can best be used to work efficiently.
System design focuses on how to achieve thisobjectivefrom the system.
System Analysis and Design (SAD) mainly focuses on systems, processes, technology
What is a system?
The word system derives from the Greek word systema, meaning an organized relationship between a set of components to achieve a common cause or goal.
A system is "an ordered grouping of interdependent components connected according to a plan to achieve a specific goal."
limitations of a system
A system must have three basic constraints −
- A system must have some structure and behavior designed to achieve a predefined goal.
- There must be interconnectivity and interdependence between the system components.
- The goals ofOrganisationhave a higher priority than the goals of their subsystems.
For example, traffic management system, payroll system, automatic library system, human resources information system.
Properties of a system: A system has the following properties organization
Organization implies structure and order. It is the arrangement of the components that helps to achieve given goals.
interaction
It is defined by the way the components work together.
For example, in an organization, the purchasing department must interact with the production department and payroll with the human resources department.
Interdependenz
Interdependence means how the components of a system depend on each other. The components are matched to one another and connected to one another according to a specified plan to ensure that they function perfectly. The output of one subsystem is required as input by another subsystem.
Integration
Integration deals with how a system workscomponentsare connected to each other. This means that the parts of the system work together within the system, even though each part performs a unique function.
Central goal
The goal of the system must be central. It can be real or stated. It is not uncommon for an organization to set one goal and strive for another.
Users need to know the main goal of a computer application early in the analysis for successful design and conversion.
elements of a system
The diagram below shows the elements of a system
exits and entrances
- The main goal of a system is to produce output that is useful to its user. Inputs are the information that enter the system for processing.
- Output is the result of processing.
processor(s)
- The processor is the element of a system that does the actual conversion of input to output.
- It is the operational component of a system. Processors can modify the input either in whole or in part depending on the output specification.
- As output specifications change, so does processing. In some cases, the input is also modified to allow the processor to handle the transformation.
control
- The operating element controls the system.
- It is the decision-making subsystem that drives the pattern of input, processing, and output activity.
- The behavior of a computer system is controlled by the operating system and software. To keep the system in balance, output specifications determine what and how much input is needed.
return message
- Feedback provides control in a dynamic system.
- Positive feedback is routine in nature that encourages system performance.
- Negative feedback is informative in nature and provides the controller with information to take action.
Surroundings
- The environment is the "supersystem" in which an organization operates.
- It is the source of external elements acting on the system.
- It determines how a system has to work. For example, vendors and competitors may introduce limitations to the enterprise environment that affect the actual performance of the enterprise.
Boundaries and Interface
- A system should be defined by its boundaries. Boundaries are the boundaries that identify its components, processes, and interrelationships when connected to another system.
- Every system has boundaries that determine its sphere of influence and control.
- Knowing the limitations of a given system is critical to determining how it will interface with other systems for a successful design.
types of systems
The systems can be divided into the following types −
Physical or abstract systems
- Physical systems are tangible entities. We can touch and feel them.
- The physical system can be static or dynamic in nature. For example, desks and chairs are the physical parts of a data center that are static. A programmed computer is a dynamic system in which programs, data and applications can change according to the needs of the user.
- Abstract systems are nonphysical or conceptual entities that can be formulas, representations, or models of a real system.
Open or closed systems
- An open system must interact with its environment. It receives input from outside the system and provides output from outside. For example, an information system that has to adapt to changing environmental conditions.
- A closed system does not interact with its environment. It is isolated from environmental influences. A completely closed system is rare in reality.
Adaptive and non-adaptive system
- Adaptive system reacts to the changes in the environment to improve their performance and survive. For example people, animals.
- Non-adaptive system is the system that does not react to the environment. For example machines.
Permanent or temporary system
- Permanent System persists for a long time. For example business policy.
- The temporary system is made for a certain period of time and then demolished. For example, a DJ system is set up for a show and then dismantled after the show.
Natural and manufactured system
- Natural systems are created by nature. For example solar system, seasonal system.
- Manufactured system is the man-made system. For example missiles, dams, trains.
Deterministic or probabilistic system
- The deterministic system operates in a predictable manner and the interaction between the system components is known with certainty. For example, two molecules of hydrogen and one molecule of oxygen make water.
- Probability system shows unsafe behavior. The exact edition is not known. For example weather forecast, mail delivery.
Social, man-machine, machine system
- The social system consists of people. For example social clubs, societies.
- In the human-machine system, both human and machine are involved to perform a specific task. For example computer programming.
- Machine system is where human intervention is neglected. All tasks are performed by the machine. For example an autonomous robot.
artificial information systems
- It is an interconnected set of information resources to manage data for specific organizations under Direct Management Control (DMC).
- This system includes hardware, software, communications, data and applications to create information according to an organization's needs.
Man-made information systems are divided into three types −
1. Formal Information System − It is based on the flow of information in the form of memos, instructions, etc. from top to bottom management levels.
2. Informal Information System - This is an employee-based system that solves the day-to-day work-related problems.
3. Computer based system - This system depends directly on the computer to manage business applications. For example, automatic library system, train reservation system, bank system, etc.
Systemmodelle
Schematic Models
- A schematic model is a 2-D diagram that shows system elements and their interconnections.
- Various arrows are used to show information flow, material flow, and information feedback.
flow system models
- A flow system model shows the ordered flow of material, energy, and information that holds the system together.
- For example, Program Evaluation and Review Technique (PERT) is used to abstract a real system into model form.
Static system models
- They represent a pair of relationships like activity-time or cost-quantity.
- For example, the Gantt chart gives a static picture of an activity-time relationship.
Dynamic system models
- Business organizations are dynamic systems. A dynamic model approximates the type of organization or application that analysts are concerned with.
- It indicates an ongoing, ever-changing state of the system. It consists of −
o Input entering the system
o The processor through which the transformation takes place
o The program(s) required for the processing.
o The output(s) resulting from the processing.
categories of information
There are three categories of information related to the levels of leadership and the decisions that managers make.
Strategic Information
- This information is required by top management for long-term planning guidelines for the next few years. For example, trends in revenue, financial investment and human resources, and population growth.
- This type of information is obtained with the help of the Decision Support System (DSS).
management information
- This type of information is required by middle management for short and medium term planning, which refers to months. For example sales analyses, cash flow forecasts and financial statements.
- This is achieved with the help of Management Information Systems (MIS).
operational information
- This type of information is required by lower management for day-to-day and short-term planning to enforce day-to-day operational activities. For example, keep employee attendance lists, overdue orders and current inventory available.
- This is achieved with the help of data processing systems (DPS).
System Development Lifecycle
An effective System Development Life Cycle (SDLC) should result in a high quality system that meets customer expectations, is completed within time and cost assessments, and operates effectively and efficiently within the current and planned IT infrastructure.
System Development Life Cycle (SDLC) is a conceptual model that includes policies and procedures for developing or changing systems throughout their life cycle.
SDLC is used by analysts to develop an information system. SDLC includes the following activities −
- Requirement
- Design
- implementation
- to test
- mission
- The operation
- maintenance
Stages of SDLC
The systems development lifecycle is a systematic approach that explicitly divides the work into phases required to implement either a new or a modified information system.
feasibility study or planning
- Define the problem and scope of the existing system.
- Overview of the new system and definition of its objectives.
- Confirm the feasibility of the project and create the project schedule.
- Threats, limitations, integration and security of the system are also considered in this phase.
- At the end of this phase, a feasibility report is prepared for the entire project.
Analysis and Specification
- Collect, analyze and validate the information.
- Define the requirements and prototypes for the new system.
- Evaluate the alternatives and prioritize the requirements.
- Examine the end user's information needs and improve the system goal.
- At the end of this phase, a Software Requirement Specification (SRS) document is created that specifies the system's software, hardware, functional, and network requirements.
System-Design
- Covers the design of applications, networks, databases, user interfaces and system interfaces.
- Transform the SRS document into a logical structure containing a detailed and complete set of specifications that can be implemented in a programming language.
- Create an emergency, training, maintenance and operations plan.
- Review the proposed design. Ensure that the final design must meet the requirements specified in the SRS document.
- Finally, prepare a design document that will be used in the next stages.
implementation
- Implement the design by coding it into source code.
- Combine all modules into a training environment that recognizes mistakes and shortcomings.
- A test report that includes bugs is created by a test plan that includes test-related tasks such as test case generation, test criteria, and resource allocation for testing.
- Integrate the information system into its environment and install the new system.
maintenance support
- Include any required activities such as phone support or physical on-site support for users
once the system is installed. - Implement the changes that software might experience over time, or implement new ones
Requirements after the software is deployed at the customer's site. - It also includes how to deal with remaining errors and fix problems that may persist in the system even after the testing period.
- Maintenance and support may be required for longer periods for large systems and at short notice for smaller systems.
Systems analysis and design life cycle
The diagram below shows the complete life cycle of the system during the analysis and design phase.
Role of the systems analyst
The systems analyst is a person who is thoroughly aware of the system and guides the system development project by giving the right instructions. He is an expert with technical and interpersonal skills to carry out the development tasks required at each stage.
He strives to align the goals of the information system with the organizational goal.
main roles
- Defining and understanding the needs of the user through various fact finding techniques. Prioritize requirements by obtaining user consensus.
- Gathering the facts or information and acquiring users' opinions.
- Maintains analysis and evaluation to arrive at a suitable system that is more user-friendly.
- Proposes many flexible alternative solutions, selects the best solution and quantifies costs and benefits.
- Draw specific specifications that are easy for users and programmers to understand in concise and detailed form.
- Implements the logical design of the system, which must be modular.
- Plan the periodicity for evaluation after some time of use and change the system as needed.
Qualities of a systems analyst
The figure below shows the qualities that a systems analyst should possess
Interpersonal skills
- Interface with users and programmers.
- Moderate groups and lead smaller teams.
- manage expectations.
- Good understanding, communication, sales and teaching skills.
- Motivator who has the confidence to solve questions.
Analytical skills
- System knowledge and organizational knowledge
- Problem identification, problem analysis and problem solving
- Common sense
- Ability to access compromises
- Curiosity to learn about new organizational management skills
- Understand user jargon and practices.
- Resource and project management.
- Change and risk management.
- Thoroughly understand the administrative functions.
technical skills
- Computer and software skills.
- Keep up to date with the modern development.
- Knowledge of system design tools.
- Broad knowledge of new technologies.
What is needs assessment?
A requirement is an essential characteristic of a new system, which may involve the processing or collection of data, the control of business activities, the production of information, and support for management.
Determining the requirements involves studying the existing system and gathering details to find out what the requirements are, how it works and where improvements should be made.
Important activities in requirements determination Requirements anticipation
It predicts the characteristics of the system based on past experience, which includes specific problems or characteristics and requirements for a new system.
It can lead to analysis of areas that would otherwise go unnoticed by an inexperienced analyst. But if shortcuts are taken and bias introduced in conducting the investigation, then the requirement of anticipation may be half-baked.
requirements determination
- It examines the current system and documents its characteristics for further analysis.
- It is at the heart of systems analysis, in which analysts document and describe system characteristics using fact-finding techniques, prototyping, and computer-aided tools.
Requirements Specifications
- It includes analysis of data that determines requirements specification, description of capabilities for a new system, and indication of what information requirements are provided.
- It includes the analysis of factual data, the identification of essential requirements and the selection of strategies to fulfill the requirements.
Information gathering techniques
The primary goal of fact-finding techniques is to determine an organization's information requirements, which are used by analysts to produce an accurate SRS that is understood by the user.
The ideal SRS document should −
- be complete, clear and jargon-free.
- specify operational, tactical and strategic information requirements.
- Resolution of possible disputes between users and analysts.
- Use graphic aids that simplify understanding and design.
There are several techniques for gathering information −
job interview
Systems analysts collect information from individuals or groups through interviews. The analyst can be formal, legalistic, politically playful, or informal; for the success of an interview depends on the skill of the analyst as an interviewer.
This can be done in two ways −
1. Unstructured Interview − The systems analyst conducts a question and answer session to obtain basic information about the system.
2. Structured Interview - It contains standard questions that the user must answer in either a narrow (objective) or open (descriptive) format.
Benefits of the job interview
- This method is often the best source for gathering qualitative information.
- It is useful for those who cannot communicate effectively in writing or who may not have the time to complete the questionnaire.
- Information can be easily validated and immediately cross-checked.
- It can handle the complex issues.
- It's easy to discover the main problem by getting opinions.
- It bridges the gaps in areas of misunderstanding and minimizes future problems.
questionnaires
This method is used by analysts to collect information about various problems of the system from a large number of people.
There are two types of questionnaire −
- Open Questionnaires − They consist of questions that can be easily and correctly interpreted. They can examine a problem and lead to a specific direction of response.
- Closed Questionnaires - They consist of questions used when the systems analyst effectively lists all possible answers that are mutually exclusive.
Benefits of Questionnaires
- It is very effective in gathering interests, attitudes, feelings and beliefs from users who are not in the same place.
- In certain situations, it is helpful to know what proportion of a particular group supports or opposes a particular feature of the proposed system.
- It is useful to gather the overall opinion before giving the system project a specific direction.
- It is more reliable and offers high confidentiality of honest answers.
- It is suitable for selecting factual information and collecting statistical data that can be sent by e-mail and by post.
Review of records, procedures and forms
Reviewing existing records, procedures and forms helps to gain insight into a system that describes the current system capabilities, its operations or activities.
advantages
- It helps users acquire some knowledge of the organization or operation for themselves before imposing themselves on others.
- It helps in documenting current operations in a short period of time as the procedure manuals and forms describe the format and functions of the current system.
- It can provide a clear understanding of the transactions being processed in the organization, identify inputs for processing, and evaluate performance.
- It can help an analyst understand the system in terms of the operations that need to be supported.
- It describes the problem, the affected parts, and the proposed solution.
monitoring
This is a method of gathering information by noticing and observing people, events, and objects. The analyst visits the organization to observe how the current system is working and understands the requirements of the system.
advantages
- It is a direct method of gathering information.
- This is useful in situations where the authenticity of the data collected is in question or when the complexity of certain aspects of the system prevents clear explanation by end users.
- It produces more accurate and reliable data.
- It produces all aspects of documentation that are incomplete and outdated.
Joint Application Development (JAD)
It's a new technique developed by IBM that brings owners, users, analysts, designers and builders to it
define and design the system through organized and intensive workshops. A JAD-trained analyst acts as the facilitator for the workshop, who has some special skills.
Benefits of JAD
- It saves time and money by replacing months of traditional interviews and follow-up meetings.
- It is useful in organizational culture that supports collaborative problem solving.
- Promotes formal relationships between multiple levels of employees.
- It can lead to the creative development of the design.
- It enables rapid development and improves ownership of the information system.
Secondary research or background reading
This method is widely used to collect information by accessing the collected information. It contains all previously collected information used by the marketer from internal or external sources.
advantages
- It is more openly accessible with the availability of the internet.
- It provides valuable information at low cost and time.
- It acts as a precursor to primary research and aligns the focus of primary research.
- It is used by the researcher to determine if the research is worthwhile as it is available with the procedures used and problems in collection.
feasibility study
The feasibility study can be viewed as a preliminary study that helps management make a decision as to whether a system study is feasible for development or not.
- It identifies the opportunity to improve an existing system, develop a new system, and produce refined estimates for the system's evolution.
- It is used to get an overview of the problem and decide whether or not a feasible or reasonable solution exists.
- The primary goal of a proof of concept is to capture the problem area rather than to solve the problem.
- The outcome of a feasibility study is a formal system proposal act as a decision document that contains the full nature and scope of the proposed system.
Steps of feasibility analysis
The following steps are to be followed when conducting a feasibility study −
- Form a project team and appoint a project manager.
- Develop system flow diagrams.
- Identify the shortcomings of the current system and set goals.
- State the alternative solution or potential candidate system to achieve the objectives.
- Determine the feasibility of each alternative such as technical feasibility, operational feasibility, etc.
- Weight the performance and cost-effectiveness of each candidate system.
- Rank the other alternatives and choose the best candidate system.
- Prepare a system proposal of final project policy for management approval.
types of feasibility
Economic feasibility
- It evaluates the effectiveness of the candidate system using the method of cost-benefit analysis.
- It shows the net benefit of the candidate system in terms of benefits and costs to the organization.
- The main objective of the Economic Analysis (EFS) is to assess the economic requirements of the candidate system before committing the investment funds to the proposal.
- It favors the alternative that maximizes the organization's net worth through the earliest and highest return on investment, along with the lowest level of risk in developing the candidate system.
Technical feasibility
- It examines the technical feasibility of each implementation alternative.
- It analyzes and determines whether or not the solution can be supported by existing technology.
- The analyst determines whether to upgrade or add current technical resources that meet the new requirements.
- It ensures that the candidate system provides appropriate answers as to how far it can support the technical extension.
operational feasibility
- It determines whether the system will work effectively after it has been designed and implemented.
- It ensures that management should support the proposed system and its ability to function in the current organizational environment.
- It analyzes whether the users are affected and they accept the changed or new business methods that affect the potential system benefits.
- It also ensures that the candidate system's computing resources and network architecture are operational.
behavioral feasibility
- It evaluates and values user attitudes or behavior towards the development of a new system.
- It helps determine if the system requires special effort to train, retrain, transfer, and change job status employees on new ways of doing business.
schedule feasibility
- It ensures that the project should be completed within a specific time constraint or schedule.
- It also checks and validates whether the project deadlines are reasonable or not.
Analysts use different tools to understand and describe the information system. One possibility is structured analysis.
What is Structured Analysis?
Structured Analysis is a development method that allows the analyst to understand the system and its activities in a logical way.
It is a systematic approach using graphical tools that analyze and refine the goals of an existing system and develop a new system specification that is easy for the user to understand.
It has the following attributes −
- It is a graphic that specifies the presentation of the application.
- It breaks down the processes in such a way that a clear picture of the system flow emerges.
- It is more logical than physical, i. H. the elements of the system do not depend on manufacturer or hardware.
- It's an approach that goes from high-level overviews to low-level details.
Structured analysis tools
Various tools and techniques for system development are used during Structured Analysis. You are −
- data flow diagrams
- data dictionary
- decision trees
- decision tables
- Structured English
- Pseudocode
Data Flow Diagrams (DFD) or Bubble Diagram
It is a technique developed by Larry Constantine to express system requirements in graphical form.
It shows the flow of data between various system functions and how the current system is implemented.
It is an initial phase of the design phase, in which the requirement specifications are functionally broken down to the lowest level of detail.
Its graphical nature makes it a good communication tool between user and analyst or analyst and system designer.
It gives an overview of what data a system is processing, what transformations are being performed, what data is being stored, what results are being produced and where it is going.
Basic elements of the DFD
DFD is easy to understand and very effective when the required design is not clear and the user wants a notation language to communicate with. However, it requires a large number of iterations to get the most accurate and complete solution.
The following table shows the symbols used when designing a DFD and their meaning
Types of DFD
There are two types of DFDs: physical DFDs and logical DFDs. The table below lists the points that distinguish a physical DFD from a logical DFD.
context diagram
the flow of data between processes.
It explains events of systems and data required by each event.
It shows how the business works; not how the system can be implemented.
A context diagram helps in understanding the whole system through a DFD, which gives an overview of a
System. It starts by mentioning important processes with small details and then goes on to give more details about the processes with the top-down approach.
The context diagram of measurement management is shown below.
data dictionary
A data dictionary is a structured repository of data items in the system. It stores the descriptions of all DFD data elements, ie details and definitions of data flows, data stores, data stored in data stores and the processes.
A data dictionary improves communication between the analyst and the user. It plays an important role in building a database. Most DBMS have a data dictionary by default. For example, see the following table −
Sr.No. Data name Description Number of characters
1 ISBN ISBN number 10
2 TITLE Title 60
3 SUB Buchthemen 80
4 ANAME Author Name 15
decision trees
Decision trees are a method to define complex relationships by describing decisions and avoiding communication problems. A decision tree is a diagram showing alternative actions and conditions within a horizontal tree frame. Thus, it shows which conditions to consider first, second, etc.
Decision trees show the relationship of each condition and its allowed actions. A square knot
indicates an action and a circle indicates a condition. It forces analysts to consider the order of decisions and identifies the actual decision that needs to be made.
The main limitation of a decision tree is that it lacks information in its format to describe what others are
Combinations of conditions that you can use for testing. It is a single representation of the relationships between conditions and actions.
For example, see the following decision tree
decision tables
Decision tables are a method to describe the complex logical connection in a precise and easily understandable way.
This is useful in situations where the resulting actions depend on the occurrence of one or more combinations of independent conditions.
It is a matrix containing rows or columns to define a problem and the actions.
Components of a decision table
- Condition Stub - Located in the upper left quadrant that lists all the conditions to be checked.
- Action Stub - It is located in the lower left quadrant that outlines all the actions that need to be taken to meet this condition.
- Condition Entry - It is located in the upper right quadrant that provides answers to questions asked in the condition stub quadrant.
- Action Entry - Located in the lower right quadrant that displays the appropriate action resulting from the responses to the conditions in the Condition Entry quadrant.
The entries in the decision table are given by decision rules that define the relationships between combinations of conditions and courses of action. in the control area,
Y indicates the presence of a condition.
N represents the condition that is not met.
A space - against action says to ignore.
X (or a tick will suffice) against the action indicates that it should be performed.
For example, see the table below
structure English
Structure English derives from a structured programming language that provides a more understandable and concise description of the process. It is based on procedural logic that uses construction and imperative clauses to perform operations on actions.
It is best used when there are sequences and loops to be considered in a program and the problem requires sequences of actions with decisions.
There is no strict syntax rule. It expresses all logic in terms of sequential decision trees and iterations.
For example, see the following sequence of actions −
if the customer pays in advance
then
Give 5% discount
anders
if purchase amount >=10,000
then
if the customer is a regular customer
Then give 5% discount
otherwise no discount
end if
otherwise no discount
end if
end if
Pseudocode
A pseudocode does not correspond to any programming language and expresses logic in plain text.
It can specify the physical programming logic without actually coding during and after the physical design.
It is used in conjunction with structured programming.
It replaces the flow charts of a program.
Guidelines for choosing appropriate tools
Use the following guidelines to select the most appropriate tool that suits your needs −
- Use DFD for high or low level analysis to provide good system documentation.
- Use the data dictionary to simplify the structure to meet the data needs of the system.
- Use Structured English when there are many loops and the actions are complex.
- Use decision tables when there are a large number of conditions to be checked and the logic is complex.
- Use decision trees when the order of conditions is important and only a few conditions need to be tested.
System design is the phase that bridges the gap between the problem domain and the existing system in a manageable way. This phase focuses on the solution domain, i. H. "How to implement?"
It is the phase where the SRS document is converted into a format that can be implemented and decides how the system works.
In this phase, the complex activity of system development is broken down into several smaller sub-activities that are coordinated to achieve the main goal of system development
System design inputs
The system design requires the following inputs −
- Specifications
- needs assessment plan
- Analysis of the current situation
- Proposed system requirements including a conceptual data model, modified DFDs and metadata (data about data).
System design expenses
The system design gives the following results −
- Infrastructural and organizational changes for the proposed system.
- A data schema, often a relational schema.
- Metadata to define the tables/files and columns/data items.
- A function hierarchy diagram or web page map that graphically describes the program structure. Actual or pseudo code for each module in the program.
- A prototype for the proposed system.
Types of system design
Logical design
Logical design refers to an abstract representation of the data flow, inputs, and outputs of the system. It
describes the inputs (sources), outputs (destinations), databases (data stores), procedures (data flows) in a format that suits user needs.
In preparing the logical design of a system, the systems analyst specifies the user requirements at a level of detail that practically determines the flow of information in and out of the system and the required data sources. Data flow diagram, E-R diagram modeling are used.
physical design
The physical design refers to the actual input and output processes of the system. It focuses on how data is entered into a system, verified, processed, and displayed as output.
It creates the working system by defining the design specification that specifies exactly what the candidate system will do. It deals with user interface design, process design and data design.
It consists of the following steps −
- Determine the input/output media, design the database and determine backup procedures.
- System implementation planning.
- Creating a test and implementation plan and specifying new hardware and software.
- Updated costs, benefits, transition dates and system limitations.
Architekturdesign
It is also called high-level design, which focuses on system architecture design. It describes the structure and behavior of the system. It defines the structure and relationship between different modules of the system development process.
Detailed design
It follows the architectural design and focuses on the development of each module.
Conceptual data modeling
It is a representation of organizational data that includes all major entities and relationships. system
Analysts develop a conceptual data model for the current system that supports the scope and requirements for the proposed system.
The main goal of conceptual data modeling is to capture as much meaning as possible from data. Most organizations today use conceptual data modeling with the E-R model, which uses a special notation to represent as much meaning as possible about data.
Entity-Relationship-Modell
It's a technique used in database design that helps describe the relationship between different units of an organization.
Terms used in the E-R model
ENTITY - It specifies various real world elements in an application. For example: vendor, item, student, course, teacher, etc.
RELATIONSHIP - They are the meaningful dependencies between entities. For example, the supplier supplies articles, the teacher teaches courses, then supplies and course are related.
ATTRIBUTE − It specifies the properties of relationships. For example provider code, student name. Symbols used in the E-R model and their respective meanings −
The table below shows the symbols used in the E-R model and their meaning
There can be three types of relationships between two sets of data: one-to-one, one-to-many, and many-to-many.
Dateiorganisation
It describes how records are stored in a file. There are four file organization methods −
Serial− Recordings are stored in chronological order (the order in which they are entered or occur). Examples − Recording of phone charges, ATM transactions, phone queues.
Sequentially− Records are stored in order based on a key field that contains a value that uniquely identifies a record. Examples − telephone directories.
Direct(relative) − Each record is stored based on a physical address or location on the device.
The address is calculated from the value stored in the key field of the record. The conversion is done by a randomization routine or hash algorithm.
Indexed− Data records can be processed both sequentially and non-sequentially using indices.
file access
A file can be accessed with either sequential access or random access. File access methods allow computer programs to read or write records in a file.
Sequential Access
Each record in the file is processed starting with the first record until the end of file (EOF) is reached. It is efficient when a large number of records in the file need to be accessed at any given time. Data stored on a tape (sequential access) can only be accessed sequentially.
Direct (random) access
Recordings are located by knowing their physical locations or addresses on the device, not their positions relative to other recordings. Data stored on a CD (Random Access) device can be accessed either sequentially or randomly.
Types of files used in an organizational system
The following are the file types used in an organizational system −
1. Master File − Contains current information about a system. For example customer file, student file, phone book.
2. Spreadsheet File - It is a kind of master file that rarely changes and is stored in a spreadsheet format. For example, storing zip codes.
3. Transaction File - It contains the day-to-day information generated from business activities. It is used to update or process the master file. For example addresses of employees.
4. Temporary File - It is created and used whenever required by a system.
5. Mirror File - They are the exact duplicates of other files. Minimize the risk of downtime when the original becomes unusable. They must be modified each time the original file is modified.
6. Log files - They contain copies of master and transaction records to record any changes made to the master file. It facilitates testing and provides recovery mechanisms in the event of a system failure.
7. Archive files − backup files containing historical versions of other files.
Documentation control
Documentation is a process of recording information for any reference or operational purpose. It helps users, managers and IT staff who need it. It is important that the prepared document must be regularly updated in order to easily understand the progress of the system.
If the system is not working properly after implementation, the documentation will help the administrator to understand the data flow in the system to troubleshoot and get the system up and running.
Programmers or systems analysts usually create program and system documentation. Systems analysts are usually responsible for preparing documentation to help users learn the system. In large organizations, a technical support team that includes technical writers can assist in the creation of user documentation and training materials.
advantages
1. It can reduce system downtime, reduce costs and speed up maintenance tasks.
2. It provides a clear description of the formal flow of the present system and helps to understand the nature of the input data and how the output can be generated.
3. It provides an effective and efficient way of communication between technical and non-technical users about the system.
4. It facilitates the training of new users so that they can easily understand the system flow.
5. It helps user to solve problems like troubleshooting and helps manager to make better final decisions of organization system.
6. It offers better control of the internal or external working of the system.
types of documentation
When it comes to system design, there are the following four main documents −
1. Programmdokumentation
2. Systemdokumentation
3. Operational Documentation
4. User Documentation
Programmdokumentation
It describes inputs, outputs and processing logic for all program modules.
The process of program documentation begins in the system analysis phase and continues during implementation.
This documentation guides programmers constructing modules that are well supported by internal and external comments and descriptions that are easy to understand and maintain.
operational documentation
The operational documentation contains all information necessary for the processing and distribution of online and print editions. Operational documentation should be clear, concise and available online whenever possible.
It contains the following information −
Program, systems analyst, programmer and system identification.
Planning information for the print output, e.g. B. Report, Execution Frequency and Deadlines.
Input files, their source, output files, and their destinations.
Email and report distribution lists.
Special forms required, including online forms.
Error and informational messages to operators and restart procedures.
Special instructions such as B. Security requirements.
user documentation
It contains instructions and information for users interacting with the system. For example user manuals, help guides and tutorials. The user documentation is valuable for user training and reference purposes. It must be clear, understandable and easily accessible to users at all levels.
The users, system owners, analysts and programmers all made a combined effort to develop a user guide. User documentation should contain −
- A system overview that clearly describes all important system functions, capabilities and limitations.
- Description of the content, preparation, processing and template of the source document.
- Overview of menu and data entry screen options, content and processing instructions.
- Examples of reports that are generated periodically or available at the user's request, including samples.
- Security and Audit Trail Information.
- Explanation of responsibility for specific input, output, or processing requests.
- Procedure for requesting changes and reporting problems.
- Examples of exceptions and error situations.
- Frequently Asked Questions (FAQs).
- Explanation of how to get help and procedures for updating the user manual.
Systemdokumentation
The system documentation serves as a technical specification for the IS and how the objectives of the IS are achieved. Users, managers, and IS owners never need to refer to system documentation. The system documentation forms the basis for understanding the technical aspects of the IS when changes are made.
- It describes every program within the IS and the entire IS itself.
- It describes the system functions, the way they are implemented, the purpose of each program within the overall IS in terms of execution order, information passed to and from programs, and the overall system flow.
- It includes data dictionary entries, data flow diagrams, object models, screen layouts, source documents, and the system requirement that initiated the project.
- Most of the system documentation is created during the system analysis and system design phase.
- During system implementation, an analyst must review system documentation to ensure that it is complete, accurate, and up-to-date and includes any changes made during the implementation process.
Top-Down Strategy
The top-down strategy uses the modular approach to develop the design of a system. It is so called because it starts from the top or highest module and moves to the lowest level modules.
This technique identifies the top-level or main module for developing the software. Depending on the task, the main module is divided into several smaller and simpler sub-modules or segments
performed by each module. Then each sub-module is further subdivided into several sub-modules of the next lower level. This process of dividing each module into multiple sub-modules continues until the lowest level modules that cannot be further divided are identified.
comparison
Bottom-up-Strategie
The bottom-up strategy follows the modular approach to develop the design of the system. It is so called because it starts from the lowest or most basic level modules and moves to the highest level modules.
With this technique
- The modules at the most basic or lowest level are identified.
- These modules are then grouped together based on the function performed by each module to form the next higher level modules.
- Then these modules are further combined to form the next higher modules.
- This process of grouping several simpler modules to form higher level modules continues until the main module of the system development process is reached
Structured design
Structured design is a data flow based methodology used in identifying the input and output of the
development system. The main goal of structured design is to minimize complexity and increase modularity of a program. Structured design also helps in describing the functional aspects of the system.
In structured design, the system specifications serve as a basis for graphically representing the data flow and the sequence of the software development processes with the help of DFDs. After developing the DFDs for the software system, the next step is to develop the structogram.
modularization
Structured design divides the program into small and independent modules. These are organized from top to bottom with the details shown below.
Therefore, structured design uses an approach called modularization or decomposition to minimize complexity and deal with the problem by dividing it into smaller segments.
advantages
- Critical interfaces are tested first.
- It offers abstraction.
- It allows multiple programmers to work at the same time.
- It allows code reuse.
- It provides control and improves morale.
- It makes it easier to recognize structures.
Structured Charts
Structured diagrams are a recommended tool for designing a modular top-down system that defines the different modules of system development and the relationship between each module. It shows the system modules and their relationship between them.
It consists of a diagram composed of rectangular boxes representing the modules, connecting arrows or
lines.
Control Module - It is a higher level module that controls lower level modules called child modules.
Library Module - It is a reusable module and can be called from more than one point in the diagram
We have two different approaches to designing a structure diagram −
- Transformation-centric Structured Charts - Used when all transactions follow the same path.
- Transaction-Centered Structured Charts - Used when all transactions do not follow the same path.
Goals of Using Structure Flow Diagrams
- To encourage a top-down design.
- Support the concept of the modules and identify the appropriate modules.
- To show the size and complexity of the system.
- To identify the number of easily identifiable functions and modules within each function.
- To represent whether each identifiable function is a manageable entity or should be broken down into smaller components.
Factors affecting system complexity
In order to develop good quality system software, it is necessary to develop a good design. Therefore, the main focus in the development of the system design is the quality of the software design. A quality software design is the one that minimizes the complexity and expense involved in software development.
The two important concepts related to systems engineering that help determine the complexity of a system are coupling and cohesion.
coupling
Coupling is the measure of the independence of components. It defines the degree of dependency of the individual modules of the system development from each other. In practice, this means that the stronger the coupling between the modules of 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 the minimum number of data items should be shared between modules.
High coupling
This type of system has connections with interdependent program units. Changes to one subsystem have a major impact on the other subsystem.
Low coupling
This type of systems consists of components that are independent or nearly independent. A change in one subsystem does not affect other subsystems
coupling measures
Content Coupling - If one component actually modifies another, then the modified component is entirely dependent on modifying one.
Common Coupling - When the extent of coupling is reduced somewhat by organizing the system design to allow data to be accessed from a common data store.
Control Coupling - When one component passes parameters to control the activity of another component.
Stamp Coupling - When data structures are used to transfer information from one component to another.
Data Coupling – When only data is transferred, components are connected through this coupling.
cohesion
Cohesion is the measure of the closeness of the relationship between its components. It defines the degree of dependency of the components of a module on each other. In practice this means that the system designer must ensure that −
- They don't split essential processes into fragmented modules.
- They do not combine unrelated processes, represented as processes on the DFD, into meaningless modules.
The best modules are those that are functionally related. The worst modules are the ones that happen to be related.
The worst level of cohesion
Accidental cohesion is found in a component whose parts are unrelated.
Logical Cohesion - This is where multiple logically related functions or data items are placed in the same component.
Temporal Cohesion - This is when a component used to initialize a system or set variables performs multiple functions in sequence, but the functions are related by the timing involved.
Procedural Cohesion - This is when functions are grouped together in a component just to ensure that order
Sequential Cohesion - This is when the output of one part of a component is the input for the next part of it.
input design
In an information system, inputs are the raw data that is processed to produce an output. In the input design, the developers need to consider the input devices like PC, MICR, OMR, etc.
Therefore, the quality of the system input determines the quality of the system output. Well-designed input forms and screens have the following properties −
- It should effectively serve a specific purpose, such as B. storing, recording and retrieving the information.
- It ensures proper completion with accuracy.
- It should be easy to fill and uncomplicated.
- It should focus on user attention, consistency, and simplicity.
- All of these objectives are achieved using knowledge of basic design principles related to −
What inputs does the system need?
How end users react to different elements of forms and screens.
Input design goals
The goals of the input design are −
1. Designing data entry and input procedures
2. To decrease the input volume
3. To design source documents for data collection or develop other data collection methods
4. Design of input data sets, data entry screens, user interface screens, etc.
5. Use of validation checks and development of effective input controls.
data entry methods
It is important to design proper data entry methods to avoid data entry errors. These methods depend on whether data is manually entered into forms by customers and later entered by data entry operators, or data is entered directly by users on the PCs.
A system should prevent users from making mistakes by using −
Clear design with sufficient space for legible writing.
Clear instructions on how to fill out the form.
Clear form design.
Reduce keystrokes.
Immediate error feedback.
Some of the most popular data entry methods are −
- Batch entry method (offline data entry method)
- Online data entry method
- Computerless Formulate
- Interactive data entry
Input Integrity Checks
Input integrity controls encompass a number of methods to eliminate common end-user input errors. This includes checking the value of individual fields; both for the format and for the completeness of all entries.
Audit trails of data entry and other system operations are created using transaction logs that record all changes introduced into the database to provide security and a means of recovery in the event of a failure.
output design
The design of the output is the most important task of any system. During output design, developers identify the type of outputs needed and consider required output controls and prototype report layouts.
Output design goals
The goals of the input design are −
- Development of an output design that serves the intended purpose and eliminates the production of unwanted outputs.
- Development of the output design that meets the end-user requirements.
- To deliver the appropriate amount of output.
- To arrange the output in an appropriate format and route it to the right person. Make the output available in good time to be able to make good decisions.
Now let's go through different types of exits −
External outputs
Manufacturers create and design external outputs for printers. External exits allow the system to leave the triggering actions to their recipients or to confirm actions to their recipients.
Some of the external outputs are designed as turnaround outputs that are implemented as a form and go back into the system as input.
Internal exits
Internal outputs exist within the system and are used by end users and managers. They support management in decision-making and reporting.
There are three types of reports generated from management information −
1. Detailed Reports – They provide up-to-date information with almost no filtering or limitation to aid in management planning and control.
2. Summary Reports - They contain trends and potential issues that are categorized and summarized and generated for managers who don't want the details.
3. Exception Reports - They contain exceptions, filtered data according to certain conditions or standards before being presented to the manager for information.
Output Integrity Controls
Outbound integrity checks include routing codes to identify the receiving system and verification messages to confirm successful receipt of messages processed by the network protocol.
Printed or screen format reports should include a report print date/time and the data. Multi-page reports include report title or description and pagination. Preprinted forms usually contain a version number and the effective date.
Formulardesign
Both forms and reports are the product of input and output design and are business documents composed of specific data. The main difference is that forms provide fields for data entry, but reports are read-only. For example, order forms, job and loan applications, etc.
When designing forms, designers should know −
o who will use them
o where would they be delivered
o Purpose of the form or report
During form design, automated design tools improve the developer's ability to prototype forms and reports and submit them to end users for evaluation.
Goals of Good Form Design
Good form design is necessary to ensure −
- To keep the screen simple by providing the correct order, information and clear labels.
- Fulfillment of purpose through the use of suitable forms.
- To ensure that the form is filled out correctly.
- To keep the forms attractive by using icons, inverse video or blinking cursors etc.
- To facilitate navigation.
types of forms
Flat Shapes
It is a single-copy form that is created manually or by machine and printed on paper. Carbon papers are inserted between copies for additional copies of the original.
It is the simplest and most economical form to design, print and reproduce, requiring less volume.
Unit Set/Snap-Out Forms
These are papers with one-off carbon copies interleaved in unit sets for either handwritten or machine use.
Carbons can be either blue or black, standard grade medium intensity. In general, blue charcoal is best for handwritten forms, while black charcoal is best for machine use.
Endless strips/zigzag forms
These are multiple unit forms joined in a continuous strip with perforations between each pair of forms.
It is a more cost-effective method for use in large quantities.
No Carbon Required (NCR) paper
- They use carbonless papers, which have two chemical coatings (capsules), one on the front and the other on the back of a sheet of paper.
- When pressure is applied, the two capsules interact and create an image.
testing and quality assurance
The software system must be reviewed for the intended behavior and direction of progress at each development stage to avoid duplication, time and cost overruns and to ensure completion of the system within the specified time, intended behavior and direction of progress at each development stage to avoid duplication, Avoid time and cost overruns and ensure the completion of the system within the stipulated time.
System test and quality assurance help to check the system. It contains −
1. Product Level Quality (Testing)
2. Quality at process level.
Let's go through them briefly −
To test
Testing is the process or activity that verifies the functionality and correctness of software according to specified user requirements in order to improve the quality and reliability of the system. This is an expensive, time-consuming, and critical approach in system development that requires proper planning of the entire testing process.
A successful test is one that finds the bugs. It runs the program with the express intention of finding bugs, i.e. H. to cause the program to fail. It is a process of evaluating the system with the intention of creating a strong system
system and mainly focuses on the vulnerabilities of the system or software.
Features of the system test
System tests start at the module level and go all the way to the integration of the entire software system. Different testing techniques are used at different times during testing of the system. It is carried out by the developer for small projects and by independent test groups for large projects.
System test phases
The following phases are involved in testing −
test strategy
It is an explanation that provides information about the different layers, methods, tools and techniques used to test the system. It should meet all the needs of an organization.
experimental plan
It provides a plan for testing the system and verifies that the system under test meets all design and functional specifications. The test plan contains the following information −
1. Goals of each test phase
2. Approaches and tools used for testing
3. Responsibilities and time required for each testing activity
4. Availability of tools, facilities and test libraries
5. Procedures and standards required for planning and conducting the tests
6. Factors responsible for the successful completion of the testing process
Test case design
Test cases are used to uncover as many errors in the system as possible.
Several test cases are identified for each module of the system to be tested.
Each test case will specify how the implementation of a particular requirement or design decision is to be tested and the criteria for the success of the test.
The test cases are documented along with the test plan as part of a system specification document or in a separate document called the test specification or test description.
test procedure
It consists of the steps that should be followed to run each of the test cases. These procedures are specified in a separate document called the Test Procedure Specification. This document also specifies any special requirements and formats for reporting the outcome of the test.
test result documentation
The test results file contains brief information about the total number of test cases executed, the number of errors and the type of errors. These results are then evaluated against the criteria in the test specification to determine the overall score of the test.
types of tests
Testing can be of different types and different types of tests are performed depending on what kind of bugs you want to discover −
Unit-Tests
Also known as program testing, it is a type of testing where the analyst independently tests or focuses on each program or module. It is run with the intention of executing each statement of the module at least once.
With unit testing, the accuracy of the program cannot be guaranteed, and it is difficult to test various input combinations in detail.
It identifies maximum errors in a program compared to other testing techniques.
Integrationstests
In integration testing, the analyst tests multiple modules working together. It is used to find discrepancies between the system and its original purpose, current specifications and system documentation.
Here the analysts try to find areas where modules have been designed with different specifications for data length, type and data element name.
It verifies that the file sizes are appropriate and that the indexes were built properly.
functional test
Functional tests determine whether the system is functioning correctly according to its specifications and relevant standard documentation. Functional testing usually begins with the implementation of the system, which is very critical to the success of the system.
Functional tests are divided into two categories −
1. Positive Functional Test - It involves testing the system with valid inputs to verify that the outputs generated are correct.
2. Negative Functional Test − It involves testing the software with invalid and unwanted inputs
operating conditions.
System test rules
In order to successfully conduct system tests, you must follow the given rules −
1. Testing should be based on user's requirements.
2. Before writing test scripts, understand that the business logic should be thoroughly understood.
3. The test plan should be created as soon as possible.
4. The test should be performed by a third party.
5. It should be done on static software.
6. It should test for valid and invalid input conditions.
7. Tests should be reviewed and studied to reduce costs.
8. The software should be subjected to both static and dynamic testing.
9. Test cases and test results should be documented.
quality control
It is the review of system or software products and their documentation to ensure that the system meets requirements and specifications.
- The purpose of Quality Assurance is to give customers confidence by consistently delivering products according to specifications.
- Software Quality Assurance (SQA) is a technique that includes procedures and tools used by software professionals to ensure that software meets the stated standard for its intended use and performance.
- The main objective of SQA is to provide the administration with adequate and accurate visibility of the software project and the product developed from it.
- It reviews and audits the software product and its activities throughout the system development life cycle.
Quality Assurance Goals
The objectives of conducting quality assurance are as follows −
1. Supervision of the software development process and the final developed software.
2. To ensure that the software project implements the standards and procedures established by management.
3. Inform groups and individuals about SQA activities and outcomes of those activities.
4. To ensure that the issues not resolved within the software are addressed by senior management.
5. To identify and correct deficiencies in the product, process or standards.
levels of quality assurance
There are several levels of quality assurance and testing that must be performed in order to certify a software product.
Ebene 1 − Code-Walk-Through
At this level, offline software is examined or checked for violations of the official coding rules. In general, the focus is on examining the documentation and the in-code comment level.
Level 2 − compilation and linking
This level verifies that the software can compile and link to all official platforms and operating systems.
Stage 3 - Running routine
This level verifies that the software can run properly under various conditions such as a certain number of events and small and large event sizes, etc.
Level 4 − performance test
This final stage verifies that the software's performance meets the previously established performance level.
System implementation and maintenance
Implementation is a process that ensures that the information system is operational. It's about −
Building a new system from scratch
Building a new system from the existing one.
The implementation allows users to take ownership of the operation for use and evaluation. It's about training users on how to use the system and planning a smooth transition.
Training
The personnel in the system need to know in detail what their role will be, how they can use the system and what the system will or will not do. The success or failure of well-designed and technically elegant systems can depend on the way they are operated and used.
Train system operators
System operators must be properly trained to handle all possible operations, both routine and extraordinary. Operators should be trained on what common faults can occur, how to recognize them, and what actions to take when they occur.
Training includes creating troubleshooting lists to identify potential problems and corrective actions, as well as the names and phone numbers of people to contact if unexpected or unusual problems arise.
The training also includes learning about operational procedures, which involves working through the sequence of activities required to use a new system.
user training
1. End-user training is an important part of developing computerized information systems, which must be made available to employees to enable them to solve their own problems.
2. User training includes how to operate the device, troubleshoot the system problem, and determine whether any problem you are experiencing is caused by the device or the software.
3. Most user training deals with the operation of the system itself. The training must be designed in such a way that it helps the user to quickly mobilize for the organization.
training guidelines
Set measurable goals
With appropriate training methods
Selection of suitable training locations
Use of understandable training materials
training methods
Trainer-led training
It affects both trainers and trainees who need to meet at the same time but not necessarily in the same place. The training can take place as individual or group training. There are two types −
virtual classroom
In this training, the trainers must meet at the same time as the trainees, but they do not have to be in the same place. The main tools used here are: video conferencing, text-based internet relay chat tools or virtual reality packages, etc.
normal classroom
The trainers must meet the trainees at the same time and place. The main tools used here are blackboard, overhead projector, LCD projector, etc.
Self-paced training
It concerns both trainers and trainees who do not have to meet at the same place or at the same time. That
Trainees learn the skills themselves by accessing the courses at their leisure. There are two types −
Multimedia-Training
In this training, courses are presented in multimedia format and stored on CD-ROM. It minimizes the cost of developing an in-house training course without external programmer support.
Web-Based Training
In this training, courses are often presented and developed in hypermedia format to support the Internet and Intranet. It provides just-in-time training for end users and allows organizations to customize training needs.
conversion
It is a process of migrating from the old system to the new one. It provides an understandable and structured approach to improve communication between management and the project team.
conversion plan
It contains a description of all activities that occur during the implementation of the new system and need to be put into operation. It anticipates possible problems and solutions to overcome them.
It includes the following activities −
1. Rename all files for conversions.
2. Identifying data requirements for developing new files during conversion.
3. Listing of all new documents and procedures that are required.
4. Identify the controls to be used in each activity.
5. Identify the person's responsibility for each activity.
6. Review of conversion plans.
conversion methods
The four conversion methods are −
1. Parallel conversion
2. Direct cutover conversion
3. Pilot approach
4. Phase-in-Methode
system check
It is an examination to check the performance of an operating system. The objectives of conducting a system audit are as follows −
1. To compare actual and planned performance.
2. To verify that the specified targets of the system are still valid in the current environment.
3. To assess the achievement of the stated objectives.
4. To ensure the reliability of computerized financial and other information.
5. To ensure all records are included during processing.
6. To ensure protection against fraud.
Computer system usage audit
Data processing auditors examine the use of computer systems in order to control them. The auditor needs control data obtained from the computer system itself.
The system checker
The auditor's role begins in the early stages of system development to ensure the resulting system is secure. It
describes an idea of system utilization that can be recorded to aid in load planning and decision-making on hardware and software specifications. It gives an indication of wise use of the computer system and possible misuse of the system.
exam attempt
An audit attempt, or audit log, is a security record of who accessed a computer system and what operations were performed during a specified period of time. Verification attempts are used to understand in detail how data has changed on the system.
It provides documentary evidence of various control techniques that a transaction is subject to during its processing. Audit studies do not exist independently. They are carried out as part of accounting for the recovery of lost transactions.
examination methods
Auditing can be done in two different ways −
Auditing around the computer
1. Take sample inputs and apply processing rules manually.
2. Compare the outputs to the computer outputs.
Auditing by the computer
1. Set up an attempt to test selected intermediate results.
2. Check totals provide intermediate checks.
exam considerations
Audit considerations examine the results of the analysis, using both the narratives and the models to identify the problems caused by misplaced functions, split processes or functions, broken data flows, missing data, redundant or incomplete processing, and unaddressed automation opportunities will.
The activities in this phase are as follows −
1. Identification of the current environmental problems
2. Identification of problem causes
3. Identification of alternative solutions
4. Evaluation and feasibility analysis of each solution
5. Selection and recommendation of the most practical and suitable solution
6. Project cost estimation and cost benefit analysis
security
System security refers to protecting the system from theft, unauthorized access and modification, and accidental or unintentional damage. In computerized systems, security involves protecting all parts of the computer system, which includes data, software, and hardware. System security includes system data protection and system integrity.
System privacy is concerned with protecting individual systems from being accessed and used without the permission/knowledge of the individuals concerned.
System integrity deals with the quality and reliability of both the raw data and the processed data in the system.
control measures
There are a variety of control measures, which can be roughly classified as follows −
fuse
1. Regular backup of databases daily/weekly depending on time criticality and size.
2. Incremental backup at shorter intervals.
3. Backup copies kept in a secure remote location, especially required for disaster recovery.
4. Duplicate systems are running and all transactions are mirrored when it is a very critical system and cannot tolerate any interruption before it is saved to disk.
Physical access control to facilities
- Physical locks and biometric authentication. fingerprint for example
- IDs or tickets will be checked by security personnel.
- Identification of all persons who read or change data and logging in a file.
Use logical or software control
- Passwortsystem.
- Encryption of sensitive data/programs.
- Training of employees on data maintenance/handling and security.
- Antivirus software and firewall protection when connected to the Internet.
Risk analysis
A risk is the possibility of losing something valuable. Risk analysis begins with planning for a secure system by identifying the system's vulnerabilities and their impact. Then the plan is made to manage the risk and deal with the disaster. It is done to capture the likelihood of a potential disaster and its cost.
Risk analysis is a teamwork of experts with different backgrounds such as chemicals, human error and process equipment.
The following steps are to be followed when conducting a risk analysis −
- Identification of all components of the computer system.
- Identification of all the threats and hazards each of the components are exposed to.
- quantification of risks, i. H. Assessment of damage if threats become a reality.
Risk analysis - main steps
As the risks or threats change and the potential loss also changes, risk management should be carried out regularly by senior managers.
Risk management is a continuous process and includes the following steps −
- Identification of security measures.
- Calculation of the costs for the implementation of security measures.
- Compare the cost of security measures with the loss and probability of threats.
- Selection and implementation of security measures.
- Checking the implementation of security measures.
Object-oriented approach
With the object-oriented approach, the focus is on capturing the structure and behavior of information systems in small modules that combine both data and processes. The main goal of Object Oriented Design (OOD) is to improve the quality and productivity of system analysis and design by making it more user-friendly.
In the analysis phase, OO models are used to bridge the gap between problem and solution. It works well in situations where systems are continuously being designed, adjusted, and maintained. It identifies the objects in the problem domain and classifies them in terms of data and behavior.
The OO model is advantageous in the following ways −
- It allows changes in the system at low cost.
- It encourages component reuse.
- It simplifies the problem of integrating components to configure large systems.
- It simplifies the design of distributed systems.
Elements of the object-oriented system
Let's go through the properties of the OO system −
Objects - An object is something that exists within the problem domain and can be identified by data (attribute) or behavior. All material entities (student, patient) and some intangible entities (bank account) are modeled as an object.
Attributes − They describe information about the object.
Behavior - It specifies what the object can do. It defines the operation performed on objects.
Class - A class encapsulates the data and its behavior. Objects of similar meaning and purpose grouped together as a class.
Methods − Methods determine the behavior of a class. They are nothing more than an action that an object can perform.
Message - A message is a function or procedure call from one object to another. They are information sent to objects to trigger methods. Essentially, a message is a function or procedure call from one object to another.
Features of the object-oriented system
An object-oriented system has several great features, which are discussed below.
Encapsulation
Encapsulation is a process of hiding information. It is simply the combination of process and data into a single entity. An object's data is hidden from the rest of the system and is only available through the services of the class. It allows methods used by objects to be improved or modified without affecting other parts of a system.
abstraction
It is a process of taking or selecting necessary methods and attributes to specify the object. It focuses on essential characteristics of an object in relation to the user's perspective.
Relationships
All classes in the system are related to each other. Objects do not exist in isolation, they exist in relation to other objects.
There are three types of object relations −
1. Aggregation − It shows the relationship between a whole and its parts.
2. Association - where two classes are related or connected in some way, e.g. for example, one class cooperates with another to perform a task, or one class interacts with another class.
3. Generalization - The child class is based on the parent class. It indicates that two classes are similar but
have some differences.
estate
Inheritance is a great feature that allows creating subclasses from an existing class by inheriting the attributes and/or operations of existing classes.
Polymorphism and dynamic binding
Polymorphism is the ability to take many different forms. It applies to both objects and operations. A polymorphic object is one that hides within a super or parent class.
In the polymorphic operation, the operation can be performed differently by different classes of objects. It allows us to manipulate objects of different classes just by knowing their common properties.
Unified Modeling Language (UML)
Object-oriented approach
It works with the bottom-up approach.
The program is organized by a number of classes and objects.
Message passing is used. Reusability is possible.
Object-oriented design programming performed concurrently with other phases.
It is suitable for in-house development.
Not so clear transition from design to implementation.
It is suitable for most business applications, game development projects to be customized or extended.
Class diagram, sequence diagram, state diagram and use cases all contribute.
With this approach, projects can be difficult to manage due to uncertain transitions between phases.
UML is a visual language that allows you to model processes, software, and systems to express system architecture design. It is a standard language for object-oriented design and documentation of a system, allowing technical architects to communicate with developers.
It is defined as a set of specifications created and distributed by the Object Management Group. UML is extensible and scalable.
The goal of UML is to provide a common vocabulary of object-oriented terms and diagram techniques rich enough to model any systems development project from analysis to implementation.
UML consists of −
1. Diagrams - It is a pictorial representation of the process, system or part of it.
2. Notations - It consists of elements that work together in a diagram, such as: B. connectors, symbols, notes, etc.
Example of UML notation for class
Operations performed on objects
The following operations are performed on the objects −
1. Constructor/Destructor - Creating new instances of a class and deleting existing instances of a class. For example adding a new employee.
2. Query − state access without value change, has no side effects. For example, searching for the address of a specific employee.
3. Update - Changes the value of one or more attributes and affects the state of the object. For example, changing an employee's address.
Using UML
UML is very useful for the following purposes −
- Business process modelling
- Description of the system architecture
- View the application structure
- Capturing the system behavior
- modeling of the data structure
- Creating the detailed specifications of the system
- sketch ideas
- Generating the program code
Static Models
Static models show the structural properties of a system, describing its system structure and emphasizing the parts that make up the system.
1. They are used to define class names, attributes, methods, signatures and packages.
2. UML diagrams representing a static model include class diagrams, object diagrams and use case diagrams.
Dynamic Models
Dynamic models show the behavioral properties of a system, i. H. how the system behaves in response to external events.
- Dynamic models identify the object needed and how they work together through methods and messages.
- They are used to design the logic and behavior of the system.
- UML diagrams represent dynamic models, including sequence diagrams, communication diagrams, state diagrams, and activity diagrams.
Life cycle of object-oriented system development
It consists of three macro processes −
- Object Oriented Analysis (OOA)
- Object-Oriented Design (OOD)
- Object-Oriented Implementation (OOI)
Activities for the development of object-oriented systems
The object-oriented system development includes the following phases −
- Object Oriented Analysis
- Object Oriented Design
- develop prototype
- implementation
- Incremental testing
Object Oriented Analysis
This phase is about determining the system requirements and creating a use case model to understand the system requirements. A use case is a scenario describing the interaction between the user and the computer system. This model represents the user requirements or user view of the system.
It also involves identifying the classes and their relationships to the other classes in the problem domain that make up an application.
Object Oriented Design
The goal of this phase is to design and refine the classes, attributes, methods, and structures that will be identified during the analysis phase, user interface, and data access. This phase also identifies and defines the additional classes or objects that support the implementation of the requirement.
develop prototype
Prototyping allows to fully understand how easy or difficult it will be to implement some of the system's features.
It can also allow users to comment on the theme's usability and usefulness. It can further define a use case and greatly simplify use case modeling.
implementation
It uses either Component Based Development (CBD) or Rapid Application Development (RAD).
Component Based Development (CBD)
CODD is an industrialized approach to the software development process using various technologies such as CASE tools. Application development moves from custom development to the assembly of ready-made, pre-tested, reusable software components that work together. A CBD developer can assemble components to build a complete software system.
Rapid Application Development (RAD)
RAD is a set of tools and techniques that allow an application to be built faster than is typically possible using traditional methods. It does not replace SDLC but complements it as it focuses more on process description and combines perfectly with the object-oriented approach.
His task is to build the application quickly and gradually implement the design of the user requirements through tools like Visual Basic, Power Builder, etc.
Incremental testing
Software development and all its activities, including testing, are an iterative process. Therefore, testing a product after it is fully developed can become a costly affair. This is where incremental testing comes in, where the product is tested at different stages of its development.