Se Da1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

SOFTWARE

ENGINEERING
DIGITAL ASSIGNMENT

21BCE3579
KAUSHIKI ANAND
21BCE3853
Kshitij Malik
Scope
Submitted to: Dr Shashank Mauli Satapaty
Determining whether product or process is more important can vary depending on
the context and the goals of an organization. However, both are crucial elements of
any successful endeavor, and their importance often intertwines.

1. Product Importance:
- The product is what ultimately generates value for customers and stakeholders.
It's the tangible or intangible outcome of a process, whether it's a physical item, a
service, or a solution to a problem.
- A great product can differentiate a company from its competitors, build brand
reputation, and drive revenue. Without a compelling product, the best processes may
not be enough to sustain success.
- In some industries, particularly in consumer markets, the product itself can be the
primary focus of customers. They may prioritize features, quality, and functionality
over the process by which it was created.

2. Process Importance:
- A well-defined and efficient process is essential for consistently delivering high-
quality products. It ensures that resources are utilized effectively, reduces waste,
and minimizes errors or defects.
- Processes provide scalability and reliability. They allow organizations to replicate
success, adapt to changing circumstances, and continuously improve over time.
- Investing in process improvement can lead to long-term cost savings and
increased productivity. It also enhances organizational agility, enabling quicker
responses to market demands and opportunities.

Conclusion:
Both the product and the process are vital aspects of successful development
projects, with the product holding a slightly higher significance. The product serves
as the cornerstone, establishing the project's objectives, scope, and requirements,
thereby guiding the entire development process. It facilitates precise planning, risk
assessment, and task allocation, essential for executing the project successfully.
Moreover, the product acts as the ultimate measure of success, directly meeting
end-user needs and providing value.
Nevertheless, the process should not be underestimated, as it plays a pivotal role in
ensuring the efficient and effective delivery of the product. A well-structured process
helps steer clear of common pitfalls, addresses critical success factors, and ensures
effective project management throughout the development stages.

In conclusion, while both product and process are crucial, their importance can be
contextual. However, without a doubt, they are interdependent. A great product can
suffer if the processes behind its creation are inefficient or flawed. Likewise, even the
most streamlined processes may not yield desirable outcomes if they are not aligned
with producing a valuable product. Therefore, a balanced approach that prioritizes
both product innovation and process optimization is often the key to sustained
success.
Given:

• Screen drawing: 2.00 KDSI


• Object-base management: 3.50 KDSI
• Algebra/numerical methods: 1.75 KDSI

Total Size = 2.00 + 3.50 + 1.75 = 7.25 KDSI

To calculate Effort Adjustment Factor (EAF), EAF is the product of all the individual factors:
EAF = (1.08 * 1.30 * 1.21 * 1.11 * 0.70 * 1.14) ≈ 1.505
Effort = a * (Size)^b * EAF
Given a = 3.0 and b = 1.12, we calculate Effort:
Effort = 3.0 * (7.25)^1.12 * 1.505 ≈ 41.518 Person-Months

Development Time = c * (Effort)^d


Given c = 2.5 and d = 0.35
Development Time = 2.5 * (41.518)^0.35 ≈ 9.211 Months

Average Staff Size = Effort / Development Time


Average Staff Size = 41.518 / 9.211 ≈ 4.507 Persons

Productivity = Size / Effort


Productivity = 7.25 / 41.518 ≈ 0.175 KDSI/PM
Effort: 41.518 Person-Months
Development Time: 9.211 Months
Average Staff Size: 4.507 Persons
Productivity: 0.175 KDSI/PM

Ans: Avoiding the problem of a user "going native" and losing sight of the needs of their
colleagues in the development team requires proactive measures to maintain a balanced
perspective. Here are three approaches to mitigate this issue, along with their advantages
and disadvantages:

1. Regular User Feedback Sessions:

Description: Regular user feedback sessions involve scheduled meetings or


interactions between the development team and end-users to gather feedback,
discuss concerns, and address any issues related to the project. These sessions aim
to maintain continuous communication and collaboration between the development
team and users throughout the development process.

Example: In an agile software development project, the development team holds


weekly sprint reviews where users are invited to provide feedback on the features
developed during the sprint. During these sessions, users can raise any issues they
encounter, suggest improvements, and prioritize upcoming features based on their
needs.

• Advantages:
• Regular feedback sessions allow users to continually voice their
needs and concerns throughout the development process.
• It ensures that users remain engaged and feel heard, fostering a
sense of ownership and partnership in the project.
• Direct user involvement helps in identifying issues early on and
making necessary adjustments promptly.
• Disadvantages:
• User feedback sessions can be time-consuming and may slow down
the development process if not managed efficiently.
• There's a risk of overwhelming the development team with too much
feedback, leading to confusion and conflicting priorities.
• Users may not always articulate their needs effectively or may focus
on superficial features rather than underlying requirements.
2. Rotating User Representatives:

Description: Rotating user representatives involve periodically rotating individuals


from the user community to join the development team as representatives. These
representatives bring fresh perspectives, user insights, and feedback to the
development process, ensuring that a diverse range of user needs and viewpoints
are considered.
Example: In a product development company, different departments nominate
representatives to participate in cross-functional development teams for specific
projects. These representatives rotate periodically, allowing each department to
contribute their perspective and ensure that the product meets the needs of all
stakeholders.

• Advantages:
• Rotating user representatives periodically join the development team,
bringing fresh perspectives and preventing them from "going native."
• It ensures that a diverse range of user needs and viewpoints are
considered throughout the project lifecycle.
• Rotating representatives maintain a connection with the broader user
community, preventing tunnel vision and promoting inclusivity.
• Disadvantages:
• Continual rotation of user representatives can disrupt team dynamics
and lead to a lack of continuity in understanding user requirements.
• New representatives may require time to familiarize themselves with
the project, causing delays in communication and decision-making.
.

3. User Empathy Training for Development Team:

Description: User empathy training involves providing development team members


with training and resources to enhance their understanding and empathy towards
user needs and perspectives. This training encourages team members to view the
project from the user's point of view, fostering a user-centric mindset and improving
collaboration.
Example: A software development company conducts workshops and seminars for
its development team on topics such as user experience (UX) design principles, user
research methods, and empathetic communication skills. Through these training
sessions, team members learn to empathize with users, understand their pain points,
and develop solutions that address their needs effectively.

• Advantages:
• Training development team members in user empathy enhances their
ability to understand and empathize with user needs and perspectives.
• It encourages a user-centric mindset within the team, fostering a
culture of empathy and collaboration.
• Improved empathy leads to better decision-making and problem-
solving, resulting in products that better meet user expectations.
• Disadvantages:
• User empathy training requires time and resources to implement
effectively, which may not always be feasible within project
constraints.
• Some team members may be resistant to empathy training or may
struggle to internalize its principles, limiting its effectiveness.
To test the catWhiteSpace method in the Paragraph object, we need to identify various testing
partitions and derive a set of tests that cover these partitions. Here are the possible testing
partitions and a set of tests for the catWhiteSpace method:

Testing Partitions:

1. Empty Paragraph: The paragraph is empty or consists of only whitespace characters.


2. No Whitespace Sequences: The paragraph does not contain any sequences of whitespace
characters.
3. Single Whitespace Sequence: The paragraph contains a single sequence of whitespace characters.
4. Multiple Whitespace Sequences: The paragraph contains multiple sequences of whitespace
characters.
5. Leading Whitespace Sequence: The paragraph starts with a sequence of whitespace characters.
6. Trailing Whitespace Sequence: The paragraph ends with a sequence of whitespace characters.
7. Mixed Whitespace Characters: The paragraph contains different types of whitespace characters
(e.g., spaces, tabs, newlines).
Test Cases:

1. Empty String:
- Input: "" (empty string)
- Expected Output: "" (empty string)

2. No Whitespace Sequences:
- Input: "I study in VIT"
- Expected Output: "I study in VIT"

3. Single Whitespace Sequence:


- Input: "I study in VIT"
- Expected Output: "I study in VIT"

4. Multiple Whitespace Sequences:


- Input: "I study in VIT "
- Expected Output: "I study in VIT"

5. Leading Whitespace Sequence:


- Input: " I study in VIT "
- Expected Output: "I study in VIT"

6. Trailing Whitespace Sequence:


- Input: "I study in VIT "
- Expected Output: "I study in VIT"

7. Mixed Whitespace Characters:


- Input: "I\t\t\t study\n\n in \t VIT"
- Expected Output: "I study in VIT"
a) Draw the precedence network diagram.
b) Identify the critical path.
The critical path is: T1 -> T3 -> T4 -> T6 -> T7
c) What is the project completion time?
Project completion time = 21.5 units (from above diagram)
d) If there is an option to delay one activity without delaying the entire
project, which activity would you delay and why?
To delay a task, without delaying entire project, the task must be in non-critical path.
T1 –> T3 –> T5
T2 –> T8 –> T9
Both qualify.
Any task in the following paths can be delayed.
For the sake of convenience, let’s take T2 –> T8 –> T9 path as its slack time is 2 (1
more than other path).
Any three of these tasks can be delayed.
Let’s choose T2 and final answer as it has highest expected time and a delay may
help complete the project for
this enormous task.

e) If there is an option to delay one activity without delaying the entire project, which
activity would you delay and why?
ANSWER

a) Do you use a specific method for test case design?


Ans: The risk in the first statement ("Do you use a specific method for
test case design?") pertains to the effectiveness and reliability of the
testing process. Depending on whether a specific method is used or not,
there could be risks associated with inadequate test coverage, inefficient
testing, or the inability to identify certain types of defects.

This statement is related to Project Risk, as it is inquiring about the


testing methodology being used in the project, which can impact the
quality and reliability of the software product.

b) Governmental constraints on the construction of the product


Ans: The risk in the second statement ("Governmental constraints on
the construction of the product") involves compliance and regulatory
issues. These constraints may include legal requirements, safety
standards, environmental regulations, or other governmental policies
that the product must adhere to. Failure to comply with these constraints
can lead to legal penalties, reputational damage, or even the prohibition
of the product's sale.

This statement is related to External Risk, as it refers to external factors


(government regulations) that are outside the control of the project team
and can potentially impact the development and delivery of the product.
a. CONTEXT DIAGRAM
B.)DFD level 1 diagram
C.) DATA DICTIONARY

➢ item: string
➢ item_number: integer
➢ Order: item + item_number
➢ check_stock: Order
➢ stock_status: [in stock, out of stock]
➢ status: stock_status
➢ timestamp: time+date
➢ time:hour+minute
➢ hour: integer
➢ minute: integer
➢ date: day+month+year
➢ day: integer
➢ month: integer
➢ year: integer
➢ Message: status + timestamp
➢ order_data: item+item_number+timestamp
➢ ship_order: order_data
➢ location: string
➢ ship_confirm: [confirm + location, reject]
➢ amount: string
➢ Bill: ship_confirm + (amount + timestamp)
➢ transaction_id: string
➢ Payment: transaction_id + amount + timestamp + location
➢ transaction_data: Payment
➢ Reports: transaction_data+ order_data
8. Why is it better to reengineer the legacy systems instead of
replacing them with new software systems? Explain by
discussing two important advantage of reengineering over
replacement using suitable example [1 mark]
Ans: Reengineering legacy systems rather than replacing them with entirely new
software systems offers several advantages, including cost-effectiveness and the
preservation of valuable institutional knowledge.

1. Cost-effectiveness: Reengineering often proves to be more cost-effective


than complete replacement. This is because reengineering typically involves
modifying and updating existing systems rather than starting from scratch.
The costs associated with reengineering are often lower compared to the
expenses involved in developing, testing, and deploying an entirely new
system. Additionally, reengineering reduces the need for retraining staff on
entirely new systems, further saving costs.

Example: Imagine a large corporation with a legacy customer relationship


management (CRM) system that is outdated and no longer meeting business
needs. Instead of developing a new CRM system from scratch, the company
decides to reengineer the existing system by upgrading its architecture,
modernizing the user interface, and integrating new features. This approach
saves the company significant costs in development, testing, and training,
while still delivering an updated and improved CRM solution.

2. Preservation of institutional knowledge: Legacy systems often contain


valuable institutional knowledge embedded within their codebase and
functionality. Replacing these systems with entirely new software can result in
the loss of this knowledge, as the insights and understanding gained from
years of system use and development are discarded. Reengineering allows
organizations to leverage this existing knowledge by building upon the
foundation of the legacy system, thereby reducing the risk of losing critical
insights and expertise.

Example: A government agency relies on a legacy system for processing


citizen benefit claims. Over the years, the system has been customized to
accommodate complex regulatory requirements and unique business
processes. Instead of replacing the entire system, the agency opts to
reengineer it by modernizing the underlying technology stack and refactoring
the codebase for improved performance and maintainability. By reengineering
the legacy system, the agency preserves the institutional knowledge
embedded within the system while still benefiting from updated technology
and enhanced functionality.
Cost of developing reusable components
not integrated into the application:
Total reusable components planned = 60
Percentage of components scheduled for reuse = 70%
Number of components not integrated = 60 * (1 - 70%) = 60 * 0.3 = 18 components
Cost of developing each LOC = $16.00
Average component size = 100 LOC
Cost of developing reusable components not integrated = 18 components * 100
LOC/component * $16.00/LOC = $28,800

Cost of developing remaining functionality


custom developed:
Cost of developing each LOC = $16.00
Average component size = 100 LOC
Cost of developing remaining functionality = 42 components * 100 LOC/component *
$16.00/LOC = $67,200

Overall impact of the risk:


Overall impact = Cost of developing reusable components not integrated + Cost of
developing remaining functionality
= $28,800 + $67,200
= $96,000

Risk exposure score:


Likelihood of risk being true = 60%
Risk exposure score = Overall impact * Likelihood of risk being true
= $96,000 * 60%
= $96,000 * 0.60
= $57,600
So, the overall impact of the risk is $96,000, and the risk exposure score is $57,600.

P= 60%
probability that 18 of 60 software components will have to be custom
developed
Risk Exposure Score = Probability of occurrence for the Risk * Cost
impact of the Risk
= $28,800 * 60% = $17,280
10. Each student needs to upload the Software Design documentation of the assigned case study.
The details regarding each group member as well as their assigned case study title is provided in
the following table.

The software design document must contain the following diagrams. The marks allotted for each
diagram is also presented for your reference.
a) FRD - Functional Requirements including sub-requirements [Any Two] (1 + 1 marks)
b) Use Case Diagram and Use Case Description Table [Min. 2] (1 + 0.5 marks)
c) Class Diagram and CRC Card [ Min. 2] (1 + 0.5 marks)
d) State chart Diagram (1 mark)
e) Interaction Diagrams (1 mark)
f) Component Diagram (1 mark)
The in-detail description of each project along with their required functionalities, which need to be
implemented, is provided below. The software design document of the project should follow the
requirements mentioned in the description.

Department offices in different universities do a lot of book-keeping activities and it is necessary to


develop a software to automate these activities. University Department Information System:
• Various details regarding each student such as his name, address, course registered, etc. are
entered at the time he/she takes admission.
• At the beginning of every semester, students register for courses. The information system should
allow the department secretary to enter data regarding student registrations. When the secretary
enters the roll number of each student, the computer system should bring up a form for the
corresponding student and should keep track of courses he has already completed and the courses
he has back-log, etc.
• At the end of the semester, the instructors leave their grading information at the office which the
secretary enters into the computer. The information system should be able to compute the grade
point average for each student for the semester and his cumulative grade point average (CGPA) and
print the grade sheet for each student.
• The information system should also keep track of inventories of the Department, such as
equipment, their location, furniture, etc.
• The Department gets an yearly grant from the University and the Department spends it in buying
equipment, books, stationery items, etc. Also, in addition to the annual grant that the Department
gets from the University, it gets funds from different consultancy service it provides to different
organizations. It is necessary that the Department information system keeps track of the
Department accounts.
• The information system should also keep track of information such as the research projects
running in the Department, publications by the faculties, etc. These information are keyed in by the
secretary of the Department.
• The information system should support querying the up-to-date details about every student by
inputting his roll number. It should also support querying the details of the cash book account. The
output of this query should include the income, expenditure, and balance.
ANSWER
1. FRD
1. Student Information Management
1.1. Student Registration
- Allow the department secretary to enter student details such as name,
address, contact information, and other relevant information during
admission.
- Assign a unique roll number to each student.
- Validate and ensure data integrity of student information.

1.2. Course Registration


- Enable students to register for courses at the beginning of each semester.
- Display a list of courses available for registration based on the student's
program, year of study, and any prerequisites.
- Prevent students from registering for courses with scheduling conflicts or
prerequisites not met.
- Maintain a record of courses registered by each student for the current and
previous semesters.
- Track the courses completed and backlog courses for each student.

1.3. Grade Management


- Allow instructors to submit grades for each registered student in their
respective courses.
- Validate grade entries to ensure they conform to the defined grading
system.
- Calculate the semester grade point average (GPA) and cumulative grade
point average (CGPA) for each student.
- Generate grade sheets or transcripts for students, displaying their grades,
GPA, and CGPA.

1.4. Student Records Management


- Maintain up-to-date records of student information, including personal
details, academic performance, and course history.
- Provide tools for searching and retrieving student records based on various
criteria (e.g., roll number, name, program).
- Support updating and modifying student records as needed (e.g., address
change, program transfer).

2. Financial Management
2.1. Accounts and Funds
- Record and maintain the annual grant received from the university for the
department.
- Track income from consultancy services provided by the department to
external organizations.
- Record expenditures made by the department for purchasing equipment,
books, stationery, or other expenses.
- Maintain a cash book to record all income, expenditure, and calculate the
current balance.

2.2. Budgeting and Forecasting


- Allocate budgets for different department activities and expenses based on
the available funds.
- Forecast future expenses and revenue based on historical data and planned
activities.
- Generate reports on budget utilization and financial projections.

2.3. Auditing and Reporting


- Maintain detailed records of all financial transactions for auditing purposes.
- Generate financial reports such as income statements, balance sheets, and
cash flow statements.
- Provide tools for querying and analyzing financial data based on various
criteria (e.g., date range, expenditure category, funding source).

3. Inventory Management
3.1. Asset Tracking
- Maintain a comprehensive inventory of department assets, including
equipment, furniture, and other physical resources.
- Record details such as asset description, location, condition, and assigned
owner or department.
- Support tracking asset movements and transfers between departments or
locations.

3.2. Asset Procurement


- Facilitate the process of procuring new assets for the department.
- Maintain records of purchase orders, vendors, and associated costs.
- Integrate with the financial management module for budgeting and
expenditure tracking.

3.3. Asset Maintenance


- Schedule and track maintenance activities for department assets.
- Record maintenance history, including repairs, servicing, and replacements.
- Generate reports on asset condition and maintenance requirements.
B. USE CASE DIAGRAMS and USE CASE
DESCRIPTION TABLES
1.USE CASE: FINANCIAL MANAGEMENT
Use Case Description Table
Use Case Actor Description
Record Income Department Allows the department secretary and finance
Secretary, Finance officer to record income from various sources.
Officer
Record Grant Department Included in the "Record Income" use case.
Income Secretary, Finance Facilitates recording income from grants received
Officer by the department.
Record Department Included in the "Record Income" use case. Enables
Consultancy Secretary, Finance recording income from consultancy services
Income Officer provided by the department.
Record Other Department Included in the "Record Income" use case. Allows
Income Secretary, Finance recording any other sources of income for the
Officer department.
Record Department Enables the department secretary and finance
Expenditure Secretary, Finance officer to record expenditures made by the
Officer department.
Record Department Included in the "Record Expenditure" use case.
Equipment Secretary, Finance Facilitates recording purchases of equipment and
Purchases Officer assets for the department.
Record Department Included in the "Record Expenditure" use case.
Operational Secretary, Finance Allows recording operational expenses, such as
Expenses Officer utilities, supplies, and maintenance costs.
Record Payroll Department Included in the "Record Expenditure" use case.
Expenses Secretary, Finance Enables recording payroll expenses for department
Officer staff and faculty.
Generate Department Generates various financial reports for the
Financial Secretary, Finance department.
Reports Officer
Generate Department Included in the "Generate Financial Reports" use
Income Secretary, Finance case. Generates the income statement report.
Statement Officer
Generate Department Included in the "Generate Financial Reports" use
Balance Sheet Secretary, Finance case. Generates the balance sheet report.
Officer
Generate Cash Department Included in the "Generate Financial Reports" use
Flow Statement Secretary, Finance case. Generates the cash flow statement report.
Officer
Generate Budget Department Included in the "Generate Financial Reports" use
Reports Secretary, Finance case. Generates reports related to budgets and
Officer budget utilization.
Manage Budgets Department Head Allows the department head to manage budgets for
different activities and expenses based on available
funds.
Forecast Department Head Included in the "Manage Budgets" use case.
Expenses Forecasts future expenses based on historical data
and planned activities.
Allocate Funds Department Head Included in the "Manage Budgets" use case.
Allocates funds to different department activities
and expenses
2. USE CASE: STUDENT
INFORMATION MANAGEMENT
Use Case Description Table
Use Case Actor Description
Register for Student Allows students to register for courses at the
Courses beginning of each semester.
View Course Student Enables students to view the list of available
Catalog courses, course descriptions, schedules, and
instructors.
Check Course Student Checks if the student has met the prerequisites
Prerequisites for the selected courses.
Manage Course Student Allows students to create and manage their
Schedule course schedule, ensuring no scheduling
conflicts.
Enroll in Student Facilitates the final enrollment process after
Courses course selection and schedule management.
View Grades Student Enables students to view their grades for
completed courses.
Calculate GPA Student Extends the "View Grades" use case. Calculates
the student's semester GPA and cumulative GPA
based on their grades.
View Student Included in the "View Grades" use case.
Transcript Generates and displays the student's official
academic transcript.
Submit Grades Instructor Allows instructors to submit grades for students
enrolled in their courses.
Manage Department Enables the department secretary to manage
Student Secretary student records, including personal information,
Records course registration, and academic performance.
Add New Department Included in the "Manage Student Records" use
Student Secretary case. Allows the department secretary to add a
new student to the system and create their
record.
Update Department Included in the "Manage Student Records" use
Personal Secretary case. Allows the department secretary to update
Information a student's personal information, such as name,
address, and contact details.
Transfer Department Extends the "Manage Student Records" use case.
Program Secretary Initiates the process of transferring a student to a
different program or department.
Generate Department Included in the "Manage Student Records" use
Student Secretary case. Generates various reports related to student
Reports information, such as enrollment reports,
academic performance reports, and demographic
reports.
Approve Department Allows the department head to review and
Student Head approve or reject a student's program transfer
Transfer request.
3.USE CASE: INVENTORY MANAGEMENT

Use Case Description Table


Use Case Actor Description
Add/Update Department Enables the department secretary to add or
Assets Secretary update asset records in the inventory
management system.
Record Asset Department Allows the department secretary to record the
Transfer Secretary transfer of an asset between departments or
locations.
Update Asset Department Enables the department secretary to update
Location Secretary the location of an asset in the inventory
records.
Schedule Department Facilitates scheduling and tracking
Maintenance Secretary maintenance activities for department assets.
Create Department Included in the "Schedule Maintenance" use
Maintenance Secretary case. Allows the department secretary to
Plan create a maintenance plan for an asset.
Assign Department Extends the "Schedule Maintenance" use case.
Technician Secretary Assigns a technician to perform the scheduled
maintenance task.
Generate Asset Department Generates a report on the condition of the
Condition Report Secretary department's assets.
Generate Department Generates a report on the maintenance
Maintenance Secretary activities and schedules for the department's
Report assets.
4. USE CASE: PUBLICATION MANAGRMENT

Use Case Actor Description


Manage Research Faculty Member Enables faculty members to manage research
Projects projects, including creating proposals, tracking
progress, and managing project teams.
Create Project Faculty Member, Included in the "Manage Research Projects"
Proposal Research use case. Allows faculty members and research
Assistant assistants to create project proposals.
Track Project Faculty Member, Included in the "Manage Research Projects"
Progress Research use case. Facilitates tracking the progress of
Assistant research projects, including milestones, tasks,
and deliverables.
Manage Project Faculty Member, Included in the "Manage Research Projects"
Team Research use case.
Assistant
Track Publications Faculty Member Allows faculty members to track and manage
their publications, such as journal articles,
conference proceedings, and books.
Record New Faculty Member Included in the "Track Publications" use case.
Publication Facilitates recording details of a new
publication by a faculty member.
Update Faculty Member Extends the "Track Publications" use case.
PublicationDetails Allows faculty members update details of their
publications.
Generate Reports Department Enables the department secretary to generate
Secretary reports related to research projects and
publications.
Research Project Department Included in the "Generate Reports" use case.
Report Secretary Generates reports on ongoing and completed
research projects.
C) CLASS DIAGRAM AND CRC CARD
CRC CARDS

1. Student

Class Responsibilities Collaborators

Student Manage personal information (rollNumber, name, address, contactInfo) ContactInfo

Enroll in an academic program AcademicProgram

Register and withdraw from courses CourseRegistration, Course

View grades Transcript, Grade

Calculate GPA Transcript, Grade

Generate transcripts Transcript

2. Address

Class Responsibilities Collaborators

Address Store and manage address details (street, city, state, zipCode, country) ContactInfo

3.AcademicProgram

Class Responsibilities Collaborators

AcademicProgram Store program details (programCode, programName, department) Department, Course

Maintain a course catalog Course

4. Course

Class Responsibilities Collaborators

Course Store course details (courseCode, courseTitle, credits) Instructor

Manage course prerequisites Course

Assign an instructor to the course Instructor


D)STATE CHART DIAGRAM

Student Registration:

Input student details

Register a new student

Register courses for a semester

Enter grades at the end of the semester

Inventory Management:

Manage department inventory

Update inventory items and their locations

Finance Management:

Record income sources (grant, consultancy)

Record expenditures

Query account balance


E) INTERACTION DIAGRAM

DESCRIPTION
Student Management: Handling student admission, retrieving student details for various operations.

Course Registration: Allowing students to register for courses at the beginning of each semester.

Grade Management: Processing grade submissions from instructors, calculating GPAs, and
generating grade reports.

Inventory Management: Updating inventory item locations and tracking inventory details.
Accounts Management: Recording income sources, expenditures, and querying cash book details.

Research Project Management: Adding new research projects and managing project information.

Publication Management: Adding new publications and managing publication details.

Query Processor: Retrieving student details and cash book information for querying purposes.

SEQUENCE DIAGRAMS
1. Register Student

2. Register Courses
3. Submit Grades

4.Update Inventory
F) Component Diagram
Web Application:

Web UI: The user interface component for interacting with the system through a web
browser.

Controller: The controller component that handles user requests and coordinates with other
components.

Application Server:

Student Management: This package contains components for student registration, course
registration, grade processing, and transcript generation.

Faculty Management: This package includes components for course assignment and
publication management.

Department Management: This package contains components for inventory management,


finance management, and research project management.

Query Processor: This component handles queries for retrieving student details and financial
data.

Database Server:

Student Data: Database for storing student information.

Course Data: Database for storing course-related data.

Faculty Data: Database for storing faculty information.

Inventory Data: Database for storing department inventory data.

Finance Data: Database for storing financial data, including income and expenditures.

Research Project Data: Database for storing research project information.

Publication Data: Database for storing publication details.

You might also like