MCS-014 Systems Analysis and Design - June 2024 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 a ‘Library Information System’ of a University. Make necessary assumptions. (10 marks)

Answer:

Assumptions: The Library Information System handles book catalog management, member registration, book borrowing/returning, fine calculation, and report generation. It interfaces with students, faculty, librarians, and the university database.

0-level DFD (Context Diagram): Shows the system as a single process interacting with external entities.

Loading diagram...

1-level DFD: Breaks down the system into major processes and data stores.

Loading diagram...

Key processes include:
→ Membership Management
→ Book Catalog Management
→ Transaction Processing
→ Report Generation. Data stores include: Member Database, Book Catalog, and Transaction Records. The 1-level DFD provides detailed view of data flows between processes and external entities.

1. (b) Draw ERD for ‘Library Information System’ of a University. Make necessary assumptions. (10 marks)

Answer:

Assumptions: The system manages books, members (students/faculty), borrowing transactions, reservations, and fines. Each book has multiple copies, and members can borrow multiple books with due dates.

Loading diagram...

The ERD shows:
MEMBER entity with attributes MemberID (PK), Name, Type, Contact
BOOK entity with ISBN (PK), Title, Author, Publisher
BOOK_COPY entity for individual copies with CopyID (PK)
TRANSACTION entity tracking borrow/return with FineAmount
RESERVATION entity for book holds. Relationships: Member initiates Transactions (1:M), Book contains Book_Copy (1:M), Book_Copy involved in Transactions (1:M), Member makes Reservations (1:M), Book reserved in Reservations (1:M). This design supports efficient querying and maintains data integrity.

1. (c) Write SRS outline for ‘Library Information System’ of a University. Make necessary assumptions. (10 marks)

Answer:

Software Requirements Specification (SRS) Outline for Library Information System

1. Introduction:

Purpose: Document functional/non-functional requirements

Scope: Covers book management, member services, transactions, reporting

Definitions: Key terms (ISBN, RFID, Fine, Reservation)

References: University policies, Library standards

2. Overall Description:

Product Perspective: Integrates with university student database

User Characteristics: Students, Faculty, Librarians, Administrators

Operating Environment: Web-based, Windows/Linux, RDBMS backend

Assumptions: Stable internet, trained staff, barcode/RFID readers

3. Specific Requirements:

Functional Requirements:
• FR1: Membership registration/renewal
• FR2: Book search with filters (author, title, category)
• FR3: Borrow/return with automatic fine calculation
• FR4: Reservation system with notifications
• FR5: Report generation (popular books, overdue items)

Non-Functional Requirements:
• Performance: Response time < 3 seconds
• Security: Role-based access, data encryption
• Availability: 99.5% uptime
• Usability: Intuitive interface, help documentation

4. External Interface Requirements:

User Interfaces: Responsive web design, mobile compatibility

Hardware Interfaces: Barcode scanners, receipt printers

Software Interfaces: Integration with university ERP, email/SMS APIs

5. Appendices: Data dictionary, sample reports, use case diagrams. This SRS provides comprehensive blueprint for development team and serves as contract between stakeholders and developers.

1. (d) Discuss Real Time Systems and Distributed Systems. (10 marks)

Answer:

Real Time Systems: Systems that must respond to events within strict time constraints.
Hard Real Time: Missing deadline causes system failure (e.g., aircraft control, medical devices)
Soft Real Time: Degraded performance acceptable if deadline missed (e.g., video streaming, online gaming). Characteristics include: deterministic response time, event-driven nature, high reliability, and specialized scheduling algorithms (Rate Monotonic, Earliest Deadline First). Applications: Industrial automation, robotics, traffic control systems, military defense systems.

Distributed Systems: Collection of independent computers that appear as single coherent system.
Key Features: Resource sharing, concurrency, scalability, fault tolerance, transparency (location, access, migration).
Architectures: Client-server, peer-to-peer, multi-tier.
Challenges: Network latency, partial failures, security, consistency maintenance.
Examples: Cloud computing platforms (AWS, Azure), distributed databases (Cassandra), content delivery networks (Akamai).

Comparison: Real-time systems prioritize timely response, while distributed systems focus on resource distribution and scalability. Some systems combine both aspects (e.g., distributed real-time control systems). Both require careful design but address different constraints: timing guarantees vs. network coordination challenges.

2. (a) Explain any five roles of a Systems Analyst. (10 marks)

Answer:

1. Problem Investigator: The analyst identifies organizational problems through interviews, observations, and document analysis. They distinguish symptoms from root causes, define problem boundaries, and assess feasibility of potential solutions. This requires analytical thinking and domain knowledge to understand business processes thoroughly.

2. Requirements Engineer: Acts as bridge between stakeholders and technical team. Elicits, analyzes, documents, validates and manages requirements. Uses techniques like interviews, questionnaires, JAD sessions, and prototyping. Creates SRS documents, use cases, and user stories ensuring clear, unambiguous, testable requirements.

3. System Designer: Translates requirements into technical specifications. Creates system architecture, database designs, interface layouts, and process flows. Uses modeling tools (UML, DFD, ERD) and follows design principles (cohesion, coupling, modularity). Balances technical constraints with user needs.

4. Change Agent: Manages organizational change during system implementation. Develops training programs, creates documentation, facilitates user adaptation. Addresses resistance through communication and involvement strategies. Ensures smooth transition from old to new systems minimizing disruption.

5. Project Coordinator: Works with project manager on planning, monitoring, and control activities. Defines project scope, estimates resources, tracks progress, identifies risks. Serves as liaison between technical team, management, and users throughout SDLC phases.

2. (b) Explain the phases of a SDLC. (10 marks)

Answer:

1. Planning Phase: Initial stage where feasibility and project scope are determined.
→ Conduct feasibility study (technical, economic, operational)
→ Define project objectives, constraints, and deliverables
→ Create project plan with timelines, resources, budget
→ Identify risks and mitigation strategies
→ Output: Project charter and feasibility report.

2. Analysis Phase: Detailed study of current system and requirements gathering.
→ Analyze existing processes and documentation
→ Conduct stakeholder interviews and observations
→ Document functional and non-functional requirements
→ Create models (DFD, ERD, use cases)
→ Output: Software Requirements Specification (SRS).

3. Design Phase: Translates requirements into technical specifications.
→ Architectural design (system structure)
→ Detailed design (database, interfaces, algorithms)
→ Create prototypes and mockups
→ Select technologies and platforms
→ Output: System Design Document (SDD).

4. Implementation Phase: Actual coding and system construction.
→ Program development following coding standards
→ Unit testing of individual components
→ Integration of modules
→ Database implementation
→ Output: Working software system.

5. Testing Phase: Comprehensive verification and validation.
→ System testing (functional, performance, security)
→ User acceptance testing (UAT)
→ Bug fixing and retesting
→ Documentation testing
→ Output: Test reports and quality certification.

6. Deployment Phase: System installation and rollout.
→ Installation in production environment
→ Data migration from old system
→ User training and support
→ Change management
→ Output: Operational system.

7. Maintenance Phase: Ongoing support and enhancements.
→ Corrective maintenance (bug fixes)
→ Adaptive maintenance (environment changes)
→ Perfective maintenance (performance improvements)
→ Preventive maintenance (proactive updates)
→ Output: Updated system versions.

3. (a) What are State Machine Diagrams and Object Interaction Diagrams ? Draw and explain. (10 marks)

Answer:

State Machine Diagrams (Statecharts): Behavioral UML diagrams showing states of an object and transitions between states in response to events. Used to model dynamic behavior of individual objects/classes.

Loading diagram...

Elements:
States: Conditions during object lifetime (New, Issued, Overdue)
Transitions: Arrows showing state changes triggered by events
Initial/Final States: Start/end points
Composite States: Nested states (Overdue contains substates)
Guard Conditions: Boolean conditions for transitions. Useful for modeling reactive systems with clear state-dependent behavior.

Object Interaction Diagrams: UML diagrams showing how objects collaborate via messages to achieve specific functionality. Two types: Sequence Diagrams and Collaboration Diagrams.

Loading diagram...

Elements:
Objects/Lifelines: Participating objects with timeline
Messages: Communication between objects (synchronous/asynchronous)
Activation Bars: Time period object is active
Return Messages: Optional response arrows. Shows temporal ordering of messages, useful for understanding complex interactions in use case scenarios.

3. (b) Explain any two requirements gathering techniques. (10 marks)

Answer:

1. Interviews: Structured conversations with stakeholders to elicit requirements.
Types: Structured (predefined questions), Unstructured (open discussion), Semi-structured (flexible with guide)
Process: Plan → Conduct → Document → Validate
Participants: One-on-one or group interviews
Advantages: Detailed information, clarifications possible, builds rapport, observes non-verbal cues
Disadvantages: Time-consuming, interviewer bias, conflicting information, depends on communication skills. Best for: Exploring complex issues, sensitive topics, executive perspectives.

2. Questionnaires/Surveys: Written sets of questions distributed to many respondents.
Types: Open-ended (qualitative), Closed-ended (quantitative), Likert scales (attitude measurement)
Design Principles: Clear instructions, logical flow, appropriate length, pilot testing
Distribution Methods: Online (Google Forms), paper-based, email
Advantages: Reaches large audience, cost-effective, anonymous responses, easy analysis of quantitative data
Disadvantages: Low response rates, no clarifications, superficial responses, design challenges. Best for: Gathering data from many users, statistical analysis, geographically dispersed stakeholders.

Comparison: Interviews provide depth while questionnaires provide breadth. Often used complementarily - interviews for detailed understanding of key stakeholders followed by surveys to validate findings across larger user groups. Selection depends on project constraints, stakeholder availability, and information needs.

4. (a) What is Coupling ? Explain any four types of Coupling. (10 marks)

Answer:

Coupling: Measure of interdependence between software modules. Indicates how closely connected two modules are. Low coupling is desirable as it promotes modularity, maintainability, and reusability. High coupling makes systems difficult to modify and test.

1. Data Coupling (Lowest/Desirable): Modules communicate by passing data parameters.
→ Example: Function calculateSalary(employeeID, hoursWorked) returns salary amount
→ Only necessary data is shared
→ Modules independent except for data exchange
→ Easy to modify individual modules
→ Promotes reusability as modules aren't tightly bound.

2. Stamp Coupling (Moderate): Modules share composite data structures (records, objects).
→ Example: Module passes entire employee record instead of individual fields
→ Modules know structure of shared data
→ Changes to data structure affect multiple modules
→ Acceptable when logically related data needs to be passed together.

3. Control Coupling (Moderate-High): One module controls logic of another by passing control information.
→ Example: Module A passes flag "mode=EDIT" to Module B which behaves differently based on flag
→ Receiver module must know meaning of control parameters
→ Creates dependency on internal logic
→ Often indicates need for redesign.

4. Common Coupling (High/Undesirable): Modules share global data.
→ Example: Multiple modules read/write to common global variables
→ Changes to global data affect all using modules
→ Difficult to track data modifications
→ Reduces module independence
→ Creates maintenance challenges.

5. Content Coupling (Highest/Worst): One module directly modifies or relies on internal workings of another.
→ Example: Module A changes local variables of Module B or branches into Module B's code
→ Maximum interdependence
→ Any change requires modifying multiple modules
→ Should always be avoided.

Design Goal: Strive for lowest possible coupling (preferably data coupling) to create modular, maintainable systems with independent components that can be developed, tested, and modified separately.

4. (b) Explain various guidelines for User Interface Design. (10 marks)

Answer:

1. Consistency Guidelines: Maintain uniform appearance and behavior throughout interface.
Visual Consistency: Same colors, fonts, icons across screens
Functional Consistency: Similar operations work similarly
Internal Consistency: Within application consistency
External Consistency: Match platform/industry standards. Benefits: Reduces learning time, minimizes errors, creates professional appearance.

2. User Control Guidelines: Users should feel in control of system.
→ Provide clear navigation (back, cancel, undo options)
→ Avoid modes that trap users
→ Allow customization where appropriate
→ Provide feedback on system status
→ Support both novice and expert users (shortcuts for experts). Principle: "The user, not the system, initiates actions."

3. Error Prevention and Handling Guidelines: Design to minimize and manage errors.
Prevention: Gray out invalid options, use constraints, confirm destructive actions
Handling: Clear, constructive error messages suggesting solutions
Recovery: Easy recovery options, undo functionality
→ Avoid technical jargon in messages.

4. Readability and Aesthetics Guidelines: Make interface visually clear and appealing.
→ Appropriate contrast between text and background
→ Legible fonts (minimum 10pt for body text)
→ Balanced white space (avoid clutter)
→ Logical grouping of related items
→ Alignment of elements (use grids)
→ Meaningful icons with text labels.

5. Efficiency Guidelines: Optimize for user productivity.
→ Reduce number of steps for frequent tasks
→ Provide defaults and templates
→ Support keyboard shortcuts
→ Remember user preferences
→ Minimize eye and mouse movement (Fitts' Law)
→ Place important elements in prime screen real estate.

6. Accessibility Guidelines: Design for diverse user abilities.
→ Support screen readers (alt text for images)
→ Keyboard navigation without mouse
→ Color-blind friendly palettes
→ Resizable text
→ Clear focus indicators
→ Compliance with WCAG standards.

Implementation Approach: Follow iterative design with user testing, apply principles consistently, balance aesthetics with functionality, and remember that good UI design is invisible - users accomplish tasks without noticing the interface.

5. (a) Explain the criteria for design of reports. (10 marks)

Answer:

1. Purpose and Audience Criteria: Design based on report objective and users.
Types: Detail reports (all transactions), Summary reports (aggregated data), Exception reports (threshold violations)
User Analysis: Executive (high-level summaries), Operational staff (detailed data), External parties (formatted documents)
→ Determine: Information needs, frequency of use, decision-making requirements.

2. Content Criteria: Ensure relevant, accurate, complete information.
→ Include essential data only (avoid information overload)
→ Current and timely data
→ Consistent terminology and units
→ Appropriate level of detail
→ Calculations clearly labeled
→ Source identification for credibility.

3. Format and Layout Criteria: Organize for readability and comprehension.
→ Logical grouping of related information
→ Clear headings and subheadings
→ Consistent column widths and alignment
→ White space to separate sections
→ Page numbering and dates
→ Report title identifying content and period.

4. Presentation Criteria: Visual design elements for clarity.
→ Appropriate fonts (serif for print, sans-serif for screen)
→ Judicious use of emphasis (bold, italics, color)
→ Graphs/charts for trend analysis
→ Consistent color scheme
→ Highlight exceptions or key figures
→ Legends for symbols/abbreviations.

5. Navigation Criteria: Help users find information efficiently.
→ Table of contents for long reports
→ Page headers/footers with identifiers
→ Index or glossary if needed
→ Clear section breaks
→ Running totals on multi-page reports
→ "Continued" indicators.

6. Technical Criteria: Implementation considerations.
→ Response time requirements
→ Storage and archival needs
→ Distribution methods (print, email, web)
→ Security and access controls
→ Integration with other systems
→ Scalability for growing data volumes.

Design Process: 1. Identify users and needs 2. Determine content and frequency 3. Design prototype 4. Review with users 5. Refine based on feedback 6. Implement and test 7. Establish maintenance procedures. Good report design presents right information to right people at right time in understandable format supporting effective decision-making.

5. (b) Explain the five categories into which CAIE tools can be classified. (10 marks)

Answer:

CAIE Tools (Computer-Aided Software Engineering): Software tools that assist in various phases of system development. Classified into five categories based on their primary function in SDLC.

1. Planning Tools: Support project planning and management activities.
Examples: Microsoft Project, JIRA, Trello, Gantt chart creators
Functions: Project scheduling, resource allocation, cost estimation, risk management, milestone tracking
Benefits: Improved project visibility, better resource utilization, accurate forecasting, timely completion.

2. Analysis and Design Tools: Assist in requirements analysis and system design.
Examples: Enterprise Architect, Visual Paradigm, IBM Rational Rose, Draw.io
Functions: Create and manage models (DFD, ERD, UML diagrams), generate documentation, enforce modeling standards, simulate designs
Benefits: Visual representation, consistency checking, documentation automation, design validation.

3. Programming Tools: Support coding and implementation phase.
Examples: IDEs (Visual Studio, Eclipse), debuggers, compilers, code generators, version control systems (Git)
Functions: Code editing, syntax checking, debugging, testing, version management, code generation from designs
Benefits: Increased productivity, code quality, team collaboration, reuse of components.

4. Testing Tools: Automate testing activities throughout SDLC.
Examples: Selenium (UI testing), JUnit (unit testing), LoadRunner (performance testing), SoapUI (API testing)
Functions: Test case management, automated execution, defect tracking, performance monitoring, coverage analysis
Benefits: Early bug detection, reduced manual effort, comprehensive testing, regression test automation.

5. Maintenance Tools: Support post-deployment activities.
Examples: Application performance monitors, log analyzers, reverse engineering tools, documentation generators
Functions: System monitoring, performance optimization, impact analysis for changes, documentation updates, reengineering assistance
Benefits: Reduced downtime, easier enhancements, system understanding, knowledge retention.

Integrated CASE Tools: Some tools span multiple categories (e.g., IBM Engineering Workflow Management covers planning through testing). Selection depends on project size, methodology, team skills, and organizational standards. Modern trends include cloud-based tools, AI-assisted development, and DevOps integration tools.

Suggetested Articles