0% found this document useful (0 votes)
19 views6 pages

Software Engineering Assignment 1 Chinmay Sharma

The document outlines key concepts in software engineering, including system modeling factors, the distinction between functional and non-functional requirements, and the importance of feasibility studies. It compares different software development models such as Waterfall, Spiral, and Prototyping, while also discussing challenges in requirement analysis and the phases of software development. Additionally, it provides specific examples of a Software Development Life Cycle (SDLC) for a University Management System and a Software Requirements Specification (SRS) for a Mobile Payment Application.

Uploaded by

chinmay2341sha
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)
19 views6 pages

Software Engineering Assignment 1 Chinmay Sharma

The document outlines key concepts in software engineering, including system modeling factors, the distinction between functional and non-functional requirements, and the importance of feasibility studies. It compares different software development models such as Waterfall, Spiral, and Prototyping, while also discussing challenges in requirement analysis and the phases of software development. Additionally, it provides specific examples of a Software Development Life Cycle (SDLC) for a University Management System and a Software Requirements Specification (SRS) for a Mobile Payment Application.

Uploaded by

chinmay2341sha
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/ 6

Subject – Software Engineering

Name – Chinmay Sharma


Class – BCA(IBM-CS)
REG. NO. – 72211982
ASSIGNMENT
Software Engineering Assignment

1. Mention some of the factors to be considered during System Modelling.


System modelling is crucial in software engineering to ensure system efficiency, clarity, and
performance. The factors to consider include:

- System Objectives: Understand the goals the system must fulfill.


- Stakeholder Requirements: Capture the expectations from users, clients, and technical
teams.
- Functionality: Identify how the system functions and delivers results.
- Environment: Consider the hardware, software, and operational context.
- Data Flow: Define how data moves and transforms within the system.
- Process Interaction: Specify communication among components.
- Constraints: Include time, cost, and technology limitations.
- Scalability & Modifiability: Support future changes and growth.

2. Distinguish between Functional requirements and Non-Functional requirements.


Functional Requirements define what a system should do. They describe features, operations,
and services (e.g., user login, data processing). Non-Functional Requirements specify how the
system performs tasks (e.g., performance, usability, reliability).

Example:
- Functional: 'The system must allow users to transfer funds.'
- Non-Functional: 'The transaction must be completed within 2 seconds.'

3. What is the importance of a feasibility study in software development?


A feasibility study assesses the practicality of a project. It reduces risks, ensures resource
optimization, and guides planning.

Types include:
- Technical: Checks if the tech stack is suitable.
- Operational: Validates user acceptance and integration.
- Economic: Measures cost-effectiveness.
- Legal: Confirms compliance with regulations.
- Schedule: Evaluates time constraints.
4. Compare and contrast the waterfall model, Spiral Model and Prototyping Model.
Waterfall: Sequential model, good for clear requirements.
Spiral: Iterative, focuses on risk analysis and refinement.
Prototyping: Builds a working prototype for feedback.

| Model | Waterfall | Spiral | Prototyping |


|------------|-----------|--------|-------------|
| Nature | Sequential| Iterative| Iterative |
| Flexibility| Low | High | Very High |
| Feedback | Late | Continuous | Early |

5. Discuses the key challenges in choosing the right software development model?
Choosing the right model involves evaluating:
- Project Complexity
- Time Constraints
- Budget Limitations
- Risk Level
- Client Involvement

Models like Agile suit flexible, fast-moving projects, while Waterfall suits rigid, well-defined
ones.

6. What are the key phases of software development?


The main phases include:
1. Requirement Analysis
2. System Design
3. Implementation
4. Testing
5. Deployment
6. Maintenance

7. Describe in brief the role and qualities of System Analyst?


Role:
- Acts as intermediary between stakeholders and development team.
- Defines requirements and ensures alignment.

Qualities:
- Strong analytical skills
- Effective communicator
- Technically proficient
- Good documentation skills

8. Discuss the major challenges faced in requirement analysis and ways to overcome them
Challenges:
- Ambiguous requirements
- Changing user needs
- Poor communication

Solutions:
- Use prototypes
- Conduct regular feedback sessions
- Maintain clear documentation

9. Discuss the different types of feasibility studies conducted in software engineering


Types of feasibility studies:
- Technical
- Economic
- Operational
- Legal
- Schedule
- Resource

Each examines project viability from various critical perspectives.

10. SDLC for a University Management System


Chosen Model: Waterfall

1. Requirement Analysis:
- Capture the functional needs of students, faculty, admin, and exam departments.

2. System Design:
- Design modules for admission, attendance, examination, and library.

3. Implementation:
- Develop system modules using appropriate programming languages and database.

4. Testing:
- Unit testing and integration testing of all modules.
5. Deployment:
- Deploy on university servers after UAT.

6. Maintenance:
- Update based on user feedback and technical upgrades.

Waterfall is suitable due to its structured nature and fixed institutional processes.

11. SRS for a Mobile Payment Application


Project Title: Mobile Payment Application

1. Introduction
1.1 Purpose:
This app allows digital transactions such as money transfer, QR payments, and bill payments.

1.2 Scope:
Support Android/iOS platforms with secure digital transaction services.

1.3 Definitions:
- UPI: Unified Payments Interface
- KYC: Know Your Customer

2. Overall Description
2.1 Product Perspective:
System interacts with users, bank servers, and merchants.

2.2 User Classes:


- General Users
- Merchants
- Admins

2.3 Operating Environment:


- Android 8+/iOS 12+
- Backend: AWS Cloud
- DB: MySQL/MongoDB

2.4 Assumptions:
- Internet is available.
- KYC completed.
3. Specific Requirements
3.1 Functional:
- Login/Sign-up
- KYC verification
- Send/receive money
- Bill pay, QR scan, history

3.2 Non-Functional:
- Security: 2FA, encryption
- Performance: <2s latency
- Availability: 99.9%
- Scalability: Million+ users

4. External Interfaces
4.1 UI: Simple, multilingual
4.2 Hardware: Camera, biometric
4.3 Software: UPI APIs, SMS/email

5. Features:
- Wallet Top-up
- Bill pay
- Merchant payments

6. Other Requirements:
- RBI compliance
- Data privacy
- Regular backups

You might also like