The coupling between different modules of a software is categorized as follows
The coupling between different modules of a software is categorized as follows Show
$${\rm I} - {\rm I}{\rm I} - {\rm I}{\rm I}{\rm I} - {\rm I}V - V$$ $$V - {\rm I}V - {\rm I}{\rm I}{\rm I} - {\rm I}{\rm I} - {\rm I}$$ $${\rm I} - {\rm I}{\rm I}{\rm I} - V - {\rm I}{\rm I} - {\rm I}V$$ $${\rm I}V - {\rm I}{\rm I} - V - {\rm I}{\rm I}{\rm I} - {\rm I}$$ Q. The coupling between different modules of a software is as follows Content ➨ Post your comment / Share knowledgeEnter the code shown above: (Note: If you cannot read the numbers in the above image, reload the page to generate a new one.) Correct Option: AContent coupling (high) Content coupling is the process in which one module relies on the internal workings of another module. Common coupling Common coupling is the process in which two modules share the same global data. Control coupling Control coupling is the process in which one module controls the flow of another, by passing it information. This information is basically what work is to be done. Stamp coupling Stamp coupling is the process in which modules share a composite data structure however use only a part of it. Coupling between modules can be ranked in the order of strongest (least desirable) to weakest (most desirable) as follows: Content Coupling, Common Coupling, External Coupling, Control Coupling, Stamp Coupling, Data Coupling. Systems development is systematic process which includes phases such as planning, analysis, design, deployment, and maintenance. Here, in this tutorial, we will primarily focus on −
Systems AnalysisIt is a process of collecting and interpreting facts, identifying the problems, and decomposition of a system into its components. System analysis is conducted for the purpose of studying a system or its parts in order to identify its objectives. It is a problem solving technique that improves the system and ensures that all the components of the system work efficiently to accomplish their purpose. Analysis specifies what the system should do. Systems DesignIt is a process of planning a new business system or replacing an existing system by defining its components or modules to satisfy the specific requirements. Before planning, you need to understand the old system thoroughly and determine how computers can best be used in order to operate efficiently. System Design focuses on how to accomplish the objective of the system. System Analysis and Design (SAD) mainly focuses on −
What is a System?The word System is derived from Greek word Systema, which means an organized relationship between any set of components to achieve some common cause or objective. A system is “an orderly grouping of interdependent components linked together according to a plan to achieve a specific goal.” Constraints of a SystemA system must have three basic constraints −
For example, traffic management system, payroll system, automatic library system, human resources information system. Properties of a SystemA system has the following properties − OrganizationOrganization implies structure and order. It is the arrangement of components that helps to achieve predetermined objectives. InteractionIt is defined by the manner in which the components operate with each other. For example, in an organization, purchasing department must interact with production department and payroll with personnel department. InterdependenceInterdependence means how the components of a system depend on one another. For proper functioning, the components are coordinated and linked together according to a specified plan. The output of one subsystem is the required by other subsystem as input. IntegrationIntegration is concerned with how a system components are connected together. It means that the parts of the system work together within the system even if each part performs a unique function. Central ObjectiveThe objective of system must be central. It may be real or stated. It is not uncommon for an organization to state an objective and operate to achieve another. The users must know the main objective of a computer application early in the analysis for a successful design and conversion. Elements of a SystemThe following diagram shows the elements of a system − Outputs and Inputs
Processor(s)
Control
Feedback
Environment
Boundaries and Interface
Types of SystemsThe systems can be divided into the following types − Physical or Abstract Systems
Open or Closed Systems
Adaptive and Non Adaptive System
Permanent or Temporary System
Natural and Manufactured System
Deterministic or Probabilistic System
Social, Human-Machine, Machine System
Man–Made Information Systems
Systems ModelsSchematic Models
Flow System Models
Static System Models
Dynamic System Models
Categories of InformationThere are three categories of information related to managerial levels and the decision managers make. Strategic Information
Managerial Information
Operational information
An effective System Development Life Cycle (SDLC) should result in a high quality system that meets customer expectations, reaches completion within time and cost evaluations, and works effectively and efficiently in the current and planned Information Technology infrastructure. System Development Life Cycle (SDLC) is a conceptual model which includes policies and procedures for developing or altering systems throughout their life cycles. SDLC is used by analysts to develop an information system. SDLC includes the following activities −
Phases of SDLCSystems Development Life Cycle is a systematic approach which explicitly breaks down the work into phases that are required to implement either new or modified Information System. Feasibility Study or Planning
Analysis and Specification
System Design
Implementation
Maintenance/Support
Life Cycle of System Analysis and DesignThe following diagram shows the complete life cycle of the system during analysis and design phase. Role of System AnalystThe system analyst is a person who is thoroughly aware of the system and guides the system development project by giving proper directions. He is an expert having technical and interpersonal skills to carry out development tasks required at each phase. He pursues to match the objectives of information system with the organization goal. Main Roles
Attributes of a Systems AnalystThe following figure shows the attributes a systems analyst should possess − Interpersonal Skills
Analytical Skills
Management Skills
Technical Skills
What is Requirements Determination?A requirement is a vital feature of a new system which may include processing or capturing of data, controlling the activities of business, producing information and supporting the management. Requirements determination involves studying the existing system and gathering details to find out what are the requirements, how it works, and where improvements should be made. Major Activities in requirement DeterminationRequirements Anticipation
Requirements Investigation
Requirements Specifications
Information Gathering TechniquesThe main aim of fact finding techniques is to determine the information requirements of an organization used by analysts to prepare a precise SRS understood by user. Ideal SRS Document should −
There are various information gathering techniques − InterviewingSystems analyst collects information from individuals or groups by interviewing. The analyst can be formal, legalistic, play politics, or be informal; as the success of an interview depends on the skill of analyst as interviewer. It can be done in two ways −
Advantages of Interviewing
QuestionnairesThis method is used by analyst to gather information about various issues of system from large number of persons. There are two types of questionnaires −
Advantages of questionnaires
Review of Records, Procedures, and FormsReview of existing records, procedures, and forms helps to seek insight into a system which describes the current system capabilities, its operations, or activities. Advantages
ObservationThis is a method of gathering information by noticing and observing the people, events, and objects. The analyst visits the organization to observe the working of current system and understands the requirements of the system. Advantages
Joint Application Development (JAD)It is a new technique developed by IBM which brings owners, users, analysts, designers, and builders to define and design the system using organized and intensive workshops. JAD trained analyst act as facilitator for workshop who has some specialized skills. Advantages of JAD
Secondary Research or Background ReadingThis method is widely used for information gathering by accessing the gleaned information. It includes any previously gathered information used by the marketer from any internal or external source. Advantages
Feasibility StudyFeasibility Study can be considered as preliminary investigation that helps the management to take decision about whether study of system should be feasible for development or not.
Steps Involved in Feasibility AnalysisThe following steps are to be followed while performing feasibility analysis −
Types of FeasibilitiesEconomic Feasibility
Technical Feasibility
Operational Feasibility
Behavioral Feasibility
Schedule Feasibility
Analysts use various tools to understand and describe the information system. One of the ways is using 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, which uses graphical tools that analyze and refine the objectives of an existing system and develop a new system specification which can be easily understandable by user. It has following attributes −
Structured Analysis ToolsDuring Structured Analysis, various tools and techniques are used for system development. They are −
Data Flow Diagrams (DFD) or Bubble ChartIt is a technique developed by Larry Constantine to express the requirements of system in a graphical form.
Basic Elements of DFDDFD is easy to understand and quite effective when the required design is not clear and the user wants a notational language for communication. However, it requires a large number of iterations for obtaining the most accurate and complete solution. The following table shows the symbols used in designing a DFD and their significance − Symbol NameSymbolMeaningSquareSource or Destination of DataArrowData flowCircleProcess transforming data flowOpen RectangleData StoreTypes of DFDDFDs are of two types: Physical DFD and Logical DFD. The following table lists the points that differentiate a physical DFD from a logical DFD. Physical DFDLogical DFDIt is implementation dependent. It shows which functions are performed.It is implementation independent. It focuses only on the flow of data between processes.It provides low level details of hardware, software, files, and people.It explains events of systems and data required by each event.It depicts how the current system operates and how a system will be implemented.It shows how business operates; not how the system can be implemented.Context DiagramA context diagram helps in understanding the entire system by one DFD which gives the overview of a system. It starts with mentioning major processes with little details and then goes onto giving more details of the processes with the top-down approach. The context diagram of mess management is shown below. Data DictionaryA data dictionary is a structured repository of data elements in the system. It stores the descriptions of all DFD data elements that is, details and definitions of data flows, data stores, data stored in data stores, and the processes. A data dictionary improves the communication between the analyst and the user. It plays an important role in building a database. Most DBMSs have a data dictionary as a standard feature. For example, refer the following table − Sr.No.Data NameDescriptionNo. of Characters1ISBNISBN Number102TITLEtitle603SUBBook Subjects804ANAMEAuthor Name15Decision TreesDecision trees are a method for defining complex relationships by describing decisions and avoiding the problems in communication. A decision tree is a diagram that shows alternative actions and conditions within horizontal tree framework. Thus, it depicts which conditions to consider first, second, and so on. Decision trees depict the relationship of each condition and their permissible actions. A square node indicates an action and a circle indicates a condition. It forces analysts to consider the sequence of decisions and identifies the actual decision that must be made. The major limitation of a decision tree is that it lacks information in its format to describe what other combinations of conditions you can take for testing. It is a single representation of the relationships between conditions and actions. For example, refer the following decision tree − Decision TablesDecision tables are a method of describing the complex logical relationship in a precise manner which is easily understandable.
Components of a Decision Table
The entries in decision table are given by Decision Rules which define the relationships between combinations of conditions and courses of action. In rules section,
For example, refer the following table − CONDITIONSRule 1Rule 2Rule 3Rule 4Advance payment madeYNNNPurchase amount = Rs 10,000/--YYNRegular Customer-YN-ACTIONSGive 5% discountXX--Give no discount--XXStructured EnglishStructure English is derived from structured programming language which gives more understandable and precise description of process. It is based on procedural logic that uses construction and imperative sentences designed to perform operation for action.
For example, see the following sequence of actions − if customer pays advance then Give 5% Discount else if purchase amount >=10,000 then if the customer is a regular customer then Give 5% Discount else No Discount end if else No Discount end if end if PseudocodeA pseudocode does not conform to any programming language and expresses logic in plain English.
Guidelines for Selecting Appropriate ToolsUse the following guidelines for selecting the most appropriate tool that would suit your requirements −
System design is the phase that bridges the gap between problem domain and the existing system in a manageable way. This phase focuses on the solution domain, i.e. “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 will operate. In this phase, the complex activity of system development is divided into several smaller sub-activities, which coordinate with each other to achieve the main objective of system development. Inputs to System DesignSystem design takes the following inputs −
Outputs for System DesignSystem design gives the following outputs −
Types of System DesignLogical DesignLogical design pertains 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) all in a format that meets the user requirements. While preparing the logical design of a system, the system analyst specifies the user needs at level of detail that virtually determines the information flow into and out of the system and the required data sources. Data flow diagram, E-R diagram modeling are used. Physical DesignPhysical design relates 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 produces the working system by defining the design specification that specifies exactly what the candidate system does. It is concerned with user interface design, process design, and data design. It consists of the following steps −
Architectural DesignIt is also known as high level design that focuses on the design of system architecture. It describes the structure and behavior of the system. It defines the structure and relationship between various modules of system development process. Detailed DesignIt follows Architectural design and focuses on development of each module. Conceptual Data ModelingIt is representation of organizational data which includes all the major entities and relationship. System analysts develop a conceptual data model for the current system that supports the scope and requirement for the proposed system. The main aim of conceptual data modeling is to capture as much meaning of data as possible. Most organization today use conceptual data modeling using E-R model which uses special notation to represent as much meaning about data as possible. Entity Relationship ModelIt is a technique used in database design that helps describe the relationship between various entities of an organization. Terms used in E-R model
The following table shows the symbols used in E-R model and their significance − SymbolMeaningEntityWeak EntityRelationshipIdentity RelationshipAttributesKey AttributesMultivaluedComposite AttributeDerived AttributesTotal Participation of E2 in RCardinality Ratio 1:N for E1:E2 in RThree types of relationships can exist between two sets of data: one-to-one, one-to-many, and many-to-many. File OrganizationIt describes how records are stored within a file. There are four file organization methods −
ComparisionFile AccessOne can access a file using either Sequential Access or Random Access. File Access methods allow computer programs read or write records in a file. Sequential AccessEvery record on the file is processed starting with the first record until End of File (EOF) is reached. It is efficient when a large number of the records on the file need to be accessed at any given time. Data stored on a tape (sequential access) can be accessed only sequentially. Direct (Random) AccessRecords are located by knowing their physical locations or addresses on the device rather than their positions relative to other records. Data stored on a CD device (direct-access) can be accessed either sequentially or randomly. Types of Files used in an Organization SystemFollowing are the types of files used in an organization system −
Documentation ControlDocumentation is a process of recording the information for any reference or operational purpose. It helps users, managers, and IT staff, who require it. It is important that prepared document must be updated on regular basis to trace the progress of the system easily. After the implementation of system if the system is working improperly, then documentation helps the administrator to understand the flow of data in the system to correct the flaws and get the system working. Programmers or systems analysts usually create program and system documentation. Systems analysts usually are responsible for preparing documentation to help users learn the system. In large companies, a technical support team that includes technical writers might assist in the preparation of user documentation and training materials. Advantages
Types of DocumentationsWhen it comes to System Design, there are following four main documentations −
Program Documentation
Operations DocumentationOperations documentation contains all the information needed for processing and distributing online and printed output. Operations documentation should be clear, concise, and available online if possible. It includes the following information −
User DocumentationIt includes instructions and information to the users who will interact with the system. For example, user manuals, help guides, and tutorials. User documentation is valuable in training users and for reference purpose. It must be clear, understandable, and readily accessible to users at all levels. The users, system owners, analysts, and programmers, all put combined efforts to develop a user’s guide. A user documentation should include −
System DocumentationSystem documentation serves as the technical specifications for the IS and how the objectives of the IS are accomplished. Users, managers and IS owners need never reference system documentation. System documentation provides the basis for understanding the technical aspects of the IS when modifications are made.
Top-Down StrategyThe 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 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 StrategyBottom-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,
Structured DesignStructured 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. In structured designing, the system specifications act as a basis for graphically representing the flow of data and sequence of processes involved in a software development with the help of DFDs. After developing the DFDs for the software system, the next step is to develop the structure chart. ModularizationStructured design partitions the program into small and independent modules. These are organized in top down manner with the details shown in bottom. Thus, structured design uses an approach called Modularization or decomposition to minimize the complexity and to manage the problem by subdividing it into smaller segments. Advantages
Structured ChartsStructured charts are a recommended tool for designing a 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.
We have two different approaches to design a structured chart −
Objectives of Using Structure Flowcharts
Factors Affecting System ComplexityTo develop good quality of system software, it is necessary to develop a good design. Therefore, the main focus on while 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 the complexity of a system are coupling and cohesion. CouplingCoupling is the measure of the independence of components. It defines the degree of dependency of each module of system development on the other. 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 simple, clean interface with other modules, and that the minimum number of data elements should be shared between modules. High CouplingThese type of systems have interconnections with program units dependent on each other. Changes to one subsystem leads to high impact on the other subsystem. Low CouplingThese type of systems are made up of components which are independent or almost independent. A change in one subsystem does not affect any other subsystem. Coupling Measures
CohesionCohesion 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. The worst degree of cohesionCoincidental cohesion is found in a component whose parts are unrelated to another.
Input DesignIn an information system, input is the raw data that is processed to produce output. During the input design, the developers must consider the input devices such as PC, MICR, OMR, etc. Therefore, the quality of system input determines the quality of system output. Welldesigned input forms and screens have following properties −
Objectives for Input DesignThe objectives of input design are −
Data Input MethodsIt is important to design appropriate data input methods to prevent errors while entering data. These methods depend on whether the data is entered by customers in forms manually and later entered by data entry operators, or data is directly entered by users on the PCs. A system should prevent user from making mistakes by −
Some of the popular data input methods are −
Input Integrity ControlsInput integrity controls include a number of methods to eliminate common input errors by end-users. They also include checks on the value of individual fields; both for format and the completeness of all inputs. Audit trails for data entry and other system operations are created using transaction logs which gives a record of all changes introduced in the database to provide security and means of recovery in case of any failure. Output DesignThe design of output is the most important task of any system. During output design, developers identify the type of outputs needed, and consider the necessary output controls and prototype report layouts. Objectives of Output DesignThe objectives of input design are −
Let us now go through various types of outputs − External OutputsManufacturers create and design external outputs for printers. External outputs enable the system to leave the trigger actions on the part of their recipients or confirm actions to their recipients. Some of the external outputs are designed as turnaround outputs, which are implemented as a form and re-enter the system as an input. Internal outputsInternal outputs are present inside the system, and used by end-users and managers. They support the management in decision making and reporting. There are three types of reports produced by management information −
Output Integrity ControlsOutput integrity controls include routing codes to identify the receiving system, and verification messages to confirm successful receipt of messages that are handled by network protocol. Printed or screen-format reports should include a date/time for report printing and the data. Multipage reports contain report title or description, and pagination. Pre-printed forms usually include a version number and effective date. Forms DesignBoth forms and reports are the product of input and output design and are business document consisting of specified data. The main difference is that forms provide fields for data input but reports are purely used for reading. For example, order forms, employment and credit application, etc.
Objectives of Good Form DesignA good form design is necessary to ensure the following −
Types of FormsFlat Forms
Unit Set/Snap out Forms
Continuous strip/Fanfold Forms
No Carbon Required (NCR) Paper
The software system needs to be checked for its intended behavior and direction of progress at each development stage to avoid duplication of efforts, time and cost overruns, and to assure completion of the system within stipulated time.The software system needs to be checked for its intended behavior and direction of progress at each development stage to avoid duplication of efforts, time and cost overruns, and to assure completion of the system within stipulated time. System testing and quality assurance come to aid for checking the system. It includes −
Let us go through them briefly − TestingTesting is the process or activity that checks the functionality and correctness of software according to specified user requirements in order to improve the quality and reliability of system. It is an expensive, time consuming, and critical approach in system development which requires proper planning of overall testing process. A successful test is one that finds the errors. It executes the program with explicit intention of finding error, i.e., making the program fail. It is a process of evaluating system with an intention of creating a strong system and mainly focuses on the weak areas of the system or software. Characteristics of System TestingSystem testing begins at the module level and proceeds towards the integration of the entire software system. Different testing techniques are used at different times while testing the system. It is conducted by the developer for small projects and by independent testing groups for large projects. Stages of System TestingThe following stages are involved in testing − Test Strategy It is a statement that provides information about the various levels, methods, tools, and techniques used for testing the system. It should satisfy all the needs of an organization. Test Plan It provides a plan for testing the system and verifies that the system under testing fulfils all the design and functional specifications. The test plan provides the following information −
Test Case Design
Test Procedures It consists of the steps that should be followed to execute each of the test cases. These procedures are specified in a separate document called test procedure specification. This document also specifies any special requirements and formats for reporting the result of testing. Test Result Documentation Test result file contains brief information about the total number of test cases executed, the number of errors, and nature of errors. These results are then assessed against criteria in the test specification to determine the overall outcome of the test. Types of TestingTesting can be of various types and different types of tests are conducted depending on the kind of bugs one seeks to discover − Unit TestingAlso known as Program Testing, it is a type of testing where the analyst tests or focuses on each program or module independently. It is carried out with the intention of executing each statement of the module at least once.
Integration TestingIn Integration Testing, the analyst tests multiple module working together. It is used to find discrepancies between the system and its original objective, current specifications, and systems documentation.
Functional TestingFunction testing determines whether the system is functioning correctly according to its specifications and relevant standards documentation. Functional testing typically starts with the implementation of the system, which is very critical for the success of the system. Functional testing is divided into two categories −
Rules for System TestingTo carry out system testing successfully, you need to follow the given rules −
Quality AssuranceIt is the review of system or software products and its documentation for assurance that system meets the requirements and specifications.
Objectives of Quality AssuranceThe objectives of conducting quality assurance are as follows −
Levels of Quality AssuranceThere are several levels of QA and testing that need to be performed in order to certify a software product. Level 1 − Code Walk-through At this level, offline software is examined or checked for any violations of the official coding rules. In general, the emphasis is placed on examination of the documentation and level of in-code comments. Level 2 − Compilation and Linking At this level, it is checked that the software can compile and link all official platforms and operating systems. Level 3 − Routine Running At this level, it is checked that the software can run properly under a variety of conditions such as certain number of events and small and large event sizes etc. Level 4 − Performance test At this final level, it is checked that the performance of the software satisfies the previously specified performance level. Implementation is a process of ensuring that the information system is operational. It involves −
Implementation allows the users to take over its operation for use and evaluation. It involves training the users to handle the system and plan for a smooth conversion. TrainingThe personnel in the system must know in detail what their roles will be, how they can use the system, and what the system will or will not do. The success or failure of welldesigned and technically elegant systems can depend on the way they are operated and used. Training Systems OperatorsSystems operators must be trained properly such that they can handle all possible operations, both routine and extraordinary. The operators should be trained in what common malfunctions may occur, how to recognize them, and what steps to take when they come. Training involves creating troubleshooting lists to identify possible problems and remedies for them, as well as the names and telephone numbers of individuals to contact when unexpected or unusual problems arise. Training also involves familiarization with run procedures, which involves working through the sequence of activities needed to use a new system. User Training
Training Guidelines
Training MethodsInstructor-led trainingIt involves both trainers and trainees, who have to meet at the same time, but not necessarily at the same place. The training session could be one-on-one or collaborative. It is of two types − Virtual Classroom In this training, trainers must meet the trainees at the same time, but are not required to be at the same place. The primary 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 at the same place. They primary tools used here are blackboard, overhead projectors, LCD projector, etc. Self-Paced TrainingIt involves both trainers and trainees, who do not need to meet at the same place or at the same time. The trainees learn the skills themselves by accessing the courses at their own convenience. It is of two types − Multimedia Training In this training, courses are presented in multimedia format and stored on CD-ROM. It minimizes the cost in developing an in-house training course without assistance from external programmers. Web-based Training In this training, courses are often presented in hyper media format and developed to support internet and intranet. It provides just–in-time training for end users and allow organization to tailor training requirements. ConversionIt is a process of migrating from the old system to the new one. It provides understandable and structured approach to improve the communication between management and project team. Conversion PlanIt contains description of all the activities that must occur during implementation of the new system and put it into operation. It anticipates possible problems and solutions to deal with them. It includes the following activities −
Conversion MethodsThe four methods of conversion are −
Parallel Conversion Old and new systems are used simultaneously.Provides fallback when new system fails. Offers greatest security and ultimately testing of new system. Causes cost overruns. New system may not get fair trail. Direct Cutover Conversion New system is implemented and old system is replaced completely. Forces users to make new system work Immediate benefit from new methods and control. No fall back if problems arise with new system Requires most careful planning Pilot Approach Supports phased approach that gradually implement system across all users Allows training and installation without unnecessary use of resources. Avoid large contingencies from risk management. A long term phasein causes a problem of whether conversion goes well or not. Phase-In Method Working version of system implemented in one part of organization based on feedback, it is installed throughout the organization all alone or stage by stage. Provides experience and line test before implementation When preferred new system involves new technology or drastic changes in performance. Gives impression that old system is erroneous and it is not reliable. File ConversionIt is a process of converting one file format into another. For example, file in WordPerfect format can be converted into Microsoft Word. For successful conversion, a conversion plan is required, which includes −
Many popular applications support opening and saving to other file formats of the same type. For example, Microsoft Word can open and save files in many other word processing formats. Post-Implementation Evaluation Review (PIER)PIER is a tool or standard approach for evaluating the outcome of the project and determine whether the project is producing the expected benefits to the processes, products or services. It enables the user to verify that the project or system has achieved its desired outcome within specified time period and planned cost. PIER ensures that the project has met its goals by evaluating the development and management processes of the project. Objectives of PIERThe objectives of having a PIER are as follows −
The following staff members should be included in the review process −
System Maintenance / EnhancementMaintenance means restoring something to its original conditions. Enhancement means adding, modifying the code to support the changes in the user specification. System maintenance conforms the system to its original requirements and enhancement adds to system capability by incorporating new requirements. Thus, maintenance changes the existing system, enhancement adds features to the existing system, and development replaces the existing system. It is an important part of system development that includes the activities which corrects errors in system design and implementation, updates the documents, and tests the data. Maintenance TypesSystem maintenance can be classified into three types −
System AuditIt is an investigation to review the performance of an operational system. The objectives of conducting a system audit are as follows −
Audit of Computer System UsageData processing auditors audits the usage of computer system in order to control it. The auditor need control data which is obtained by computer system itself. The System AuditorThe role of auditor begins at the initial stage of system development so that resulting system is secure. It describes an idea of utilization of system that can be recorded which helps in load planning and deciding on hardware and software specifications. It gives an indication of wise use of the computer system and possible misuse of the system. Audit TrialAn audit trial or audit log is a security record which is comprised of who has accessed a computer system and what operations are performed during a given period of time. Audit trials are used to do detailed tracing of how data on the system has changed. It provides documentary evidence of various control techniques that a transaction is subject to during its processing. Audit trials do not exist independently. They are carried out as a part of accounting for recovering lost transactions. Audit MethodsAuditing can be done in two different ways − Auditing around the Computer
Auditing through the Computer
Audit ConsiderationsAudit considerations examine the results of the analysis by using both the narratives and models to identify the problems caused due to misplaced functions, split processes or functions, broken data flows, missing data, redundant or incomplete processing, and nonaddressed automation opportunities. The activities under this phase are as follows −
SecuritySystem security refers to protecting the system from theft, unauthorized access and modifications, and accidental or unintentional damage. In computerized systems, security involves protecting all the parts of computer system which includes data, software, and hardware. Systems security includes system privacy and system integrity.
Control MeasuresThere are variety of control measures which can be broadly classified as follows − Backup
Physical Access Control to Facilities
Using Logical or Software Control
Risk AnalysisA risk is the possibility of losing something of value. Risk analysis starts with planning for secure system by identifying the vulnerability of system and impact of this. The plan is then made to manage the risk and cope with disaster. It is done to accesses the probability of possible disaster and their cost. Risk analysis is a teamwork of experts with different backgrounds like chemicals, human error, and process equipment. The following steps are to be followed while conducting risk analysis −
Risk Analysis – Main StepsAs the risks or threats are changing and the potential loss are also changing, management of risk should be performed on periodic basis by senior managers. Risk management is a continuous process and it involves the following steps −
In the object-oriented approach, the focus is on capturing the structure and behavior of information systems into small modules that combines both data and process. The main aim of Object Oriented Design (OOD) is to improve the quality and productivity of system analysis and design by making it more usable. In analysis phase, OO models are used to fill the gap between problem and solution. It performs well in situation where systems are undergoing continuous design, adaption, and maintenance. It identifies the objects in problem domain, classifying them in terms of data and behavior. The OO model is beneficial in the following ways −
Elements of Object-Oriented SystemLet us go through the characteristics of OO System −
Features of Object-Oriented SystemAn object-oriented system comes with several great features which are discussed below. EncapsulationEncapsulation is a process of information hiding. It is simply the combination of process and data into a single entity. Data of an object is hidden from the rest of the system and available only through the services of the class. It allows improvement or modification of methods used by objects without affecting other parts of a system. AbstractionIt is a process of taking or selecting necessary method and attributes to specify the object. It focuses on essential characteristics of an object relative to perspective of user. RelationshipsAll the classes in the system are related with each other. The objects do not exist in isolation, they exist in relationship with other objects. There are three types of object relationships −
InheritanceInheritance is a great feature that allows to create sub-classes from an existing class by inheriting the attributes and/or operations of existing classes. Polymorphism and Dynamic BindingPolymorphism is the ability to take on many different forms. It applies to both objects and operations. A polymorphic object is one who true type hides within a super or parent class. In polymorphic operation, the operation may be carried out differently by different classes of objects. It allows us to manipulate objects of different classes by knowing only their common properties. Structured Approach Vs. Object-Oriented ApproachThe following table explains how the object-oriented approach differs from the traditional structured approach − Structured ApproachObject Oriented ApproachIt works with Top-down approach.It works with Bottom-up approach.Program is divided into number of submodules or functions.Program is organized by having number of classes and objects.Function call is used.Message passing is used.Software reuse is not possible.Reusability is possible.Structured design programming usually left until end phases.Object oriented design programming done concurrently with other phases.Structured Design is more suitable for offshoring.It is suitable for in-house development.It shows clear transition from design to implementation.Not so clear transition from design to implementation.It is suitable for real time system, embedded system and projects where objects are not the most useful level of abstraction.It is suitable for most business applications, game development projects, which are expected to customize or extended.DFD & E-R diagram model the data.Class diagram, sequence diagram, state chart diagram, and use cases all contribute.In this, projects can be managed easily due to clearly identifiable phases.In this approach, projects can be difficult to manage due to uncertain transitions between phase.Unified Modeling Language (UML)UML is a visual language that lets you to model processes, software, and systems to express the design of system architecture. It is a standard language for designing and documenting a system in an object oriented manner that allow technical architects to communicate with developer. It is defined as set of specifications created and distributed by Object Management Group. UML is extensible and scalable. The objective of UML is to provide a common vocabulary of object-oriented terms and diagramming techniques that is rich enough to model any systems development project from analysis through implementation. UML is made up of −
Example of UML Notation for classInstance diagram-UML notationOperations Performed on ObjectsThe following operations are performed on the objects −
Uses of UMLUML is quite useful for the following purposes −
Static ModelsStatic models show the structural characteristics of a system, describe its system structure, and emphasize on the parts that make up the system.
Dynamic ModelsDynamic models show the behavioral characteristics of a system, i.e., how the system behaves in response to external events.
Object Oriented System Development Life CycleIt consists of three macro processes −
Object Oriented Systems Development ActivitiesObject-oriented systems development includes the following stages −
Object-Oriented AnalysisThis phase concerns with determining the system requirements and to understand the system requirements build a use-case model. A use-case is a scenario to describe the interaction between user and computer system. This model represents the user needs or user view of system. It also includes identifying the classes and their relationships to the other classes in the problem domain, that make up an application. Object-Oriented DesignThe objective of this phase is to design and refine the classes, attributes, methods, and structures that are identified during the analysis phase, user interface, and data access. This phase also identifies and defines the additional classes or objects that support implementation of the requirement. PrototypingPrototyping enables to fully understand how easy or difficult it will be to implement some of the features of the system. It can also give users a chance to comment on the usability and usefulness of the design. It can further define a use-case and make use-case modeling much easier. ImplementationIt 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 range of technologies like CASE tools. Application development moves from custom development to assembly of pre-built, pre-tested, reusable software components that operate with each other. A CBD developer can assemble components to construct a complete software system. Rapid Application Development (RAD)RAD is a set of tools and techniques that can be used to build an application faster than typically possible with traditional methods. It does not replace SDLC but complements it, since it focuses more on process description and can be combined perfectly with the object oriented approach. Its task is to build the application quickly and incrementally implement the user requirements design through tools such as visual basic, power builder, etc. Incremental TestingSoftware development and all of its activities including testing are an iterative process. Therefore, it can be a costly affair if we wait to test a product only after its complete development. Here incremental testing comes into picture wherein the product is tested during various stages of its development. What are the different types of coupling in software engineering?Types of Coupling. Common Coupling.. Content Coupling.. Data Coupling.. Control Coupling.. Stamp Coupling.. External.. What are the types of module coupling?If two modules share the information through global data items or interact by sharing common data, then they are said to be commonly coupled. Content coupling simply means using of data or control information maintained in other modules by one module. This coupling is also known as pathological coupling.
What are the five levels of coupling?This material was covered during lectures on February 28, 1997.. Highest Level of Coupling (Unacceptable) Content Coupling.. High Levels of Coupling (Undesirable but Possibly Unavoidable) Common Coupling. ... . Moderate Levels of Coupling (Acceptable) Control Coupling.. Low Coupling (Desirable) ... . Lowest Level of Coupling.. Reference.. What is a coupling in software?In software engineering, coupling is the degree of interdependence between software modules; a measure of how closely connected two routines or modules are; the strength of the relationships between modules.
|