MCS-014 Systems Analysis and Design - December 2023 Term-End Examination Solved Paper

Hey there! Welcome to KnowledgeKnot! Don't forget to share this with your friends and revisit often. Your support motivates us to create more content in the future. Thanks for being awesome!

1. (a) Draw 0-level and 1-level DFDs for 'Student Admission System' of a university. Make necessary assumptions. (10 marks)

Answer:

Assumptions: The Student Admission System handles online applications, document verification, entrance test scores, merit list generation, seat allocation, and fee payment. It interacts with applicants, admission committee, university departments, and financial system.

0-level DFD (Context Diagram): Shows the entire admission system as one process with external entities.

Loading diagram...

1-level DFD: Breaks down the admission system into key processes.

Loading diagram...

The 1-level DFD shows five key processes:
→ Online Application
→ Document Verification
→ Merit Calculation
→ Seat Allocation
→ Fee Processing. Data stores include: Application Database, Merit Database, and Allocation Database. External entities interact with specific processes based on their roles in the admission workflow.

1. (b) Draw ERD for 'Student Admission System' of a university. Make necessary assumptions. (10 marks)

Answer:

Assumptions: The system manages applicants, academic programs, entrance tests, application documents, merit lists, seat allocations, and fee payments. Each applicant can apply to multiple programs, and each program has limited seats across categories.

Loading diagram...

The ERD includes:
APPLICANT entity storing personal details and category
PROGRAM entity for academic programs with seat quotas
APPLICATION entity tracking each application with status
DOCUMENT entity for uploaded certificates
MERIT_SCORE entity calculating ranks
SEAT_ALLOCATION entity managing seat distribution
FEE_PAYMENT entity handling financial transactions. Relationships support multiple applications per applicant and track complete admission lifecycle.

1. (c) Write SRS outline for 'Student Admission System' of a university. Make necessary assumptions. (10 marks)

Answer:

Software Requirements Specification (SRS) Outline for Student Admission System

1. Introduction:

Purpose: Define requirements for automated admission processing

Scope: Online applications to final admission confirmation

Definitions: Merit score, reservation category, seat matrix

References: University admission policy, UGC guidelines

2. Overall Description:

Product Perspective: Integrates with university website and finance system

User Classes: Applicants, Admission Officers, Department Heads, Finance Staff

Operating Environment: Web-based, 24/7 availability during admission season

Assumptions: Internet access for applicants, document scanning capability

3. Specific Requirements:

Functional Requirements:
• FR1: Online application form with validation
• FR2: Document upload and verification workflow
• FR3: Merit calculation based on multiple parameters
• FR4: Automated seat allocation with reservation rules
• FR5: Online fee payment integration
• FR6: Real-time status tracking for applicants

Non-Functional Requirements:
• Performance: Handle 10,000+ concurrent applications
• Security: SSL encryption, role-based access, data privacy
• Availability: 99.9% during admission months
• Usability: Multilingual support, mobile responsive

4. External Interface Requirements:

User Interfaces: Dashboard for different user roles

Hardware Interfaces: Document scanners, barcode printers

Software Interfaces: Payment gateway APIs, email/SMS services

Communication Interfaces: HTTPS protocol, REST APIs

5. System Features: Detailed use cases for each major function with pre/post conditions. 6. Appendices: Sample forms, report formats, data dictionary. This SRS ensures transparent, efficient, and fair admission process meeting all stakeholder needs.

1. (d) Explain any two fact finding techniques. Give their merits and demerits. (10 marks)

Answer:

1. Interviews: Direct face-to-face or virtual conversations with stakeholders to gather information.
Types: Structured (fixed questions), Unstructured (free-flowing), Semi-structured (guided but flexible).
Process: Preparation → Conduct → Documentation → Follow-up.

Merits of Interviews:
→ Obtain detailed, in-depth information
→ Clarify ambiguities immediately
→ Observe non-verbal cues and reactions
→ Build rapport and trust with users
→ Explore sensitive or complex topics thoroughly
→ Flexible to follow unexpected but relevant leads.

Demerits of Interviews:
→ Time-consuming and expensive
→ Interviewer bias may influence responses
→ Requires skilled interviewer for best results
→ Information may be inconsistent between interviewees
→ Difficult to schedule with busy stakeholders
→ May not represent all user groups adequately.

2. Questionnaires/Surveys: Written sets of questions distributed to many respondents for standardized data collection.
Types: Open-ended (qualitative), Closed-ended (quantitative), Mixed format.
Distribution: Online, email, paper-based, mobile apps.

Merits of Questionnaires:
→ Reach large audience quickly
→ Cost-effective compared to interviews
→ Anonymous responses encourage honesty
→ Easy to analyze quantitative data statistically
→ Consistent questions ensure comparability
→ Convenient for respondents to complete at their pace.

Demerits of Questionnaires:
→ Low response rates common
→ No opportunity for clarification or follow-up
→ Cannot observe non-verbal cues
→ Design flaws can lead to misleading results
→ Superficial responses without depth
→ Requires careful design and pilot testing.

Selection Guideline: Use interviews for detailed understanding from key stakeholders and questionnaires for broad data collection from many users. Often combined for comprehensive fact finding.

2. (a) Explain any two approaches for development of information systems. (10 marks)

Answer:

1. Waterfall Model (Traditional Approach): Sequential, linear approach where each phase must be completed before next begins.
Phases: Requirements → Design → Implementation → Testing → Deployment → Maintenance.
Characteristics: Document-driven, milestone-based, minimal customer involvement after requirements.

Advantages:
→ Simple and easy to understand
→ Clear milestones and deliverables
→ Good for stable, well-defined requirements
→ Easy to manage due to rigidity
→ Works well for small to medium projects
→ Comprehensive documentation produced.

Disadvantages:
→ Inflexible to changing requirements
→ Late working software delivery
→ High risk and uncertainty
→ Difficult to measure progress
→ Not suitable for complex, object-oriented projects
→ Poor model for long-term projects.

2. Agile Methodology (Modern Approach): Iterative, incremental approach emphasizing flexibility and customer collaboration.
Key Principles: Working software over documentation, Customer collaboration, Responding to change.
Popular Frameworks: Scrum, Kanban, Extreme Programming (XP).

Advantages:
→ Adaptable to changing requirements
→ Early and frequent delivery of working software
→ Continuous customer involvement and feedback
→ Better risk management through iterations
→ Promotes teamwork and communication
→ Higher quality through continuous testing.

Disadvantages:
→ Less predictable final product
→ Requires experienced team members
→ Can be difficult to scale for large projects
→ Minimal documentation may cause knowledge loss
→ Requires constant customer availability
→ May lead to scope creep without proper control.

Comparison: Waterfall suits projects with fixed requirements and clear objectives, while Agile excels in dynamic environments where requirements evolve. Choice depends on project nature, team expertise, and organizational culture.

2. (b) Why do businesses need system analysts ? Explain the role of system analyst in modern business. (10 marks)

Answer:

Why Businesses Need System Analysts:
Bridge Technical-Business Gap: Translate business needs into technical solutions
Optimize Processes: Identify inefficiencies and recommend improvements
Technology Alignment: Ensure IT investments support business goals
Change Management: Facilitate smooth technology adoption
Risk Mitigation: Identify potential issues before implementation
Cost Efficiency: Maximize ROI on technology investments.

Role of System Analyst in Modern Business:

1. Business Problem Solver: Analyzes organizational challenges and identifies technology-enabled solutions. Works with stakeholders to define problems, assess feasibility, and propose cost-effective solutions aligning with strategic objectives.

2. Requirements Engineer: Elicits, analyzes, documents, and validates business requirements. Uses various techniques (interviews, workshops, prototyping) to ensure complete, consistent, and testable requirements that meet user needs.

3. System Designer: Creates technical specifications and architecture designs. Translates requirements into system models (DFD, ERD, UML), defines database structures, designs interfaces, and selects appropriate technologies.

4. Project Facilitator: Coordinates between business users, management, and technical teams. Manages expectations, communicates progress, resolves conflicts, and ensures project alignment with business objectives throughout development lifecycle.

5. Quality Assurance Partner: Defines test strategies, participates in testing activities, and validates that delivered system meets requirements. Ensures usability, reliability, and performance standards are met.

6. Change Agent: Manages organizational change during system implementation. Develops training programs, creates user documentation, and supports adoption to minimize disruption and maximize benefits realization.

In digital transformation era, system analysts are crucial for leveraging technology as competitive advantage, ensuring systems enhance rather than hinder business operations.

3. (a) Explain any two types of Documentation. (10 marks)

Answer:

1. User Documentation: Materials designed to help end-users operate the system effectively. Created for non-technical users to understand system functionality and perform tasks.

Types of User Documentation:
User Manuals: Comprehensive guides covering all system features
Quick Reference Guides: Concise cards with common tasks
Online Help Systems: Context-sensitive assistance within application
Tutorials: Step-by-step learning exercises
FAQs: Answers to common questions
Video Demonstrations: Visual guides for complex procedures.

Characteristics:
→ Written in simple, non-technical language
→ Task-oriented rather than feature-oriented
→ Include screenshots and examples
→ Organized for easy navigation
→ Regularly updated with system changes.
Importance: Reduces training time, decreases support calls, increases user satisfaction, ensures consistent system use, and supports compliance requirements.

2. Technical Documentation: Materials created for technical staff involved in system development, maintenance, and support. Focuses on system architecture, design, and implementation details.

Types of Technical Documentation:
System Design Documents: Architecture diagrams, database designs
API Documentation: Interface specifications for integration
Code Documentation: Comments within source code
Installation Guides: Setup and configuration instructions
Maintenance Manuals: Troubleshooting and repair procedures
Test Documentation: Test plans, cases, and results.

Characteristics:
→ Uses technical terminology appropriate for audience
→ Includes detailed specifications and constraints
→ Contains diagrams and technical illustrations
→ Organized by system components
→ Version-controlled to match software releases.
Importance: Facilitates team collaboration, supports system maintenance, enables knowledge transfer, aids debugging and enhancement, and ensures system understandability for future developers.

Both documentation types are essential but serve different audiences and purposes in system lifecycle management.

3. (b) Explain any two design principles using an example. (10 marks)

Answer:

1. Modularity Principle: Design system as collection of independent, cohesive modules that interact through well-defined interfaces. Each module should have single, well-defined purpose.

Example - E-commerce System: Instead of monolithic code handling everything, create separate modules:
User Authentication Module: Handles login, registration, password management
Product Catalog Module: Manages product listings, categories, search
Shopping Cart Module: Processes cart operations, item management
Payment Processing Module: Handles transactions, payment gateways
Order Management Module: Processes orders, inventory updates.

Benefits:
Maintainability: Change payment gateway without affecting cart module
Reusability: Authentication module can be used in other systems
Testability: Each module can be tested independently
Parallel Development: Multiple teams can work on different modules
Scalability: Scale high-demand modules independently.

2. Abstraction Principle: Hide complex implementation details and show only essential features to users. Create simplified models of complex reality.

Example - Bank ATM System:
User Abstraction: Customer sees simple interface (withdraw, deposit, check balance) hiding complex banking operations
Transaction Abstraction: Single "transfer money" function hides account validation, balance checks, ledger updates, notification generation
Security Abstraction: PIN encryption and validation hidden from user
Network Abstraction: Connection to banking servers transparent to customer.

Benefits:
Simplicity: Users interact with simple interface despite complex backend
Reduced Complexity: Developers can work on abstractions without knowing all details
Flexibility: Change implementation without affecting interface
Security: Hide sensitive implementation details
Focus: Each layer focuses on specific concerns.

These principles, when applied together, create systems that are easier to understand, develop, maintain, and evolve over time while meeting user needs effectively.

4. (a) What is a Data Dictionary ? Explain any two process specification tools. (10 marks)

Answer:

Data Dictionary: Centralized repository containing metadata about data elements in information system. Documents data definitions, characteristics, relationships, and usage rules. Serves as reference for developers, analysts, and users.

Components of Data Dictionary:
Data Elements: Basic units (fields) with name, description, data type
Data Structures: Groupings of related elements (records, tables)
Data Flows: Movement of data between processes
Data Stores: Where data is retained (files, databases)
Processes: Operations that transform data
External Entities: Sources and destinations of data.

Benefits:
→ Standardized data definitions across organization
→ Reduced data redundancy and inconsistency
→ Improved communication between teams
→ Easier system maintenance and modification
→ Better data quality and integrity
→ Support for database design and implementation.

Process Specification Tools:

1. Structured English: Limited subset of English language with specific syntax rules for describing process logic. Uses imperative sentences, conditional statements, and iteration constructs.

Example - Library Book Issue:
IF member_status = 'ACTIVE' THEN
  IF books_borrowed < max_books THEN
    IF book_available = 'YES' THEN
      Issue book
      Update member_record
      Update book_status
    ELSE Display "Book not available"
  ELSE Display "Borrowing limit reached"
ELSE Display "Membership inactive"

Advantages: Easy to understand for non-technical users, precise and unambiguous, can be converted to code easily, supports validation with users.

2. Decision Tables: Tabular representation of complex business rules showing all possible conditions and corresponding actions. Particularly useful for processes with multiple conditions.

Loading diagram...

Advantages: Comprehensive coverage of all scenarios, easy to verify completeness, eliminates ambiguity, simplifies complex logic, useful for testing. Both tools complement each other in documenting different aspects of process specifications.

4. (b) Explain the process of designing forms and reports. (10 marks)

Answer:

Process of Designing Forms and Reports: Systematic approach to create effective data entry forms and information output reports meeting user needs.

1. Requirements Analysis: Understand purpose, users, and content requirements.
Identify Users: Who will use form/report and their skill level
Determine Purpose: What task/information need addressed
Define Content: What data elements needed
Establish Frequency: How often used (daily, monthly, ad-hoc)
Consider Medium: Paper, screen, mobile, email.

2. Prototype Design: Create initial design based on requirements.
Layout Design: Logical grouping of related items, consistent alignment
Navigation Flow: Logical tab order, clear movement paths
Data Entry Controls: Appropriate input controls (text boxes, dropdowns, checkboxes)
Visual Hierarchy: Emphasize important elements
White Space: Adequate spacing for readability.

3. User Interface Principles Application: Apply design guidelines.
Consistency: Uniform appearance across all forms/reports
Efficiency: Minimize keystrokes/mouse movements
Feedback: Clear messages for actions
Error Prevention: Validation, constraints, confirmations
Flexibility: Support both novice and expert users.

4. Validation and Testing: Ensure design meets requirements.
User Review: Present prototypes to users for feedback
Usability Testing: Observe users performing tasks
Error Checking: Test validation rules and error messages
Performance Testing: Ensure acceptable response times
Accessibility Testing: Check compliance with standards.

5. Refinement and Finalization: Incorporate feedback and finalize design.
Revise Design: Make improvements based on testing
Document Specifications: Create style guide and standards
Obtain Approval: Formal sign-off from stakeholders
Develop Templates: Create reusable templates
Train Users: Provide guidance on effective use.

Key Design Considerations:
Forms: Focus on data accuracy, efficient entry, error prevention, logical flow
Reports: Emphasize readability, information relevance, appropriate summarization, effective presentation. Follow iterative approach with user involvement throughout for optimal results meeting both functional and usability requirements.

5. (a) What is a flat file ? How does it differ from a database ? Explain various steps in design of a database with the help of a diagram. (10 marks)

Answer:

Flat File: Simple data storage method where all data is stored in single file, typically as plain text or binary file with fixed structure. Each line represents record with fields separated by delimiters (commas, tabs). Example: CSV file, Excel spreadsheet without relationships.

Differences between Flat File and Database:

1. Data Redundancy:
Flat File: High redundancy (same data repeated)
Database: Minimal redundancy through normalization

2. Data Consistency:
Flat File: Difficult to maintain (update in multiple places)
Database: Easy to maintain (update once)

3. Data Integrity:
Flat File: Limited validation capabilities
Database: Strong integrity constraints (PK, FK, checks)

4. Data Security:
Flat File: Minimal security features
Database: Robust security (users, roles, permissions)

5. Concurrent Access:
Flat File: Poor support, file locking issues
Database: Excellent support with transaction management

6. Data Relationships:
Flat File: No relationship management
Database: Explicit relationship management

7. Scalability:
Flat File: Poor for large datasets
Database: Excellent scalability

Database Design Steps with Diagram:

Loading diagram...

1. Requirements Analysis: Identify data needs, entities, relationships, constraints from users.
2. Conceptual Design: Create Entity-Relationship Diagram (ERD) showing entities, attributes, relationships independent of DBMS.
3. Logical Design: Convert ERD to relational schema (tables, columns, data types).
4. Normalization: Apply normalization rules (1NF, 2NF, 3NF) to eliminate redundancy and anomalies.
5. Physical Design: Define storage structures, indexes, partitions for specific DBMS.
6. Implementation: Create database using SQL DDL statements.
7. Testing: Verify functionality, performance, security.
8. Deployment: Migrate data, implement security, train users.
9. Maintenance: Monitor performance, backup, optimize, enhance.

This systematic approach ensures database meets current needs while allowing future growth and maintaining data integrity.

5. (b) Explain any five ways in which CASE tools can be used by an organization. (10 marks)

Answer:

1. Automated Diagramming and Modeling: CASE tools automate creation and maintenance of system models.
Applications: Generate DFDs, ERDs, UML diagrams automatically
Benefits: Consistent notation, easy modifications, diagram validation, documentation generation
Examples: Creating database schema from ER diagram, generating class diagrams from code
Impact: Reduces manual drawing time, improves accuracy, enables rapid prototyping.

2. Requirements Management and Tracing: Tools help manage requirements throughout development lifecycle.
Applications: Store requirements, track changes, link requirements to design and test cases
Benefits: Complete requirements traceability, impact analysis, version control
Examples: Tracking which design elements satisfy specific requirements, impact analysis of requirement changes
Impact: Ensures system meets all requirements, facilitates change management.

3. Code Generation and Reverse Engineering: Automate conversion between design models and code.
Applications: Generate code skeletons from design, reverse engineer existing code to models
Benefits: Faster development, consistency between design and code, documentation from existing systems
Examples: Generating Java classes from UML, creating database DDL from ER models
Impact: Increases productivity, reduces coding errors, aids legacy system understanding.

4. Project Management and Team Collaboration: Tools support planning, tracking, and team coordination.
Applications: Task assignment, progress tracking, resource management, communication
Benefits: Better project visibility, improved coordination, resource optimization
Examples: Gantt chart generation, milestone tracking, team collaboration spaces
Impact: On-time project delivery, efficient resource utilization, better team productivity.

5. Quality Assurance and Testing: Automate testing activities and quality checks.
Applications: Test case generation, test execution, defect tracking, code quality analysis
Benefits: Comprehensive testing, early defect detection, consistent quality standards
Examples: Generating test cases from use cases, code complexity analysis, coverage metrics
Impact: Higher software quality, reduced post-release defects, compliance with standards.

6. Documentation Generation and Management: Automate creation and maintenance of project documentation.
Applications: Generate reports, user manuals, technical documentation from models
Benefits: Consistent documentation, reduced manual effort, always up-to-date
Examples: Creating user guides from interface designs, API documentation from code
Impact: Comprehensive documentation with less effort, supports knowledge management.

These CASE tool applications help organizations improve software quality, increase productivity, reduce costs, and ensure consistency across development projects while supporting standardization and best practices.

Suggetested Articles