You are on page 1of 43

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Experiment No-1 OBJECTIVE: Aim: Study and categorize the generic phases of software
development and maintenance Theory: Various phases in Development Process:
Engineering and analysis, design, programs construction, validation and management of technical or social entities. In software engineering our entity is software that is to be produced so various phases for software development are:

Software development life cycle

Requirement Analysis

Feasibility study

Testing

Maintenance

Design

Coding

System design

Detailed Design

Fig.a. Work breakdown structure of software development life cycle

1. Requirement Analysis and Specification. 2. Design.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

3. Coding. 4. Testing. Requirement Analysis and Specification


It is done in order to understand the problem for which software is to be developed. In requirement analyses and specification we emphasis of what i.e. what is required from system not on how the system should satisfy the needs. There are two parties in RA&S, Client and developer. The developer develops the software to satisfy the client needs. The requirement analysis and specification has two parts.

Requirement Analysis- In this we collect and analyze the data to understand the
customers requirements and remove the inconsistencies and incompleteness. Inconsistency of a requirement is that the one part of requirement is contradictory to other parts. Incompleteness is that some part of requirement is omitted inadvertently. So the requirement analysis is to collect data and information from user to understand the problem by taking interviews and making discussions.

Requirement Specification- In this the requirement are organized and documented in a


document. It addresses all the requirements like functional requirement, non-functional requirement, special requirement for maintenance and development of software. User manuals and software test plans are also prepared in this phase. The person who handle the requirement analysis and specification is called analyst. The document that contains all the requirements are called software requirement specification document and requirement document and also called box specification of problem. The SRS works as a bridge between the client and developer.

Design
Designing phase starts when we have an SRS that addresses all the requirements for which software is to develop. As the SRS is in problem domain, so designing is first step form problem to solution domain. Design works as a bridge between SRS the final solution of the problem. The design is treated in 2 ways:-

1) Verb. 2) Noun.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

When design is a verb it represents the process of design when design is noun it represent the result of design. The goal of design process is to make a model of system or representation of system that is used later for system design. The output of design phase is design document that is also called blueprint or the solution of the problem.

Designing has two approaches:1) Function Oriented: In this approach we concentrate only on functional abstraction. 2) Object Oriented: In this approach we concentrate only one abstraction.

Designing has two levels as follows:1) Top Level Design: In system design the system is divided into many modules and specification of system and interconnection of modules are defined. 2) Low Level Design/Detailed Design: In detail design the internal logic of each of module and there specification is defined.

Coding
When design document of the system is ready then we need to prepare coding. In coding our main goal is to convert the design of system in a particular programming language i.e. to translate the design of the system in best possible manner. In coding we need to prepare the program that are easy to read and understand and note that program that are easy to write. Our coding phase effect both the testing and maintenance phase. Well written coding can reduce the testing and maintenance cost. As coding cost is very low, if we need to increase the coding cost in order to reduce the testing and maintenance effort then we must do so.

Testing
Testing is the best quality control in software development. The main goal of testing is to detect error introduced by various phases. The output of requirement analysis and design is a textual documentation that is not executable but output of coding phase is executable program. That can be implemented on computer. In testing, first unit testing is performed on each module then two modules are integrated and that testing is known as integration testing and all the modules are assemble when system testing is performed at last when software is ready then demonstrate the client with real data the acceptance testing is performed.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

Experiment No: 2
JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Aim: To Study the Object Model of Hospital Management System.

Theory:
Hospital management system has the following activities:

Connects people, processes and data in real time across all the hospital on a single platform. Workflow routes documents and Information electronically. Flexibility and Integration abilities manage change. Customized Clinical data according to each Department, Laboratory etc Access to Financial information and Performance indicators help in managing resources, costs and margins. Fast and reliable information storage, querying and retrieval. Retrieval could be either for generation of reports based on demographics, gender, and age or for research & library classification.

Features of Hospital Management System


Registration Every patient who approaches a hospital has to get registered prior to getting any consultation, treatment, and investigations done from the hospital. Registration of patients involves accepting certain general and demographic information about the patient and assigning a unique central registration number (CR No) to the Patient. Out Patient Management The outpatient module deals with the entire gamut of activities pertaining to the management of out-patients. It consists of the creating Patient Visit and storing details like complaints, history, clinical summary, provisional diagnosis, drugs etc corresponding to each visit. Pharmacy Management The Pharmacy Module deals with the maintenance of drugs and consumables in the hospital.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

The functions of this module include, online drug prescription, inventory management of drugs, consumables and sutures. Billing The Billing module deals with collection of money for services availed by a patient. Investigation In the routine functioning of a hospital, various types of investigations are carried out. The module handles the processes right from raising investigations to making the results available. In Patient Management The In-patient module commences when the patient is being allotted a bed in the ward and ends after preparing the final discharge for a patient. In Patient Management deals with the complete treatment administered during the patient stay in the hospital. Operation Theatre The Operation Theatre module contains information about the availability of all the theatres, Equipment/Tools etc. Scheduling of operations is the main function of this module. Provides provision for raising and validating an operation. Enquiry This module provides information related to enquires regarding the hospital or the patients admitted or registered in the hospital. Appointment This module deals in allotting appointments to patients for a visit to the hospital. It keeps track of available slots in various categories of appointments. This module also deals with cancellation of existing appointments. The module deals with two types of appointments

Consultant Appointment Equipment Appointment.

Central Sterile Services The Central Sterile Services Department's (CSSD) main function is to provide sterile items,

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

linen, equipment to wards and OT's. This could be reusable equipment, linen from various wards and OT's for sterilization or it could be fresh sterilized items, which is issued to wards/OT's as per the requisition received from their side. Patient Medical Records The Patient Record Management Module is crucial in the overall integrated hospital management system. The rationale behind computerization of PMR is to maximize the usage of the patients' medical information. Blood Bank The Blood Bank is one of the major components of a hospital, concerned with various related activities including donor registration, physical examination, blood grouping, blood infectious tests, component separation, blood requisition and cross match. Central Stores This module deals with Hospital Equipment/Material/Inventory Purchase and Supply to different Departments. Requisitions for different items/equipment are sent to this store from different departments and accordingly the CSD issues items/equipment to various departments. The CSD also maintains records of purchases, stock, and supplier list, item/equipment/material master tables, and also takes care of the inspection details. Bio-Medical Engineering Department The Bio-Medical Engineering Department (BMED) module keeps track of the details of the Bio-medical equipment of the hospital. The details include equipment code, category, department name, location, and vendor's name and purchase details. This module also handles complaints and service details of different equipment Master Management The functioning of the Hospital Information System depends on a large set of data that remains static for a long period of time. The Master module is used to enter, modify and validate the Master data that is used by all the other modules. It is the responsibility of the System Administrator to maintain the integrity of this data. User Management User Management is Instrumental in assigning Privileges to users according to their Roles and Work Area. The Privileges are of two kinds Application Level and Data Level.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Personnel Information System The PIS Module deals with the maintenance of employee records in the hospital. The function of this module includes Employee Personnel Information, Employee Service Details, Leave Management, Disciplinary Action, Recruitment Process, Manpower Planning, and Management Module, which specifically looks after Vehicle Management & Accommodation Management, Training Management. The PIS Module is integrated with Payroll System. Finance Management System The FMS module consists of Payroll System, which deals with generation of salary of employees with dues, deduction and income tax processing. Bill Processing System, which generates various types of bills (both employee specific and office related). The Asset Management Module which deals with purchase, allotment, location tracking, maintenance, contract details of assets and generation of Fixed Asset register. The Account Module maintains accounts, generation of Accounts Book such as Bank Book, Journal Book, and Cash Book etc. It also includes Voucher generation, Ledger, Trial Balance, Sub-Trial Balance, Balance Sheet, and Profit-Loss account for the accounts section. Stores Management System The Stores Management System keeps the inventory of various items such as stationary, furniture etc. It also keep record of items in the inventory, reorder level of items, items allotted to various department, no of items that can be allotted to the department

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Fig- E-R Diagram of Hospital Management System

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Fig- Information hierarchy in Hospital Management System in the form HIS

PREPARED BY : Er Rajni Mehta

APPROVED BY :

Experiment No. 3
JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

OBJECTIVE: TO Study Task Analysis with Example.

Theory :
Task analysis analyses what a user is required to do in terms of actions and/or cognitive processes to achieve a task. A detailed task analysis can be conducted to understand the current system and the information flows within it. These information flows are important to the maintenance of the existing system and must be incorporated or substituted in any new system. Task analysis makes it possible to design and allocate tasks appropriately within the new system. The functions to be included within the system and the user interface can then be accurately specified.

Method Task decomposition


The aim of high level task decomposition is to decompose the high level tasks and break them down into their constituent subtasks and operations. This will show an overall structure of the main user tasks. At a lower level it may be desirable to show the task flows, decision processes and even screen layouts (see task flow analysis, below fig ).The process of task decomposition is best represented as a structure chart (similar to that used in Hierarchical Task Analysis). This shows the sequencing of activities by ordering them from left to right. In order to break down a task, the question should be asked how is this task done?. If a sub-task is identified at a lower level, it is possible to build up the structure by asking why is this done?. The task decomposition can be carried out using the following stages: 1. Identify the task to be analysed. 2. Break this down into between 4 and 8 subtasks. These subtasks should be specified in terms of objectives and, between them, should cover the whole area of interest. 3. Draw the subtasks as a layered diagram ensuring that it is complete.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

4. Decide upon the level of detail into which to decompose. Making a conscious decision at this stage will ensure that all the subtask decompositions are treated consistently. It may be decided JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

that the decomposition should continue until flows are more easily represented as a task flow diagram. 5. Continue the decomposition process, ensuring that the decompositions and numbering are consistent. It is usually helpful to produce a written account as well as the decomposition diagram. 6. Present the analysis to someone else who has not been involved in the decomposition but who knows the tasks well enough to check for consistency.

Task flow diagrams


Task flow diagrams document the details of specific tasks. They include interactions of the system and users; representing flow-charts. Different people who have understood the process can write it. Screenshots can also be used to represent the interactions. TA can be validated with Subject Matter Experts (SMEs). They can validate the subtasks and decide the level of task decomposition necessary. Sources for Task Analysis The following are the sources for task analysis:

Interviews with users, experts, and marketing team Observations Comparisons Do-it-yourself Descriptions Literature

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Fig- Task flow Analysis of Customer Services in Bank

Applications of Task Analysis


Following are the applications of task analysis:

Task analysis evolves into framework; making it easier to describe how tasks fit together. This in turn makes it easier to design user interfaces. User documentation and training material are developed based on the outcome of task analysis. Testers use task analysis to develop use case and test case scenarios.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Advantages and Disadvantages of Task Analysis


The advantages of task analysis are that it is defined from user-perspective:

Relates to interaction scenarios; thereby linking to job accomplishments Enables to classify the type of users and the type of tasks Enables ease of organization Eliminates redundancy by serving as a base for both documentation and training.

Although TA is beneficial, it is time and resource consuming. It is most suitable for complex products that have multiple usages. It is not suitable for simple applications with limited users and tasks. In addition, performance support information is not solely based on TA. TA needs to be supplemented with audience analysis and learning analysis to analyze performance support information.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Experiment No. 4 OBJECTIVE: Study the various steps for doing the requirement analysis of your project. (Project under taken is PAYROLL MANAGEMENT SYSTEM).

Theory: Need:
The proposed system is designed in the C++ to automate the process of Payroll system. The complete set of rules & procedures related to Payroll and generating report is called PAYROLL MANAGEMENT SYSTEM. This project gives a brief idea regarding automated Payroll activities. The following are the steps that give the detailed information of the need of proposed system:

Performance: During past several decades, the Payroll is supposed to maintain manual
handling of all the Payroll activities. The manual handling of the record is time consuming and highly prone to error. To improve the performance of the payroll system, the computerized payroll system is to be undertaken. The computerized project is fully computerized and user friendly even that any of the members can see the report and status of the pay.

Efficiency: The basic need of the project is accuracy and efficiency. The project should be
efficient so that whenever an Employee is added, add his record, delete his record, display and generate his pay-slip.

Software: Software includes the platform where the Payroll project is being prepared. I have
done my project using DOS based Compiler TURBO C++ platform and the database is the FILE HANDLING MECHANISM OF TURBO C++. But it is not necessary that we have to first install Turbo C++ to run this project as only that is only needed if we are providing the user the source code but this is not the case we are providing him only the compiled copy that is object code which is known as executable file.

Feasibility Study
The feasibility study proposes one or more conceptual solution to the problem set of the project. In fact, it is an evaluation of whether it is worthwhile to proceed with project or not.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

Feasibility analysis usually considers a number of project alternatives, one that is chosen as the most satisfactory solution. These alternatives also need to be evaluated in a broad way JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

without committing too many resources. Various steps involved in feasibility analysis are: 1. To propose a set of solution that can realize the project goal. These solutions are usually descriptions of what the new system should look like. 2. Evaluation of feasibility of such solutions. Such evaluation often indicates shortcomings in the initial goals. This step is repeated as the goals are adjusted and the alternative solutions are evaluated. Four primary areas of interest in feasibility study are:-

Economic Feasibility:
An evaluation of development cost weighed against the ultimate income of benefit derived from the development system of product. In economic feasibility, cost benefit analysis is done in which expected cost and benefits are evaluated.

Technical Feasibility:
Technical Feasibility includes existing and new H/W and S/W requirements that are required to operate the project on the platform Turbo C++. The basic S/W requirement is TURBO C++ in which the PAYROLL MANGEMENT SYSTEM project has been done. The basic entry forms are developed in TURBO C++ and the data is stored in the FILES.

Operational Feasibility:
Operational feasibility is mainly concerned with issues like whether the system will be used if it is developed and implemented. Whether there will be resistance from users that will concern the possible application benefits? The essential questions that help in testing the technical feasibility of a system are following: Does management support the project? Are the users not happy with current business practices? Will it reduce the time considerably? If yes, then they will welcome the change and the new system.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

Have the users involved in the planning and development of the project? Early involvement JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

reduced the probability of resistance towards the new system. Will the proposed system really benefit the organization? Does the overall response increase? Will accessibility of information be lost? Will the system affect the customers in considerable way?

Legal Feasibility:
A determination of any infringement, violation, or liability that could result from development of the system. Legal feasibility tells that the software used in the project should be original purchased from the legal authorities and they have the license to use it or the software are pirated.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

Experiment No. 5
JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

OBJECTIVE: Suggest an action plan for the following risk without

compromising the project, process or product parameters. a) Language skills inadequate in two people in a team of five. b) Specially ordered hardware and software likely to be delivered three months late. c) Custom and end user not convinced on new technology implementation as a correct choice. d) Software required interface with other technologies on which the project team has no experience.

Theory:
a) The two people have full knowledge in their field. They have only language skill problem. So shifting them to other department will create shortage of personnel. Taking two new appointments will increase cost. Some ways to manage this risk is to get top talent possible to match the needs of the project with skills of available personnel. Some key personnel for critical areas of the project should be appointed. In this case to maintain the budget proper training should be given to these two people according to project. b) If project depends on these H/W & S/W either to be provided by client or to be procured, the project runs some risk. Schedule will be disturbed by the late delivery. By the time when they are available, project will also suffer if quality of these components is poor or components turns out to be incompatible with the project component or with the environment in which S/W is developed. c) This type of risk occurs if requirement analysis is not done properly and if development begins too early or there is improper user interface is developed. To reduce this type of risk proper SRS and

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

User interface should be prepared in advance. This risk requires extension rework of user interface later. This need adding some features is S/W for this requirement changes should be applied. This affects the cost and schedule. d) Staff should be given proper training according to new technology. Time to time inspection and compatibility analysis should be done.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

Experiment No 6
JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

OBJECTIVE: Build a work breakdown structure for the following.


a) Delivery of the software, initiation to development covering lifecycle b) Development of prototype. c) Development of a process for a function.

Theory :
a) The software to be delivered should be of high quality and according to the needs of the customers. Software development includes a series of steps known as a software development life cycle. Each phase has a defined output, entry criteria and exit criteria. The entry criteria of a phase specify the condition that the input to the phase should satisfy in order to initiate the activities of that phase. The exit criteria specify the condition that the work product of this phase should satisfy to terminate the activities of the phase. There are various models for developing software, each having its own version. Following are the main steps to be followed in each model: 1) Requirement Analysis : Requirement Analysis is done in order to understand the problem the software is to solve. The problem could be automating an existing manual process, developing a new automated software or a combination of both. the emphasis is on identifying what is needed from the system ,not how the system will achieve its goals. There are two steps in it: Requirement Analysis and Requirement specification. Requirement Analysis is to collect and analyze all related data and information with a view to understanding the customer needs clearly and weeding out inconsistency and incompleteness in these requirements. So it starts with the collection of relevant data though questionnaire, interviews, on site observations, discussions etc. contradictions and all the ambiguities are identified. In requirement specification all the user requirements are properly organized and documented in a SRS document. It contains all the functional , non functional requirements, formats of the input, outputs, any required standards to be followed and all the design constraints.

2) Feasibility Study: depending on the results of the initial investigation, the survey is expanded to the more detailed feasibility study. It is a test of a

PREPARED BY : Er Rajni Mehta

APPROVED BY :

software proposal according to its workability, impact on users, effective use of resources it focuses on : JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

i) What are the users needs and how does a new software meets them? ii) What resources are available for given software? Is the problem worth solving? iii) What is the impact on the organization? It does the following studies: Economic Feasibility: It is known as cost/benefit analysis, the procedure to determine the benefits and savings that are expected from a software and compare them with cost If benefit outweighs costs then the decision is made to design and implement the software. Otherwise further justification or alternation sin proposed software will have to be made it is to retain. It is ongoing effort that improves the accuracy at each phase. . Technical Feasibility: It studies that whether the new software is feasible or not mean all the tools, developer, or the required environment is available or not. In future it can adopt changes or not. Steps in Feasibility Study : a) Form a project team and appoint a project leader b) Prepare software flowcharts c) Enumerate potential candidate softwares d) Describe and identify the characteristics of candidate software e) Evaluate the performance and cost effectiveness of each candidate software f) Weigh software performance and cost data g) Select the best candidate software h) Prepare and submit the following repots to the management: Statement of the problem Summary of findings and recommendations Details of findings

Conclusion about target dates, cost

PREPARED BY : Er Rajni Mehta

APPROVED BY :

3) Software Design: It is first step in moving from the problem domain to the solution domain. Starting with what is needed; design takes us toward how JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

to satisfy the needs. Design activity is divided in two parts: System design and Detailed design. System design is also called top level design aims to identify the modules that should be in the system, specifications of these modules and how they interact with other to produce the result. At the end of design all the major data structure, file format, output formats and major modules and their specifications are decided. Detailed design, the internal logic of the system is decided. During this phase further details of data structures and algorithms of each module are decided logic is specified in high level language. Design can be function oriented or object oriented. 4) Coding: the goal of the coding phase is to translate the design of the system into code in a given programming language. during coding the focus should be on developing programs that are easy to read and understand and not simply on developing programs that are easy to write. Simplicity and clarity should be there. The coding affects the both testing and maintenance. 5) Testing: After coding phase computer programs are available for execution. For testing purpose. This implies that testing not only has to uncover errors introduced during coding but also errors introduced during previous phases. Thus its goal is to uncover requirement, design and coding errors in the programs. The starting point of testing is unit testing. In it a module is tested separately and is often performed by the coder himself. The purpose is to exercise the different parts of the module code to detect coding errors. After this modules are gradually integrated into subsystems which are then integrated to form the entire system. It finds the design errors. So integration testing is performed.

After the system is put together system testing is performed, here the system is tested against the system requirement to see if all the requirements are met and if the system performs as specified by the requirements. Finally

PREPARED BY : Er Rajni Mehta

APPROVED BY :

acceptance testing is performed to demonstrate to the client, real life data of the client, the operation of the system. Testing. JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

6) Maintenance: Software maintenance denotes the process of modifying a software product after it has been delivers to the customer. Due to hardware obsolescence, the immortality of a software product and the demand of the user community to see te existing software products run on newer platforms, run in newer environments and with enhanced features givers birth to the maintenance phase. when hardware changes and a software product performs some low level functions maintenance is necessary. Whenever the software support environment changes the software product requires rework to cope with new interface eg., when operating system changes the software product need to be maintained. It is needed due to following reasons: a) Corrective: it is necessary either to rectify some bugs observe while the system is in use or to enhance the performance of the system. b) Adaptive : A software product might need maintenance when the customer need the product to run on new platforms, on new operating systems or when they need the product to interface with new hardware. c) Perfective: software product need maintenance when the new features that the users want. Refer to the following fig.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Software development life cycle

Requirement Analysis

Feasibility study

Testing

Maintenance

Design

Coding

System design

Detailed Design

Fig. Work breakdown structure of software development life cycle b) Before development of actual software, a working prototype of the system should be built first. the model starts with an initial requirements gathering phase. A quick design is carried out and prototype model is built using several shortcuts which involve inefficient or dummy functions. The prototype is submitted to the customer for his evaluation. Based on user feedback requirements are refined. This cycle is continued until the user approves the prototype. The actual system is then developed using waterfall

PREPARED BY : Er Rajni Mehta

APPROVED BY :

model. The code for model is not written. An important purpose is to make input format, message, reports and user interface JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Requirements Gathering . Quick Design

Refine Requirement Customer evaluation of prototype

Build Prototype

Customer Suggestions

Acceptance by the customer

Design

Implement

Test

PREPARED BY : Er Rajni Mehta

Maintain APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Fig. b. work breakdown structure of prototype model.

c) Development of a process for a function is done using evolutionary model. The system is first broken down into several modules or functional units that can be incrementally implemented and delivered as in fig c. The developer first develop the core modules of the system. This initial product is refined into increasing levels of capability by adding new features. Each successive version of the product is functioning system capable of performing some more useful work. It is useful only for large systems. But is is difficult to divide problem into several functional units. Eg., as in fig c, to develop a function c. make core module A, make additions in it to ,make B then finally add all the feature and complete the function C.

Fig c. work breakdown structure of a development of a process for a function c using Evolutionary Model

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Experiment No-7 Objectives: Conduct a task analysis for the following users:
(a) Officer at railway ticket reservation window (b) Officer at insurance claim settlement desk (c) Clerk at call center answering the queries of customers who have purchased cars from the company.

Theory:
Task Analysis:Task analysis analyzes what a user is required to do in terns of actions and/or cognitive processes to achieve a task. A detailed task analysis can be constructed to understand the current system and the information flows within it. These information flows are important to the maintenance of the existing system and must be incorporated or substituted in new system. Task analysis makes it possible to design and allocate tasks appropriately within the new system. The functions to be included within the system and the user interface can then be accurately specified. The aim of high level task decomposition is to decompose the high level tasks and break them down into their constituent subtasks and operations. This will show an overall structure of main user tasks. At a lower level it may be desirable to show the task flows, decision processes and even screen layouts. (a) Officer at railway ticket reservation window:Officer sitting at reservation window do the reservation but besides he has to perform various functions. He answers all the queries of the passengers about the reservation. He tells them about the accurate train and time suitable to various passengers. Now we will explain some features, which will tell us the railway ticket reservation. Officer sitting at the reservation window do the following functions: Enquiry:Officer will answer all the questions of the passengers asked regarding ticket reservation. In this he tells about the train name, train no., time of boarding etc and help the passenger to fill up the ticket reservation form according to the requirements of the passengers. All the queries are made clear to the passengers.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

Train Information:Train information includes the information regarding the train whether the train is JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

super fast or an express train and all the trains which are going to the destination from the source of the passengers. It also includes the queries of boarding and reaching time at the

destination. With the help of the train information the passenger can easily fill the railway ticket reservation form. Ticket Window: At the ticket window passenger will give the reservation form. Officer will give the ticket if there is seat in that train on the required day. If there is no seat available he will tell the passenger you are getting so and so waiting no. in this train. If the passenger wants then he will give the waiting no. Ticket otherwise he will suggest him for other trains which are going to the same destination and give the ticket according to the satisfaction of the passenger. Ticket:In this section we can say that that whether the passenger got the ticket reserved or waiting. In which class he gets the seats If he got a reserved ticket than simply get the train on the desired day otherwise he has to check. The waiting no. If his no. is confined than he will get a seat otherwise he has to travel in a general class coach or can cancel the ticket. b) Officer at insurance claim settlement desk: Officer sitting at insurance settlement desk first of all check the case that under which category the case falls. According to that category he will proceed towards the next step because there is lots of types insurance like vehicle insurance, life insurance or any general insurance. With the help of task analysis we can decompose the task into various sub steps and can solve the case. Fig(b) shows the task flow diagram of the insurance settlement desk. According to the task analysis main task is breakdown into the subtasks. Settlement:According to the rules and regulation of the insurance company officer will proceed for the further verification at the settlement table. As described above according to the category of the case he will asks the question. He will verify according to the requirement of the insurance company. After the discussion of the case the insurance settlement officer he will decide whether the case is approved for the insurance claim or not. If the case had been approved by the officer than the company will do its own formalities and pay the amount according to their insurance scheme.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

Claim:Settlement officer after hearing the views and verifying the documents decide whether JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

the case is approved for the claim or not. So, after deciding that case is approved for the

insurance claim or not, if case is approved for the claim than the amount will be paid otherwise will be closed after proving that the case is invalid. Amount Paid:At last after all the discussions made at the settlement table. For those cases which are approved for the claim of the insurance, it is checked that whether the appropriate amount is paid or not. (c) Clerk at the call center answering the queries of customers who have purchased cars from the company:After purchasing a car customer can have many queries related to the car. They may be technical as well as general queries. We make task flow diagram in fig.( c) to explain the queries of the car. With the help of task flow diagram we can easily understand the problem by decomposing. First of all the queries are categorized according to the technical and general queries. Further we divide them according to their level. Following of three levels of the task flow diagram. Technical Queries:In this category we have the queries which are related to the technical problem. Under this category one can have the queries about the mileage, top speed and wheel balancing etc. One can ask about the current mileage and mileage after first servicing. He may ask about the queries related to the wheel balancing. After how much kilometers one can go for the wheel balancing, also about the top speed the car on which it will give the better mileage. So one can have many more queries related to the technical issues. General Queries:In the general queries one can have many queries related to the accessories and its features. In this we can have the queries related to the accessories like stereo system, safety guards, air bags etc. We can ask about any effect on the car due to the respective accessories. We can ask about the stereo system in the car, how it is going to effect the battery and also can ask about the time period of time for filling up of water in the battery. One can have the queries on the safety guards like air bags. Customer can also ask about queries related to the alloy wheel of the car. In this way we can study the queries of a car with help of task flow diagram.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Insurance

General Insurance

Life Insurance

Vehicle Insurance

SETTLEMENT

Claim

Amount Paid

Valid

Invalid

Appropriate

Inappropriate

Fig. Task flow diagram of insurance settlement


PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

QUERIES

Technical

General

Mileage

Wheel Balancing

Top Speed

Accessories

Special features

Safety Guards

Alloys

Stereo System Fig- Task flow diagram of queries of car

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Experiment No-8 Objective :-Draw three level DFD s for CLPS. Modularize the CLPS and
structure them top-down functional model.

Theory:
CLPS (CONSTRAINTS & LOGIC PRORAMMING SYSTEM) CLPS offers a very high level of abstraction & a declarative nature with an extreme flexibility in the design of the execution model. CLPS allows variable to be constrained rather than bound. For eg. In the game of ladders & snake, there are many ways to reach the goal. Either by steps & by ladders. There is no particular path defined to win the game. Solution to CLPS can be derived from the KB(knowledge base).CLPS incorporates various constraints solving algorithm for the constraints allowed in the language. CLPS combines elements of constraints satisfaction algorithm, logic programming & deductive database. DFD (Data Flow Diagram) The DFD (also known as the bubble chart ) is a simple graphical notation that can be used to represent a system in terms of the input data to the system, various processing carried out on these data and the output data generated by the system . The DFD model uses a very limited number of the primitive symbols to represent the function performed by a system and data flow among the functions. Symbols used to construct DFDs For drawing a DFD, a top down approach is suggested in the structured analysis method. In the structured analysis method, a DFD is constructed from scratch when the DFD for the physical system is being drawn and when the DFD for the new system is being drawn. The Second step largely performs transformation the physical DFD. Drawing a DFD starts with a top level DFD called the context diagram, which lists all the major inputs and outputs for the system. This diagram is then refined into a description of the different parts of the DFD showing all details. This results in a leveled set of DFDs. During this refinement, the analyst has to make sure consistency is maintained and that net input and out put are preserved.
PREPARED BY : Er Rajni Mehta APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

External Entity Data Flow Process

Data Store

Out Put

Example of a Restaurant A restaurant owner feels that some amount of automation will help make her business more efficient. She also believes that an automated system might be added attraction for the customers. So she wants to automate the operation of her restaurant as much as possible. Here we will perform the analysis of this problem. Details regarding interviews, questionnaires, or how the information was extracted are not described. First let us identify the different parties involved. Client : The restaurant owner. Potential Users : Waiters, Cash register operation.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

With the help of context diagram of the restaurant we simply come to know about the information of the input and the output of the restaurant. Now we have to draw the DFD for the restaurant by sorting out the problem by meeting and discussions with the restaurant owner. (a) Context Diagrams for the Restaurant

Now we must draw a DFD that models the new system to be built. After many meetings and discussions with restaurant owner , the following goals for the new system were established: Automate much of the order processing and billing. Automate accounting. Make supply ordering more accurate so that leftovers at the end of the day are minimized and the orders that cannot be satisfied due to no availability are also minimized. This was currently being done without a careful analysis of sales. The owner also suspects that the staff might be stealing/eating some food/supplies. She wants the new system to help detect and reduce this. The owner would also like to have statistics about sales of different items. With these goals, we can define the boundaries for the change in DFD. The DFD is largely self explanatory. The major files in the system are: supplies file, accounting file, order file and the start menu. Note that the processes are consistent in that the input given to them are sufficient to produce the outputs. The definitions of the different data flows and files are self explanatory. Once this DFD and the data dictionary have been approved by the restaurant owner, the activity of understanding the problem is complete. After taking with the restaurant owner the man machine boundary was also defined (it is shown in the DFD). Now remain such tasks as determining the details requirement of each bubble shown in the DFD, determining the non-functional requirements, deciding codes for that task to perform can be done with the help of DFD.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Experiment No-9 OBJECTIVE: Making use of Graphical Design notation study the
concept in developing Data Flow Diagram(DFD).

Theory:
Context level DFD Payroll Management System

CODE

EMPLOYEE

PAYROLL MANAGEMENT SYSTEM

SELECTED EMPLOYEE RECORD

GENERATE PAYSLIP

Level 0 DFD

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Level 1 Data Flow Diagram of Opening an Employee Record

EMPLOYEE

Generating new CODE number

FILE

Display Form

Process Update Table Get Details

Employee Document Open new code

Update

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Level 1 Data Flow Diagram of Admission of a new employee

EMPLOYEE

Assigning a new code number

FILE

Display Form Process

Update Table

Get Details

Employee Details

Update

Generate display

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Level 1 Data Flow Diagram of Record Modification

USER

Read the employee code Scan Record

Show the Details of Record

FILE

Processing

Update

Modify Details of Record

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Level 1 Data Flow Diagram to Delete Record of Employee

EMPLOYEE

Scan the Employee number

FILE

Display Form

Update Table Employee Details

Process

Update

Get Details

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Level 1 Data Flow Diagram for Listing of Employee FILE Scan Record Read the code number Select Record from Database Copy Selected Record Processing

EMPLOYEE

Copy Selected Record

Compute Total

Processing Select Record Compute Bill

Output

Final Output

Generate Total List To Screen/Printer

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa OUTPUT UNIT

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Level 1 Data Flow Diagram for Generating Payslip of Employee FILE Scan code no. MANAGEMENT Read employe e no.

Check for allowance s

Update

Processing

Close Database

Compute Bill Cash

PREPARED BY : Er Rajni Mehta

APPROVED BY :

EMPLOYEE
JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Experiment No-10
OBJECTIVE: Making use of Object Oriented Design, implement a student & employee record system using the concept of Inheritance.

Theory:
Design is concerned with the mapping of objects in the problem space into objects in the solution space, and creating an overall structure and computational models of the system. This stage normally uses the bottom-up approach to build the structure of the system and the topdown functional decomposition approach to design the class member functions that provide services. It is particularly important to construct structured hierarchies, to identify abstract classes, and to simplify the inter-object communications. Reusability of classes from the previous designs, classification of the objects into subsystems and determination of appropriate protocols are some of the considerations of the design stage. The object oriented design (OOD) approach may involve the following steps:1. Review of objects created in the analysis phase. 2. Specification of class dependencies. 3. Organization of class hierarchies. 4. Design of classes. 5. Design of member functions. 6. Design of driver program.

Inheritance is a powerful way of representing a hierarchical relationship directly. The real appeal and power of the inheritance mechanism is that it allows us to reuse a class that is almost, but not exactly, what we want and to tailor the class in a way that it does not introduce any unwanted side effects into the rest of class. Inheritance can be seen in an example where we have a class which contains persons Name, Fathers Name, Gender etc. now we can inherit two classes from this that is Student

PREPARED BY : Er Rajni Mehta

APPROVED BY :

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

class which have additional fields Standard, Roll No. etc. that are relevant to student and other can be class which can have the data of an employee which contains additional fields like Employee ID, Designation etc. So, we can say that inheritance is a powerful concept as it

can be used for reuse which saves our time both in making it and in testing as it is tested before. We can see the above stated inheritance in the following:-

Fathers Name

Gender Date of Birth

Name

Person

Above all fields

Above all fields

Student

Employee

PREPARED BY : Er Rajni Mehta

Standard

Roll No.

APPROVED BY :

Employee ID

Designation

JCDM College of Engineering, Sirsa

LAB MANUAL
ISSUE NO.: 00 REV. NO. : 00 DEPTT. : CSE REV. DATE: - 00 SUBJECT: Software Engineering ISSUE DATE : PAGESEMESTER: 6

Fig: student & employee record system using the concept of Inheritance.

PREPARED BY : Er Rajni Mehta

APPROVED BY :

You might also like