Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Project of software engineering, Study Guides, Projects, Research of Software Engineering

Project of software engineering sem 5 GTU

Typology: Study Guides, Projects, Research

2022/2023

Uploaded on 09/18/2022

agastya
agastya 🇮🇳

1 document

1 / 37

Toggle sidebar

Related documents


Partial preview of the text

Download Project of software engineering and more Study Guides, Projects, Research Software Engineering in PDF only on Docsity! Vadodara institute of engineering Subject name: software engineering Lab manual Aim 1 Assign a mini-project to prepare Software documents mentioned below: A. Project definition B. Abstract C. Requirement specification 2 Study SDLC and Construct SRS document for the project 3 Develop UML use case model 4 E-R diagram & Activity Diagram. 5 Develop data dictionary 6 Develop DFD model 7 Develop sequence diagram 8 Develop Class diagram 9 To study testing, debugging for chosen system 10 To study risk analysis 11 Introduction to Function Point Analysis 12 To estimate effort for chosen system 13 To prepare timeline chart for project 14 To prepare work break down chart for project Practical 1 Aim: Assign a mini-project to prepare Software documents mentioned below: A. Project title/definition B. Abstract C. Requirement specification Solution: Project title: Library management system Abstract: The Library Management System is an application for assisting a librarian in managing a book library in a university. The system would provide basic set of features to add/update members, add/update books, and manage check in specifications for the systems based on the client's statement of need. A Library Management System is a software built to handle the primary housekeeping functions of a library. Libraries rely on library management systems to manage asset collections as well as relationships with their members. Library management systems help libraries keep track of the books and their checkouts, as well as members’ subscriptions and profiles. Library management systems also involve maintaining the database for entering new books and recording books that have been borrowed with their respective due dates. Requirement specification: We will focus on the following set of requirements while designing the Library Management System: a. Any library member should be able to search books by their title, author, subject category as well by the publication date. b. Each book will have a unique identification number and other details including a rack number which will help to physically locate the book. c. There could be more than one copy of a book, and library members should be able to check-out and reserve any copy. We will call each copy of a book, a book item. d. The system should be able to retrieve information like who took a particular book or what are the books checked-out by a specific library member. The SRS typically contains the brief description of the project. The purpose of the requirement document is to specify all the information required to design, develop and test the software. The purpose of this project is to provide a friendly environment to maintain the details of books and library members. The main purpose of this project is to maintain easy circulation system using computers and to provide different reports. Scope: The document only covers the requirements specifications for the Library Management System. This document does not provide any references to the other component of the Library Management System. All the external interfaces and the dependencies are also identified in this document. Feasibility study: The overall scope of the feasibility study was to provide sufficient information to allow a decision to be made as to whether the Library Management System project should proceed and if so, its relative priority in the context of other existing Library Management Technology. Overview: The implementation of Library Management starts with entering and updating master records like book details, library information. Any further transaction like book issue, book return will automatically update the current books. Overall Description: Product Perspective: The proposed Library Management System will take care of the current book detail at any point of time. The book issue, book return will update the current book details automatically so that user will get the update current book details. Product function: The main purpose of this project is to reduce the manual work. This software is capable of managing Book Issues, Returns, and Calculating/Managing Fine. Generating various Reports for Record-Keeping according to end user requirements User characteristics: We have 2 levels of users User module: In the user module, user will check the availability of the books. Book return Administration module: The following are the sub module in the administration module. Register user Entry book details Book issue General Constraints: Any update regarding the book from the library is to be recorded to have update & correct values. Assumption and dependencies: All the data entered will be correct and up to date. This software package is developed using java as front end which is supported by sun micro system. Microsoft SQL server 2005 as the back end which is supported by Window 7. Specific Requirement: External Interface Requirement: The user should be simple and easy to understand and use. Also be an interactive interface .The system should prompt for the user and administrator to login to the application and for proper input criteria User Interface: The software provides good graphical interface for the user any administrator can operate on the system, performing the required task such as create, update, viewing the details of the book. Allows user to view quick reports like Book Issues/Returned etc in between particular time. Stock verification and search facility based on different criteria. Hardware interface: Operating system : window Hard disk :40 GB RAM : 256 MB Processor : Pentium(R)Dual-core CPU Software interface : Java language Net beans IDE 7.0.1 MS SQL server 2005 Communication interface: Window Functional requirements: Book entry: In this module we can store the details of the books. Register student: in this module we can keep the details of the new student. Book issue: This module is used to keep a track of book issue details. Book return: This module enables to keep a track of return the books. Performance requirements: The capability of the computer depends on the performance of the software. The software can take any number of inputs provided the database size is larger enough. This would depend on the available memory space. Design constraints: Each member will be having a identity card which can be used for the library book issue, fine payment etc. whenever library member wish to take a book, the book issued by the library authority will be check both the book details as well as the student details and store it in library database. In case of retrieval of book much of human intervention can be eliminated. Use Case Draw use cases using ovals. Label the ovals with verbs that represent the system's functions. Use case symbol - use case diagram Actors Actors are the users of a system. When one system is the actor of another system, label the actor system with the actor stereotype. Actor symbol - use case diagram Relationships Illustrate relationships between an actor and a use case with a simple line. For relationships among use cases, use arrows labeled either "uses" or "extends." A "uses" relationship indicates that one use case is needed by another in order to perform a task. An "extends" relationship indicates alternative options under a certain use case. Relationship symbol - use case diagram Use case diagram for library management system: Practical 4 Aim: E-R diagram & Activity Diagram. Solution: E-R diagram: What is an Entity Relationship Diagram (ERD)? An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database. An entity in this context is an object, a component of data. An entity set is a collection of similar entities. These entities can have attributes that define its properties. By defining the entities, their attributes, and showing the relationships between them, an ER diagram illustrates the logical structure of databases. Common Entity Relationship Diagram Symbols: Synchronization A fork node is used to split a single incoming flow into multiple concurrent flows. It is represented as a straight, slightly thicker line in an activity diagram. A join node joins multiple concurrent flows back into a single outgoing flow. A fork and join mode used together are often referred to as synchronization. Final State or End Point An arrow pointing to a filled circle nested inside another circle represents the final action state. Activity diagram for library management system: Og Practical 5 Aim: develop data dictionary. Solution: A data dictionary contains metadata i.e data about the database. The data dictionary is very important as it contains information such as what is in the database, who is allowed to access it, where is the database physically stored etc. The users of the database normally don't interact with the data dictionary, it is only handled by the database administrators. The data dictionary in general contains information about the following − Names of all the database tables and their schemas. Details about all the tables in the database, such as their owners, their security constraints, when they were created etc. Physical information about the tables such as where they are stored and how. Table constraints such as primary key attributes, foreign key information etc. Information about the database views that are visible. Book delivery Search by topic List of authors, List of Titles, List of Topics, the bookshelves from which books can be located are some information that is required for these processes. Data store is used to represent this type of information. Practical-7 Aim: develop sequence diagram Solution: Sequence diagram: A Sequence diagram shows the participants (Objects) in an interaction and the sequence of message among them. A sequence diagram shows the interaction of a system with its actors to perform all or part of a use case. Sequence diagram represent the dynamic communication between object during execution of task. Each use case requires one or more sequence diagram to describe its behavior. Each sequence diagram shows a particular behavior sequence of the use case. It is best to show a specific portion of a use case and not attempt to be too general. You can draw a separate sequence diagram for each task. Components of Sequence Diagram: 1. Object - Class Roles or Participants:  Class roles describe the way an object will behave in context.  Use the UML object symbol to illustrate class roles, but don't list object attributes. 2. Activation or Execution Occurrence  Activation boxes represent the time an object needs to complete a task.  When an object is busy executing a process or waiting for a reply message, use a thin gray rectangle placed vertically on its lifeline. 3. Lifeline  A lifeline represents a Object in an interaction.  When that object's lifeline ends, you can place an X at the end of its lifeline to denote a destruction occurrence. 4. Messages  Messages are arrows that represent communication between objects.  Use the following arrows and message symbols to show how information is transmitted between objects. Object : Class X Steps to Draw a Sequence Diagram: 1. Select one scenario 2. Identify the necessary set of the objects. Who is taking part? 3. Identify the necessary interactions/steps. 4. Describe the message exchange between object. 5. Identify the sequence of interactions and who starts Interactions. Example of library management system: There are different types of debugging for different operating systems. They are, For Linux and Unix operating systems, GDB is used as a standard debugger. For Windows OS, the visual studio is a powerful editor and debugger. For Mac OS, LLDB is a high-level debugger. Intel parallel inspector is used as a source of debugging for memory errors in C/C++ operations. Debugging Process The process of finding bugs or errors and fixing them in any application or software is called debugging. To make the software programs or products bug-free, this process should be done before releasing them into the market. The steps involved in this process are, Identifying the error – It saves time and avoids the errors at the user site. Identifying errors at an earlier stage helps to minimize the number of errors and wastage of time. Identifying the error location – The exact location of the error should be found to fix the bug faster and execute the code. Analyzing the error – To understand the type of bug or error and reduce the number of errors we need to analyze the error. Solving one bug may lead to another bug that stops the application process. Prove the analysis – Once the error has been analyzed, we need to prove the analysis. It uses a test automation process to write the test cases through the test framework. Cover the lateral damage – The bugs can be resolved by making the appropriate changes and move onto the next stages of the code or programs to fix the other errors. Fix and Validate – This is the final stage to check all the new errors, changes in the software or program and executes the application. Debugging Software This software plays a vital role in the software development process. Software developers use it to find the bugs, analyze the bugs and enhance the quality and performance of the software. The process of resolving the bugs using manual debugging is very tough and time-consuming. We need to understand the program, it’s working, and the causes of errors by creating breakpoints. As soon as the code is written, the code is combined with other stages of programming to form a new software product. Several strategies like unit tests, code reviews, and pair programming are used to debug the large program (contains thousands of lines of code). The standard debugger tool or the debug mode of the Integral Development Environment (IDE) helps determine the code’s logging and error messages. The steps involved in debugging software are, The bug is identified in a system and defect report is created. This report helps the developer to analyze the error and find the solutions. The debugging tool is used to know the cause of the bug and analyze it by step-by-step execution process. After identifying the bug, we need to make the appropriate changes to fix the issues. The software is retested to ensure that no error is left and checks all the new errors in the software during the debugging software process. A sequence-based method used in this software process made it easier and more convenient for the developer to find the bugs and fix them using the code sequences. Debugging Techniques To perform the debugging process easily and efficiently, it is necessary to follow some techniques. The most commonly used debugging strategies are, Debugging by brute force Induction strategy Deduction strategy Backtracking strategy and Debugging by testing. Debugging by brute force is the most commonly used technique. This is done by taking memory dumps of the program which contains a large amount of information with intermediate values and analyzing them, but analyzing the information and finding the bugs leads to a waste of time and effort. Induction strategy includes the Location of relevant data, the Organization of data, the Devising hypothesis (provides possible causes of errors), and the Proving hypothesis. Deduction strategy includes Identification of possible causes of bugs or hypothesis Elimination of possible causes using the information Refining of the hypothesis( analyzing one-by-one) The backtracking strategy is used to locate errors in small programs. When an error occurs, the program is traced one step backward during the evaluation of values to find the cause of bug or error. Debugging by testing is the conjunction with debugging by induction and debugging by deduction technique. The test cases used in debugging are different from the test cases used in the testing process. random input variables repeatedly, using a different set of input values each time. The resulting outcome from each input is recorded, and the final result of the model is a probability distribution of all possible outcomes. The outcomes can be summarized on a distribution graph showing some measures of central tendency such as the mean and median, and assessing the variability of the data through standard deviation and variance. The outcomes can also be assessed using risk management tools such as scenario analysis and sensitivity tables. A scenario analysis shows the best, middle, and worst outcome of any event. Separating the different outcomes from best to worst provides a reasonable spread of insight for a risk manager. For example, an American company that operates on a global scale might want to know how its bottom line would fare if the exchange rate of select countries strengthens. A sensitivity table shows how outcomes vary when one or more random variables or assumptions are changed. Elsewhere, a portfolio manager might use a sensitivity table to assess how changes to the different values of each security in a portfolio will impact the variance of the portfolio. Other types of risk management tools include decision trees and break-even analysis. Qualitative Risk Analysis Qualitative risk analysis is an analytical method that does not identify and evaluate risks with numerical and quantitative ratings. Qualitative analysis involves a written definition of the uncertainties, an evaluation of the extent of the impact (if the risk ensues), and countermeasure plans in the case of a negative event occurring. Examples of qualitative risk tools include SWOT analysis, cause and effect diagrams, decision matrix, game theory, etc. A firm that wants to measure the impact of a security breach on its servers may use a qualitative risk technique to help prepare it for any lost income that may occur from a data breach. Practical-11 Aim: to study function point analysis. Solution: What is Function Point Analysis? In simple words, FPA is a technique used to measure software requirements based on the different functions that the requirement can be split into. Each function is assigned with some points based on the FPA rules and then these points are summarized using the FPA formula. The final figure shows the total man-hours required to achieve the complete requirement. Components of Function Point Analysis Based on the interaction of the system components internally and with external users, applications, etc they are categorized into five types: External Inputs (EI): This is the process of capturing inputs from users like control information or business information and store it as internal/external logic database files. External Outputs (EO): This is the process of sending out data to external users or systems. The data might be directly grabbed from database files or might undergo some system-level processing. Inquiries (EQ): This process includes both input and output components. The data is then processed to extract relevant information from internal/external database files. Internal Logic File (ILF): This is the set of data present within the system. The majority of the data will be interrelated and are captured via the inputs received from the external sources. External Logic File (ELF): This is the set of data from external resources or external applications. The majority of the data from the external resource is used by the system for reference purposes. Below are some abbreviations which need to be understood to know the logic in-depth: Data Element Type (DET): This can be defined as a single, unique, non-repetitive data field. Record Element Type (RET): This can be defined as a group of DETs. In a more generic way, we can call this a table of data fields. File Type Referenced (FTR): This can be defined as a file type referenced by a transaction (Input/Output/Inquiry). This can be either an internal logic file or an external interface file. Derive effort and cost estimates by applying the size values to your baseline productivity metrics. Combine function estimates to produce an overall estimate for the entire project. Step 3 − Generate an estimate of the effort and cost. You can arrive at the effort and cost estimates by breaking down a project into related software engineering activities. Identify the sequence of activities that need to be performed for the project to bes completed. Divide activities into tasks that can be measured. Estimate the effort (in person hours/days) required to complete each task. Combine effort estimates of tasks of activity to produce an estimate for the activity. Obtain cost units (i.e., cost/unit effort) for each activity from the database. Compute the total effort and cost for each activity. Combine effort and cost estimates for each activity to produce an overall effort and cost estimate for the entire project. Step 4 − Reconcile estimates: Compare the resulting values from Step 3 to those obtained from Step 2. If both sets of estimates agree, then your numbers are highly reliable. Otherwise, if widely divergent estimates occur conduct further investigation concerning whether − The scope of the project is not adequately understood or has been misinterpreted. The function and/or activity breakdown is not accurate. Historical data used for the estimation techniques is inappropriate for the application, or obsolete, or has been misapplied. Step 5 − Determine the cause of divergence and then reconcile the estimates. Practical-13 Aim: To prepare timeline chart for project. Solution: Practical-14 Aim: To prepare work break down chart for project Solution:
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved