0% found this document useful (0 votes)
14 views25 pages

SE Lab File-1

Software lab file
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views25 pages

SE Lab File-1

Software lab file
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Experiment No.

- 1
Aim - A Comprehensive Study of Open-Source UML Tools
UML (Unified modeling Language) is a standard language for visualizing, specifying, constructing,
and documenting the artifacts of a software-intensive system. UML tools are software applications
that support some functions of the UML. With the rise of open-source software, a plethora of UML
tools have emerged, offering various features and functionalities.
This study aims to provide a comprehensive overview of popular open-source UML tools, considering
factors like:
• Core Features: Diagram types, model management, code generation, reverse engineering. •

Platform Compatibility: Operating systems supported.

• Ease of Use: User interface, learning curve.

• Community Support: Documentation, forums, active development.

• Additional Features: Integration with other tools, version control, collaboration.

Some Popular open-source UML tools are

1. Visual Paradigm
• Features: Supports all UML diagrams, offers code generation, reverse
engineering, and agile development tools like user stories and backlog
management.
• Strengths: User-friendly interface, strong support for both UML and non
UML diagrams, and comprehensive integration with various development
methodologies.
• Use Cases: Ideal for teams following agile practices and those who need
flexibility in modeling.

2. Lucidchart
• Features: Cloud-based diagramming tool with support for UML diagrams,
real-time collaboration, and integration with popular applications like Google
Drive and Slack.
• Strengths: Easy to use, highly collaborative, and accessible from anywhere
with an internet connection.
• Use Cases: Suitable for teams that need a simple and collaborative tool for
basic UML modeling.
3. StarUML
• Features: Lightweight, open-source UML modeling tool with support for all
UML diagrams, code generation, and extensions.
• Strengths: Affordable, extensible with plugins, and easy to use for basic to
intermediate modeling needs.
• Use Cases: Ideal for individual developers or small teams who need a cost
effective UML tool.

4. ArgoUML
• Features: Open-source UML modeling tool that supports standard UML 1.x
diagrams and basic code generation.
• Strengths: Free and open-source, lightweight, and straightforward. • Use
Cases: Best for educational purposes or small projects with limited
requirements.

5. Microsoft Visio
• Features: General-purpose diagramming tool with support for UML diagrams
through templates and add-ons.
• Strengths: Familiar interface for Microsoft Office users, versatile for various
types of diagrams.
• Use Cases: Good for users who already use Microsoft Office tools and need
basic UML diagramming capabilities.

6. PlantUML
• Features: Text-based UML tool that allows users to create UML diagrams
from plain text descriptions.
• Strengths: Lightweight, easy to integrate with other tools and IDEs, and
suitable for developers who prefer text over graphical interfaces.
• Use Cases: Ideal for developers who want a quick way to create UML
diagrams from within their code.

Criteria for Choosing a UML Tool


When selecting a UML tool, consider the following criteria:
1. Purpose and Scope- Determine the primary use of the tool—whether it’s for
simple diagramming, detailed modeling, code generation, or enterprise-level
use. The scope of your project and the level of detail required will guide your
choice.
2. Ease of Use- The user interface and experience should be intuitive, especially
if the tool will be used by team members who are not UML experts. Tools
with a steep learning curve may hinder productivity.
3. Collaboration Features- For teams working remotely or in a distributed
environment, collaboration features like real-time editing, commenting, and
version control are essential.
4. Integration with Other Tools- Check if the UML tool integrates with your
existing development environment, such as IDEs, version control systems, and
continuous integration tools.
5. Cost- Consider the total cost of ownership, including licensing fees,
maintenance, and any additional costs for plugins or extensions. Open-source
tools can be cost-effective for smaller teams or projects.

Therefore, choosing the right UML tool depends on the specific needs of your project, team,
and organization. By understanding the various features and capabilities of different UML
tools, you can make an informed decision that aligns with your software development
processes and goals. Whether you need a simple diagramming tool or a comprehensive
modeling suite, there’s a UML tool available to meet your requirements.
Experiment No. - 2
Aim - Prepare a Problem statement for the chosen project.

Problem Statement
Current railway management systems are hampered by inefficiencies in real-time scheduling and
maintenance. Fixed schedules often fail to adapt to dynamic conditions, resulting in delays and
resource misallocation. Maintenance is frequently scheduled based on rigid intervals or outdated
predictive models, leading to service disruptions or compromised safety. Additionally, fragmented
data sources limit comprehensive analysis and timely decision-making. To address these issues, there
is a need for an advanced Railway Management System that integrates real-time data, employs
dynamic scheduling algorithms, and utilizes predictive maintenance models to optimize operations &
enhance overall service quality.

Background
The Railway systems are a cornerstone of national and global transportation infrastructure,
facilitating the movement of millions of passengers and tons of freight daily. Effective management
of these systems is crucial for ensuring timely service, operational efficiency, and safety. However,
the complexity of railway operations, including the coordination of train schedules, real-time
response to disruptions, and ongoing maintenance activities, presents significant challenges.
Traditional railway management systems often fall short in addressing these challenges, leading to
operational inefficiencies, increased delays, and higher operational costs With Hours Of Delays In
Train Due To Inefficient Working Of The System Which Ultimately Results In Lags In Software.

Current Challenges
1. Dynamic Scheduling Inefficiencies
•Fixed Scheduling Constraints: Traditional systems are often based on static schedules that
do not adapt well to real-time changes. This rigidity results in a mismatch between planned
and actual operations
• Limited Real-Time Adaptability: Existing systems may lack advanced algorithms capable
of dynamically adjusting schedules in response to real-time data, such as unexpected delays,
track changes, or urgent passenger demands.

2. Maintenance Scheduling Ineffectiveness


• Fixed Maintenance Intervals: Maintenance activities are frequently scheduled based on
predefined intervals or historical data without considering real-time wear and tear or
operational conditions.
• Reactive Maintenance Practices: Many systems rely on reactive maintenance strategies,
addressing issues only after they occur, rather anticipating & preventing problems before
they impact operations.

3. Data Integration and Analysis Deficiencies


• Fragmented Data Sources: Railway systems often operate with disparate data sources,
such as train sensors, maintenance logs, and real-time traffic updates. The lack of integration
between these sources impedes comprehensive analysis and decision-making.
• Limited Data Utilization: Current systems may not fully leverage advanced data analytics,
machine learning, or artificial intelligence to process and interpret vast amounts of data.
Objectives
To address these challenges, the objective is to design and implement a Railway Management System
that enhances real-time scheduling capabilities and optimizes maintenance processes. The system
should leverage advanced technologies to integrate data from various sources, facilitate dynamic
scheduling adjustments, and predict maintenance needs with high accuracy.

1. Real-Time Scheduling Optimization


• Dynamic Scheduling Algorithms: Develop and integrate sophisticated algorithms that can process
real-time data inputs-such as train location, track status, and passenger load-to dynamically adjust
train schedules. The system should be able to minimize delays, optimize resource utilization, and
enhance overall efficiency. Adaptive Rescheduling Mechanisms: Implement mechanisms for
automatic rescheduling in response to disruptions, such as track blockages or equipment failures,
ensuring minimal impact on service continuity and passenger experience.

2. Predictive Maintenance Optimization


• Predictive Analytics Models: Create and deploy predictive maintenance models that utilize
historical data, real-time sensor inputs, and machine learning techniques to forecast maintenance
needs. These models should aim to prevent equipment failures before they occur, thus reducing
unplanned downtime & maintenance costs.
• Maintenance Decision Support: Develop a decision support system that provides actionable
insights and recommendations for maintenance scheduling, balancing operational demands with
equipment health and safety considerations.

3. Integrated Data Management and Analytics


• Unified Data Framework: Establish a comprehensive data
management framework that integrates information from diverse sources, including train
performance data, maintenance history, and real-time operational updates. This framework should
support seamless data exchange and provide a holistic view of system operations.
• Advanced Data Analytics: Implement advanced data analytics tools and techniques, such as
machine learning and artificial intelligence, to analyze integrated data, identify patterns, and generate
insights for optimized decision-making.

4.Expected Outcomes
• Enhanced Scheduling Efficiency: The implementation of real- time dynamic scheduling
algorithms will lead to improved punctuality, reduced operational delays, and better resource
management. Passengers will experience more reliable and efficient services. Optimized
• Improved Decision-Making: The integrated data management and advanced analytics capabilities
will enable more informed decision-making, enhancing the overall operational efficiency and
responsiveness of the railway system.

Conclusion
By addressing the challenges of dynamic scheduling, maintenance optimization, and data integration,
the proposed Railway Management System aims to revolutionize railway operations. This system
will not only improve operational efficiency and reduce costs but also enhance safety and passenger
satisfaction, paving the way for a reliable and modern railway infrastructure.
Experiment No. - 3
Aim: Design Level-0 DFD & Level-1 DFD Of The Railway
Management Project
A Data Flow Diagram (DFD) is a graphical representation of the flow of data within a system,
illustrating how data moves between processes, data stores, and external entities. In software design,
DFDs help model the functional aspects of a system by showing how input data is transformed into
output data through various processing stages.(sources or destinations of data outside the system).
They are structured in hierarchical levels, starting with a high-level diagram (Level 0), which provides
an overview, and detailed diagrams (Level 1, Level 2, etc.) that zoom into specific processes.

Some uses of Data Flow Diagrams (DFDs) in software design:

• Visualizing System Requirements: DFDs help stakeholders, designers, and developers understand
how data flows through the system, making it easier to capture and clarify functional requirements.

• Identifying Data Sources and Processes: DFDs identify external entities, processes, and data
stores, making it easier to locate where data is coming from, how it's processed, and where it's stored.

• Supporting System Design and Development: By providing a visual model, DFDs aid in designing
system architecture, guiding developers through the flow and interaction of data during system
implementation.

• Enhancing Communication: DFDs facilitate communication between technical and non-technical


stakeholders, offering a clear, diagrammatic explanation of how data moves in a system.

1. Level-0 DFD
A Level 0 DFD of a Railway Management System illustrates the system as a single process interacting
with external entities like Passengers, Railway Staff, and Banks. Passengers book tickets and view
schedules, while the system manages train schedules, ticketing, and payments, communicating data

In conclusion, a Level 0 DFD of a Railway Management System provides a simplified, high-level


view of the system's main data interactions.
2. Level-1 DFD
The Level 1 DFD of a Railway Management System expands on the single process from Level 0 by
breaking it into specific sub-processes. Key processes

include Ticket Booking, Train Scheduling, Payment Processing, and Passenger Information
Management. Payment Processing communicates with the bank for transaction

confirmation The Data flow between these processes and external entities.

The Level 1 DFD of the Railway Management System provides a more detailed breakdown of core
processes like ticket booking, train scheduling,

and payment processing. It helps in visualizing how data flows between

these components and external entities, offering a clearer understanding of the system's functional
structure and operations.
Experiment No. - 4

Aim: Design The ER-Diagram Of The Railway Management

Project Using StarUML:


An ER (Entity-Relationship) Diagram for software projects visually represents the entities, their
attributes, and relationships within the system. In software projects, key entities could include Projects,
Developers, Tasks, and Clients. Each entity has specific attributes, such as project name, developer ID,
task description, and client details. Relationships define interactions between entities, like "Developers
work on Projects" or "Clients request Projects."

ER diagrams help in database design by organizing data logically, ensuring that relationships and data
dependencies are clear. This structure simplifies database creation, management, and interaction,
forming a foundation for efficient software project management.

Additionally, ER diagrams enhance the scalability of database systems by clearly outlining how new
entities and relationships can be integrated without disrupting existing structures. They also support
better documentation, making it easier for new team members to understand the system.

Some key benefits of ER Diagrams:


• Clear Data Structure: ER diagrams visually define the structure of a database, making it easy to
understand relationships between entities and their attributes.

• Simplified Database Design: They serve as a blueprint for creating efficient, normalized databases
by organizing data logically.

• Improved Communication: ER diagrams facilitate communication between developers, database


designers, and stakeholders, ensuring alignment on database structure.

• Error Reduction: By visually mapping out data relationships, potential design flaws or
inconsistencies can be identified and corrected early. Efficient Database Management: Well-designed
ER diagrams promote smoother data retrieval, updates, and overall database maintenance.
In conclusion, ER diagrams are essential tools in software project development, providing a
clear visualization of data structures and relationships. They facilitate efficient database
design, enhance communication among stakeholders, reduce errors, and support scalability.
Overall, ER diagrams contribute significantly to effective data management and the success of
software projects
Experiment No. - 5

Aim: Design the Use-Case Diagram for the Railway system.


A Use Case Diagram is a type of behavioral diagram in the Unified Modeling Language (UML) that
represents the functionality of a system from a user's perspective. It shows how different users (actors)
interact with the system to achieve specific goals (use cases). This diagram focuses on what the system
does rather than how it does it, making it useful for gathering requirements and providing a high-level
understanding of system functionality.

Components of a Use Case Diagram :-


1.Actors: Represent external entities that interact with the system. These can be users, external
systems, or devices.

2. Use Cases: Represent specific functions or actions the system performs, like "login," "submit form,"
etc.

3. System Boundary: Defines the scope of the system. All use cases are contained within this
boundary.

4. Relationships: These define how actors and use cases interact. There are several types of
relationships:

Uses of Use Case Diagram:-


1. Capturing Functional Requirements: Helps to gather and represent the functional requirements of
the system in an easy-to-understand format.

2. Defining System Boundaries: Clearly identifies what is within the scope of the system and what is
external to it.

3. User-Centric Approach: Focuses on how different users interact with the

system, which makes it useful for stakeholder communication.

4. Clarifying Roles: Helps in understanding who interacts with the system and

how, which can be useful for defining roles and permissions.

5. Communication Tool: Provides a visual way to explain system behavior to

both technical and non-technical stakeholders.


Experiment No. - 6

Aim: Design The Structural View Diagram for Railway System: Class diagram & Object diagram.
Class Diagram
Class diagrams are a type of UML (Unified modeling Language) diagram used in software engineering
to visually represent the structure and relationships of classes within a system i.e. used to construct and
visualize object-oriented systems. Class diagrams provide a high-level overview of a system's design,
helping to communicate and document the structure of the software.

In UML, Class diagrams has following components: -

• Class Name

• Attributes

• Methods

• Visibility (public, private, protected)

Object Diagram
An Object Diagram can be referred to as a screenshot of the instances in a system and the relationship
that exists between them. An object diagram in UML is useful because it provides a clear and visual
representation of specific instances of classes and their relationships at a particular point in time,
aiding in understanding and communicating the structure and interactions within a system. In other
words, "An object diagram in the Unified modeling Language (UML), is a diagram that shows a
complete or partial view of the structure of a modeled system at a specific time"

Object diagrams also has following components : -


• Object or instance specifications

• Attributes and values

• Dependency Relationship

• Association

• Aggregation & Composition


A Class Diagram for a Railway Management System illustrates the static structure of the
system by showing its classes, attributes, methods, and the relationships between them. Key
classes may include Train, which holds details like trainID, trainName, and schedule;
Passenger, which includes passenger information such as passengerID and contact Details;
Ticket, representing ticket details like ticketID and fare; Reservation, managing seat
assignments and booking dates; and Admin, responsible for managing the system.
Relationships like associations between Passenger and Ticket (a passenger books multiple
tickets) and Train and Reservation (each train has multiple reservations) are depicted to show
how objects interact within the system. This diagram is essential for designing the architecture
and understanding how different components of the railway management system connect.
❖ An Object Diagram for your Railway Management System provides a snapshot of specific
instances (objects) of classes at a particular moment, showing real-world data interactions within the
system. For example, you may have objects like `train1: Train` representing a specific train with its
unique train ID, name, and schedule, `passenger1: Passenger` for a user with their personal details, and
`ticket1: Ticket` linked to a particular reservation. The diagram visually captures how a Passenger is
associated with a Ticket, which is part of a Reservation that, in turn, is linked to a specific Train.

❖This type of diagram helps to understand the system's real-time behavior and the relationships
between objects during operation.
Experiment No. - 7

Aim: Design the Behavioral View Diagram: State-chart diagram, Activity diagram.

State-chart Diagram
Statechart diagram describes the flow of control from one state to another state. States are defined as a
condition in which an object exists and it changes when some event is triggered. The most important
purpose of a State- chart diagram is to model the lifetime of an object from creation to termination.
State=chart diagrams are also used for forward and reverse engineering of a system. However, the
main purpose is to model the reactive system.

Following are the main purposes of using State-chart diagrams : -

1. To model the dynamic aspect of a system.

2. To model the lifetime of a reactive system.

3. To describe different states of an object during its lifetime.

4. Define a state machine to model the states of an object.

Activity Diagram
Activity diagrams show the steps involved in how a system works, helping us understand the flow of
control. They display the order in which activities happen and whether they occur one after the other
(sequential) or at the same time (concurrent). These diagrams help explain what triggers certain actions
or events in a system. An activity diagram starts from an initial point and ends at a final point, showing
different decision paths along the way. They are often used in business & process modeling to show
how the system behaves overtime.

Following are the main purposes of activity diagrams :-

1. Visualize Workflows: Provide a clear visual representation of processes.

2. Analyze System Behaviors: Help analyze the behaviors & interactions.

3. Enhance Communication: Facilitate better communication among stakeholders through a shared


visual framework.
❖ A state chart diagram for the Railway Management System could illustrate the various states an
object or system can be in during its lifecycle, such as initialization, processing, and completion. It will
depict transitions between these states triggered by events, providing a clear view of how the system
responds to different inputs or conditions. This helps in understanding the dynamic behavior of the
system and ensures that all possible states are accounted for in the design.
❖The activity diagram for the Railway Management System outlines the key. processes involved in
managing railway operations, starting from user login, where passengers or administrators access the
system. Upon logging in, users can view available train schedules and proceed to book tickets, with a
decision point checking for seat availability
Experiment No. - 8

Aim: Design the Behavioral View Diagram: Sequence diagram


Sequence Diagram
Sequence diagrams are a type of UML (Unified modeling Language) diagram that visually represent
the interactions between objects or components in a system over time. They focus on the order and
timing of messages or events exchanged between different system elements. The diagram captures
how objects communicate with each other through a series of messages, providing a clear view of the
sequence of operations or processes.

Some sequence diagram notations : -

1. Actor/Nodes

2. Lifelines

3. Messages (Synchronous/Asynchronous)

4. Guards

5. Self Message

6. Reply Message
❖ In the Railway Management System project, the sequence diagram illustrates the dynamic
interactions between various components during the ticket booking process.The diagram begins with
the Passenger initiating a search for available trains by sending a request to the Railway Management
System. The system queries the Train Database to retrieve a list of available trains and returns this
information to the passenger.

❖ Once the passenger selects a train and enters their details, the system saves this information in the
Booking Database. The passenger then initiates the payment process, which involves the system
communicating with the Payment Gateway to process the payment through the Bank.
Experiment No. - 9

Aim: Design the Behavioral View Diagram: Collaboration diagram.

Collaboration Diagram
In UML (Unified Modeling Language), a Collaboration Diagram is a type of Interaction Diagram that
visualizes the interactions and relationships between objects in a system. It shows how objects
collaborate to achieve a specific task or behavior. Collaboration diagrams are used to model the
dynamic behavior of a system and illustrate the flow of messages between objects during a particular
scenario or use case.

Components of Collaboration diagram are : -

1. Objects/Participants

2. Actors & Messages

3. Self Message

4. Links

5. Return Message
❖ The collaboration diagram for the Railway Management System provides a visual representation of
the relationships and interactions among various components involved in the ticket booking process. In
this diagram, the Passenger initiates the process by searching for available trains through the Railway
Management System.

❖ The system queries the Train Database for available options and displays the results back to the
passenger. Upon selecting a train and entering their details, the system saves the passenger info to the
Booking Database. The collaboration continues as the passenger makes a payment, prompting the
system to communicate with the Payment Gateway, which in turn processes the payment through the
Bank. Once the payment is approved, the system updates the Booking Database with the booking
details and sends a confirmation ticket to the passenger.
Experiment No. - 10

Aim: Design To perform the environmental view diagram: Deployment diagram for the system.

Deployment Diagram
The deployment diagram visualizes the physical hardware on which the software will be deployed. It
portrays the static deployment view of a system. It involves the nodes and their relationships. It
ascertains how software is deployed on the hardware. It maps the software architecture created in
design to the physical system architecture, where the software will be executed as a node.

Since it involves many nodes, the relationship is shown by utilizing communication paths. The
deployment diagram for the Railway Management System illustrates the physical architecture of the
system, highlighting how various software components are deployed across different hardware nodes.
It showcases the server hosting the Railway Management System, which includes the web application
and databases, such as the Train & Booking Database.

The diagram also depicts the client-side applications used by passengers, illustrating their connections
to the server over the network. Additionally, it may include external systems like the Payment
Gateway and Bank for processing transactions. This diagram is essential for understanding the
system's runtime environment, ensuring efficient resource allocation, and facilitating scalability and
maintenance.

Following are the purposes of deployment diagram enlisted below :-


1. To envision the hardware topology of the system.

2. To represent the hardware components on which the software components are installed.

3. To describe the processing of nodes at the runtime.

Some of the notations used in Deployment diagram are :-


• Component

• Artifact

• Interface

• Node
❖ The deployment diagram for the Railway Management System illustrates the physical architecture
of the system, highlighting how various software components are deployed across different hardware
nodes. It showcases the server hosting the Railway Management System, which includes the web
application and databases, such as the Train & Booking Database.
Experiment No. - 11
Aim: Design To Perform Estimation of effort, FP Estimation for chosen system.
Functional Point Analysis (FPA) is used to make an estimate of the software project, including its
testing in terms of functionality or function size of the software product. However, functional point
analysis may be used for the test estimation of the product. The functional size of the product is
measured in terms of the function point, which is a standard to measure software application.

The basic and primary purpose of the functional point analysis is to measure and provide the software
application functional size to the client, customer, and the stakeholder on their request. Further, it is
used to measure the software project development along with its maintenance, consistently throughout
the project irrespective of the tools and the technologies. FPs of an application is found out by
counting the number and types of functions used in the applications.

Various functions used in an application can be put under five types, as shown in Table:

Functional Point Analysis (FPA) is a standardized method used to measure the functionality delivered
by a software system based on its functional

requirements. It evaluates components such as inputs, outputs, user interactions, files, and interfaces to
quantify the software's complexity and functionality.

FUNCTION POINT ANALYSIS OF Railway Management SYSTEM


Each function type is weighted based on its complexity. We classify the functions into Low, Average,
or High complexity. Below is the standard table for weighting each function type based on its
complexity:
Based on the Railway Management System, the number of each function type is as
follows :-
1. External Inputs (El) :

● Booking a ticket (train selection, date input, passenger details)


● Modifying an existing booking (changing dates, canceling tickets)
● Applying promotional codes for discounts.
● Estimated number: 4 (Average)

2. External Outputs (EO)

● Generating and printing the ticket receipt


● Displaying booking confirmation details for the user
● Providing real-time updates on train schedules and availability Estimated number: 3
(Average)

3. External Inquiries (EQ)

● Checking available train schedules


● Inquiring about ticket prices and fare calculations
● Estimated number: 2 (Low)

4. Internal Logical Files (ILF)

● User account details (including profiles and payment information)


● Ticket booking history
● Train schedule and route information
● Estimated number: 3 (Average)

5. External Interface Files (EIF)

● Integration with payment gateways (e.g., UPI, credit/debit card processors)


● Interface with external train tracking systems (for real-time updates) Estimated number:
2 (Average)

Unadjusted FP Calculation :-

Total Unadjusted Function Points (UFP) = 12 + 15 + 6 + 30+ 14 = 77


Value Adjustment Factor (VAF) for Railway Management System
Value Adjustment Factor (VAF):

VAF = 0.65 + (0.01 x GSC)

Where GSC is the sum of the ratings for the 14 General System Characteristics.

Let's assume we have the following. ratings for the Railway Management System:
1. Data Communications: 4

2. Distributed Processing: 3

3. Performance: 5

4. Heavily Used Configuration: 4

5. Transaction Rate: 4

6. Online Data Entry: 5

7. End-User Efficiency: 4

8. Online Update: 4

9. Complex Processing: 4

10. Reusability: 3

11. Installation Ease: 3

12. Operational Ease: 4

13. Multiple Sites: 2

14. Facilitate Change: 4

Sum of GSC ratings: 4+3 +5+4 +4 +5 +4 +4 +4 +3+3+4+2 + 4 = 54

Calculating VAF: 0.65+ (0.01 x 54) = 0.65 + 0.54 = 1.19

Calculating Final Function Points (FP):

Assuming the Unadjusted Function Points (UFP) for The RMS is 70:

FP = UFP × VAF = 70 × 1.19 = 83.3≈ 83

Thus, the function point for developing the Railway Management System is 83.

Effort (in person-hours): (Assuming the Average Effort per FP is 12 person-hours)

Effort = FP x Average Effort per FP = 83 x 12 = 996 person-hours

Thus, the estimated effort for developing the Railway Management System is 996
person-hours.

You might also like