AJAY KUMAR GARG ENGINEERING COLLEGE Affiliated to Dr. A.P.J. Abdul Kalam Technical University Lucknow, UP B.Tech. Information Technology Session :- 2023-24 Semester :- 6th Software Engineering Lab Subject Code :- KCS651 Submitted To :- Submitted By :- Mr. Pankaj Singh Animesh Agarwal (Assistant professor, IT Department) (2100270310034) List Of Experiments S.No. Name of Experiments 1 Prepare a SRS document in line with the IEEE recommended standards 2 Draw the use case diagram and specify the role of each of the actors. Also state the precondition, post condition and function of each use case 3 Draw Level-0 and level-1 Data Flow Diagram 4 Draw Sequence Diagram 5 Draw Activity Diagram 6 Draw the class diagram 7 Draw the collaboration Diagram 8 Draw state chart Diagram Date Sign Experiment – 1 Problem : Prepare a SRS document in line with the IEEE standards Purpose: The purpose of this Software Requirements Specification (SRS) document is to outline the requirements for the development of a railway reservation system which able to create reservation, cancel Reservation, Viewing Train information, Viewing Reservation Details, Updating Train information, Updating Reservation details, and generate reports Document Conventions: This Document was created based on the IEEE template for System Requirement Specification documents Scope: • Development of a railway reservation system • Ability to create reservations • Functionality for cancelling reservations • Allowed to create alarm call for train time • Feature for viewing train information • Capability for viewing reservation details • Functionality for updating train information • Capability for updating reservation details • Ability to generate reports • Provide feedback and ratings for booking train Animesh Agarwal (2100270310034) IT-3 2023-24 Overall Description Product Perspective: It will empower us to the railway train info like their journey time, Arrival/Departure Time, Seat availability and reservation billing and cancellation of the tickets. Product Features : - create reservation cancel Reservation Viewing Train information Viewing Reservation Details Updating Train information Updating Reservation details - generate reports Guest Interface: • • • • • • View_Train_Info Search_Train Create_Account Customer_Login Purchase_Ticket Purchase_History Train Management Interface: • • • • • • • • • • Login_Function Staff_Module Reservation_Module Ticket_Module Membership_Module Train_Module Cost_Module Availability_Module Report_Module Access_Module Animesh Agarwal (2100270310034) IT-3 2023-24 Operating Environment • • • • • Linux-8 Windows-7 Windows-8 Windows-10 Mac OS System Feature 1. User Registration and Authentication: Allow users to register their accounts securely and log in to access the system's functionalities. 2. Reservation Management: - Create Reservation: Enable users to search for available trains based on their preferences (e.g., date, time, destination) and book tickets seamlessly. - Cancel Reservation: Allow users to cancel their reservations with ease, adhering to the system's cancellation policies. - Viewing Reservation Details: Provide users with comprehensive details of their reservations, including journey information, seat allocation, and payment status. - Updating Reservation Details: Allow users to modify their reservation details such as change of travel dates, passenger information, or seat preferences, subject to availability and fare adjustments. 3. Train Information Management: - Viewing Train Information: Offer users access to a comprehensive database of trains, including schedules, routes, available classes, and fare details. - Updating Train Information: Enable administrators to manage and update train schedules, routes, seat availability, and fares efficiently. This includes adding new trains, updating existing schedules, and removing discontinued services. Animesh Agarwal (2100270310034) IT-3 2023-24 4. Reporting and Analytics: - Generate Reports: Provide administrators with tools to generate various reports such as booking summaries, revenue reports, occupancy rates, and customer feedback analysis. These reports can offer insights into system performance, popular routes, peak travel times, and revenue trends, facilitating informed decision-making and strategic planning. 5. Payment Integration: - Integrate secure payment gateways to facilitate seamless transactions for ticket purchases, ensuring user data protection and compliance with financial regulations. 6. Notifications and Alerts: - Implement a notification system to keep users informed about their reservation status, updates on train schedules, and any changes or disruptions in their planned journeys. 7. Accessibility and Localization: - Ensure the system is accessible to users with diverse needs by incorporating features such as screen reader compatibility, keyboard navigation, and language localization options. 8. Customer Support and Feedback: - Provide channels for users to seek assistance, report issues, or provide feedback regarding their experience with the system. Implement mechanisms for addressing customer inquiries promptly and efficiently to enhance user satisfaction. Animesh Agarwal (2100270310034) IT-3 2023-24 External Interface Requirements • User Interfaces - Intuitive and responsive UI design for seamless user experience across devices. - Clear navigation menus and buttons for easy access to features. • Hardware Interfaces - Compatibility with standard hardware configurations for accessing the website (e.g- desktops, laptops, smartphones, tablets). • Software Interfaces - Integration with external services for payment processing and order fulfilment. - Use of APIs for location services (e.g., for calculating delivery distances) and other third-party functionalities. Non-Functional Requirements Performance Requirements - The website should load quickly and respond promptly to user interactions. - System downtime should be minimized to ensure uninterrupted service availability. Security Requirements - Implementation of encryption protocols (e.g., SSL) to protect user data during transmission. - Robust authentication and authorization mechanisms to prevent unauthorized access to user accounts and sensitive information. Animesh Agarwal (2100270310034) IT-3 2023-24 Reliability Requirements - The website should be resilient to system failures and able to recover gracefully from errors. - Regular backups of database content to prevent data loss in case of unexpected events. Usability Requirements - Intuitive UI design with clear instructions and error messages to guide users through the ordering process. Animesh Agarwal (2100270310034) IT-3 2023-24 Experiment – 2 Aim: Draw the use case diagram and specify the role of each of the actors. Also State the precondition, post condition and function of each use case. Use Case analysis: Use Case Analysis is an article situated technique for planning data frameworks by separating necessities into client capacities. Each case is an exchange or grouping of occasions performed by client. Use Cases are concentrated to figure out what items are needed to achieve them and how they connect with different articles. Goals of use case analysis: • Design system from user’s perspective • Communicate system behaviour in user terms. Characteristics of use case analysis: • Use-Case: The certain ways in which the system is being used. • Each use case represents a “complete idea” or end-to-end transaction of user/server request. Some key components of use case analysis: • Actors: In software model actors are basically people who interact with the system in any way. Each actor has a different purpose and one serves the purpose for the other one. They are interdependent on each other. • Connections: Relationship from actors to use actors • Relationships: Links among actors or among use cases. Animesh Agarwal (2100270310034) IT-3 2023-24 Animesh Agarwal (2100270310034) IT-3 2023-24 Experiment – 3 Aim: Draw activity diagram. Theory: An activity diagram is a behavioral diagram I.e., it depicts the behavior Of a system. An activity diagram portrays the control flow from a start point to a Finish point showing the various decision paths that exist while the activity is being Executed. We can depict both sequential processing and concurrent processing of Activities using an activity diagram. They are used in business and process modelling where their primary use is to depict the dynamic aspects of a system. An activity diagram is very similar to flowchart. Animesh Agarwal (2100270310034) IT-3 2023-24 Animesh Agarwal (2100270310034) IT-3 2023-24 Experiment – 4 Aim: Draw class diagram. Theory: Class diagrams are the main building blocks of every objectoriented method. The class diagram can be used to show the classes, relationships, interface, association, and collaboration. UML is standardized in class diagrams. Since classes are the building block of an application that is based on OOPs, so as the class diagram has an appropriate structure to represent the classes, inheritance, relationships, and everything that OOPs have in their context. It describes various kinds of objects and the static relationship between them. Animesh Agarwal (2100270310034) IT-3 2023-24 Experiment – 5 Aim: Draw sequence diagram. Theory: A sequence diagram is the most commonly used interaction diagram. • Interaction diagram – An interaction diagram is used to show the interactive behavior of a system. Since visualizing the interactions in a system can be a cumbersome task, we use different types of interaction diagrams to capture various features and aspects of interaction in a system. • Sequence Diagrams – A sequence diagram simply depicts interaction between objects in a sequential order i.e. the order in which these interactions take place. We can also use the terms event diagrams or event scenarios to refer to a sequence diagram. Sequence diagrams describe how and in what order the objects in a system function. These diagrams are widely used by businessmen and software developers to document and understand requirements for new and existing systems. Animesh Agarwal (2100270310034) IT-3 2023-24 Animesh Agarwal (2100270310034) IT-3 2023-24 Experiment – 6 Aim: Draw Collaboration diagram. Theory: The collaboration diagram is used to show the relationship between the objects in a system. Both the sequence and the collaboration diagrams represent the same information but differently. Instead of showing the flow of messages, it depicts the architecture of the object residing in the system as it is based on object-oriented programming. An object consists of several features. Multiple objects present in the system are connected to each other. The collaboration diagram, which is also known as a communication diagram, is used to portray the object's architecture in the system Animesh Agarwal (2100270310034) IT-3 2023-24 Experiment – 7 Aim: Draw State chart diagram. Theory: The name of the diagram itself clarifies the purpose of the diagram and other details. It describes different states of a component in a system. The states are specific to a component/object of a system. A State Chart diagram describes a state machine. State machine can be defined as a machine which defines different states of an object and these states are controlled by external or internal events. Activity diagram explained in the next chapter, is a special kind of a Statechart diagram. As State Chart diagram defines the states, it is used to model the lifetime of an object Animesh Agarwal (2100270310034) IT-3 2023-24 Animesh Agarwal (2100270310034) IT-3 2023-24 Experiment – 8 Aim: Draw Component diagram. Theory: UML Component diagrams are used in modelling the physical aspects of object-oriented systems that are used for visualizing, specifying, and documenting component-based systems and also for constructing executable systems through forward and reverse engineering. Component diagrams are essentially class diagrams that focus on a system's components that often used to model the static implementation view of a system. - Components in data classes packages: Animesh Agarwal (2100270310034) IT-3 2023-24 Components in view level packages: Components in Controller Classes Packages: Animesh Agarwal (2100270310034) IT-3 2023-24 Experiment – 9 Aim: Draw Deployment diagram. Theory: Deployment diagrams are used to visualize the topology of the physical components of a system, where the software components are deployed. Deployment diagrams are used to describe the static deployment view of a system. Deployment diagrams consist of nodes and their relationships. Purpose of Deployment: Diagrams The term Deployment itself describes the purpose of the diagram. Deployment diagrams are used for describing the hardware components, where software components are deployed. Component diagrams and deployment diagrams are closely related. Component diagrams are used to describe the components and deployment diagrams shows how they are deployed in hardware. Animesh Agarwal (2100270310034) IT-3 2023-24 Experiment – 10 Aim: Draw ER diagram. Theory: ER Model is used to model the logical view of the system from data perspective which consists of these components: Entity, Entity Type, Entity Set – An Entity may be an object with a physical existence – a particular person, car, house, or employee – or it may be an object with a conceptual existence – a company, a job, or a university course. An Entity is an object of Entity Type and set of all entities is called as entity set. e.g.; E1 is an entity having Entity Type Student and set of all students is called Entity Set. Animesh Agarwal (2100270310034) IT-3 2023-24 Animesh Agarwal (2100270310034) IT-3 2023-24