Information System Analysis Design and Implementation
UNIT-I: Overview of System Analysis and Design
Systems Development Life Cycle; concept and Models: requirements determination, logical design, physical design, test planning, implementation, planning and performance evaluation, communication, interviewing, presentation skills; group dynamics; risk and feasibility analysis; group-based approaches, JAD, structured walkthroughs, and design and code reviews; prototyping; database design, software quality metrics; application categories, software package evaluation and acquisition.
UNIT-II: Information Requirement Analysis
Process modeling with physical logical data flow diagrams, data modeling with logical entity-relationship diagrams.
UNIT-III: Developing a Proposal
Feasibility study and cost estimation. System Design: Design of input and control, design of output and control, file design/database design, process, user interface design, prototyping; software constructors; documentation.
UNIT-IV: Application Development Methodologies and CASE tools
Information engineering, structured system analysis and design, and object-oriented methodologies for application development, data modeling, process modeling, user interface design, and prototyping; use of computer-aided software engineering (CASE) tools in the analysis, design, and implementation of information systems.
UNIT-V: Design and Implementation on OO Platform
Object-oriented analysis and design through object modeling technique, object modeling, dynamic modeling, and functional object-oriented design and object-oriented programming systems for implementation, object-oriented databases.
UNIT-VI: Managerial Issues in Software Projects
Introduction to software markets; planning of software projects, size and cost estimates; project scheduling; measurement of software quality and productivity, ISO and capability maturity models for organizational growth.

UNIT-I: Overview of System Analysis and Design

1. Systems Development Life Cycle (SDLC)

SDLC is a structured process for planning, creating, testing, and deploying an information system.

Example:
Building a Library Management System:
1. Planning: Understand the need for automation.
2. Analysis: Gather requirements (e.g., user logins, book issue).
3. Design: Create database structure, interface mockups.
4. Implementation: Code the system.
5. Testing: Run sample use cases.
6. Maintenance: Fix bugs, add features over time.
        

2. Requirements Determination

Identifying what users need from the system through interviews, observations, and document analysis.

Example:
For a hospital system, requirements may include:
- Patient record management
- Appointment scheduling
- Billing and prescriptions
        

3. Logical and Physical Design

Logical Design: Focuses on what the system will do (data flow, processes).

Physical Design: Focuses on how the system will be implemented (hardware, software, files).

Example:
Logical: Patient → Checkup → Bill generation
Physical: SQL database → Web interface → Hospital LAN server
        

4. Test Planning and Implementation

Test Planning: Deciding how to test the system for errors, performance, and usability.

Implementation: Putting the system into use with proper installation and training.

Example:
Test Plan: Unit Test, Integration Test, User Acceptance Test
Implementation: Deploy system, train staff, monitor performance.
        

5. Performance Evaluation and Communication Skills

Evaluation ensures the system meets requirements. Communication, interviewing, and presentation skills are vital for gathering accurate requirements and presenting solutions.

Example:
Interviewing users helps identify missing features;
Presenting a system demo to stakeholders ensures feedback.
        

6. Group Dynamics and Feasibility Analysis

Group Dynamics: How team members interact to achieve goals.

Feasibility Analysis: Checks if a system is viable technically, economically, and operationally.

Example:
Feasibility study of an eCommerce platform:
- Technical: Can we build it with current tools?
- Economic: Will the benefits outweigh the costs?
- Operational: Will users adapt to the new system?
        

7. Group-Based Approaches: JAD, Walkthroughs, Reviews

Example:
In a JAD session for a college system,
Admins, students, and developers meet to agree on features like marks entry, attendance tracking, etc.
        

8. Prototyping and Database Design

Prototyping: Building a quick working model of the system to gather user feedback.

Database Design: Structuring data storage to ensure consistency, security, and efficiency.

Example:
Prototype: Build login and dashboard screens to show users.
Database: Tables for Students, Courses, Grades with foreign key relationships.
        

9. Software Quality Metrics

Metrics help evaluate how well the software meets user needs. Common metrics include:

Example:
If 100 defects are found in 10,000 LOC,
Defect Density = 100 / 10,000 = 0.01 or 1%
        

10. Application Categories and Software Package Acquisition

Applications can be:

Software Package Evaluation: Involves comparing features, cost, vendor support before purchasing.

Example:
For accounting, compare:
- Tally vs. Zoho Books
Based on cost, usability, support, integration options.
        

UNIT-II: Information Requirement Analysis

1. Process Modeling with Data Flow Diagrams (DFD)

Data Flow Diagrams (DFD) are graphical tools used to represent the flow of data through a system. They help in understanding how data is processed, stored, and transferred.

Example:
Library Management System - Logical DFD (Level 0):
[Student] → (Request Book) → [Library System] → (Issue Book) → [Student]

Physical DFD may include:
- Barcode scanner hardware
- SQL database for book inventory
- Web server handling book issue logic
        

2. Logical DFD vs Physical DFD

Both represent data flow, but with different purposes:

Example:
Logical DFD:
Process: "Process Order"
Input: Customer Order
Output: Order Confirmation

Physical DFD:
Process: "Process Order" implemented using:
- Web Form
- Order table in MySQL database
- Confirmation Email Server
        

3. Data Modeling with Entity Relationship Diagrams (ERD)

Entity Relationship Diagrams (ERD) help in visualizing and designing the structure of a database. They model entities (objects), their attributes (properties), and relationships.

Example:
Student(ID, Name, Email)
Course(Code, Title, Credits)
Relationship: Student "enrolls in" Course

One Student → can enroll in many Courses (1:M)
One Course → can have many Students (M:M)
        

4. Logical ERD

Logical ERDs represent the business requirements of the system in terms of entities and relationships, independent of the database software or implementation details.

Example:
Entities: Customer, Order
Attributes:
- Customer: ID, Name, Phone
- Order: OrderID, Date, Amount
Relationship: Customer "places" Order (1:M)

This logical view helps design a normalized and efficient database structure.
        

UNIT-III: Developing a Proposal and System Design

1. Feasibility Study

A Feasibility Study determines whether a proposed system is practical and achievable before development begins. It helps in decision-making and risk reduction.

Example:
A college plans to digitize student attendance.
Feasibility study checks:
- Availability of barcode scanners (Technical)
- Budget for software and hardware (Economic)
- Teachers' readiness to use it (Operational)
        

2. Cost Estimation

Cost Estimation predicts the resources and money required for the system. It includes development, training, testing, hardware, and maintenance costs.

Example:
Estimated Cost for Inventory System:
- Developer Salary: ₹1,00,000
- Server Hosting: ₹10,000
- Training Staff: ₹5,000
- Total: ₹1,15,000
        

3. Design of Input and Control

Input Design ensures the system gets accurate and complete data from users. Input Controls prevent errors and fraud.

Example:
Login Form:
- Username: must be email format
- Password: must be at least 8 characters
- Submit button disabled until all fields are filled
        

4. Design of Output and Control

Output Design focuses on presenting system results clearly. Output Controls ensure accuracy and security of output.

Example:
- Student result sheet: shows marks, grades, and GPA
- Only admin can export the results to PDF
        

5. File Design / Database Design

File Design involves organizing files to store system data efficiently. Database Design structures data into tables, keys, and relationships.

Example:
Table: Students(StudentID, Name, DepartmentID)
Table: Departments(DepartmentID, Name)
→ One-to-many relationship between Departments and Students
        

6. Process Design

Process Design defines how the system performs its functions – step-by-step instructions for data processing.

Example:
Online Shopping Cart:
1. Add Item → Update Quantity → Calculate Total → Checkout → Send Invoice
        

7. User Interface (UI) Design

UI Design involves creating interfaces that are simple, efficient, and enjoyable to use.

Example:
Banking App Dashboard:
- Buttons: Transfer Money, View Balance
- Tooltips for icons, and real-time balance update after transaction
        

8. Prototyping

Prototyping is the process of building a quick working model of a system to understand and validate user requirements.

Example:
Create a clickable prototype for a hostel booking system:
- Students click “Book Room” → Select room type → Preview charges → Confirm
        

9. Software Constructors

Software Constructors are tools and platforms used to build applications without writing full code manually.

Example:
Use Visual Studio to drag-and-drop UI components and auto-generate backend code for a Windows Form App.
        

10. Documentation

Documentation provides details about system design, usage, and maintenance. It ensures knowledge transfer and future updates.

Example:
User Manual: "Click 'Submit' to save your form."
Technical Doc: "Function SaveData() commits the record to SQL Server."
        

UNIT-IV: Application Development Methodologies and CASE Tools

1. Application Development Methodologies

Application development methodologies are structured approaches to planning, designing, developing, and deploying software systems. They ensure better quality, collaboration, and predictable results.

Example:
Banking Application
- IE: Analyze organizational data needs before system design.
- SSAD: Use DFDs to show customer login → balance inquiry → transaction.
- OOP: Class "Account" with attributes (balance) and methods (deposit, withdraw).
        

2. Data Modeling

Data Modeling defines how data is structured, stored, and related in a system. It’s a blueprint for database design.

Example:
Entity: Student(ID, Name, CourseID)
Entity: Course(CourseID, Title)
Relationship: Student "enrolled in" Course (M:1)
        

3. Process Modeling

Process Modeling describes how business processes operate within a system. It uses tools like DFDs, flowcharts, and activity diagrams.

Example:
Online Order Process:
- Customer places order → System checks inventory → Processes payment → Generates invoice → Updates stock.
        

4. User Interface (UI) Design and Prototyping

UI Design: Focuses on creating an interface that is intuitive, efficient, and user-friendly.

Prototyping: Building an early sample/mockup of the system to collect feedback and refine requirements.

Example:
Online Fee Payment Portal Prototype:
- Homepage → Login Page → Dashboard → Pay Now → Payment Confirmation
Tested with students before building the full system.
        

5. Computer-Aided Software Engineering (CASE) Tools

CASE tools are software programs that help in automating the steps of software development such as analysis, design, and coding.

Example:
Using Visual Paradigm:
- Draw ERD and DFD
- Generate class diagrams
- Auto-generate Java code for classes
This reduces manual effort and improves accuracy.
        

UNIT-V: Design and Implementation on Object-Oriented (OO) Platform

1. Object-Oriented Analysis and Design (OOAD)

OOAD is a methodology for analyzing and designing a system by visualizing it as a group of interacting objects, each defined by its class, attributes, and behaviors.

Example:
In a University System:
- Classes: Student, Professor, Course
- Behaviors: Student registers(), Professor assignsGrade()
OOA identifies classes; OOD defines relationships and interactions.
        

2. Object Modeling Technique (OMT)

Object Modeling Technique by James Rumbaugh provides a structured method for modeling systems using three models:

Example:
Object Model → Class: Account (Attributes: balance, owner)
Dynamic Model → State: Active → Overdrawn → Closed
Functional Model → Input: Deposit → Process: Update → Output: New Balance
        

3. Object Modeling

Object Modeling defines the objects, their classes, attributes, methods, and relationships in the system.

Example:
Class: Book
Attributes: title, author, ISBN
Methods: issue(), return(), checkAvailability()
Relationship: A Library has many Books (1:M)
        

4. Dynamic Modeling

Dynamic Modeling captures how objects behave and interact over time. It uses:

Example:
ATM Card State Diagram:
States → Inserted → Verified → Transaction Processing → Ejected
Transitions based on user actions and validations.
        

5. Functional Object-Oriented Design

This approach merges traditional functional decomposition with object-oriented design. It ensures:

Example:
Class: Invoice
Function: calculateTotal() → Calls calculateTax(), applyDiscount()
All logic grouped logically inside the class → clean & reusable.
        

6. Object-Oriented Programming Systems (OOPS)

OOPS is the implementation of OOAD concepts using programming languages like Java, C++, or Python.

Example (Java):
class Animal {
    void speak() { System.out.println("Sound"); }
}
class Dog extends Animal {
    void speak() { System.out.println("Bark"); }
}
Polymorphism: Animal a = new Dog(); → a.speak() → Outputs "Bark"
        

7. Object-Oriented Databases (OODB)

Object-Oriented Databases store data as objects, similar to OOP languages. They support class hierarchies, methods, and complex data types.

Example:
Object: Student(Name, RollNo, Courses[])
Can be saved and retrieved as an object in OODB like db4o or ObjectDB
No need for SQL table conversion → seamless with OOP code
        

UNIT-VI: Managerial Issues in Software Projects

1. Introduction to Software Markets

Software markets involve the development, distribution, and support of software products and services. They can be categorized as:

Example:
TCS and Infosys develop custom software for banks,
while Adobe sells packaged creative tools globally.
        

2. Planning of Software Projects

Project planning defines the roadmap for delivering the software within time and budget. It includes:

Example:
In a mobile app project:
- Scope: User login, chat, and notifications
- Resources: 2 developers, 1 designer, 2 months
- Plan: Week-by-week tasks scheduled
        

3. Size and Cost Estimation

Size estimation measures how big the software is, and cost estimation predicts the budget required to develop it.

Example:
Estimated LOC = 5,000
Developer cost = ₹25/LOC → Total = ₹1,25,000
Add testing, documentation, buffer = Total ~ ₹1.5 lakhs
        

4. Project Scheduling

Scheduling involves defining a timeline for each task and milestone. Tools used:

Example:
Gantt Chart shows:
Week 1–2: Requirement gathering  
Week 3–5: Design  
Week 6–9: Coding  
Week 10–11: Testing  
Week 12: Deployment
        

5. Measuring Software Quality and Productivity

Software Quality ensures the product is reliable, secure, and meets user needs. Productivity measures how efficiently a team delivers software.

Example:
- 10 defects in 2000 LOC → Defect Density = 5 per 1,000 LOC  
- 1 developer delivers 500 LOC/week → Good productivity
        

6. ISO and Capability Maturity Models (CMM)

ISO (International Organization for Standardization) provides global standards for quality management in software (e.g., ISO 9001).

Capability Maturity Model (CMM) helps organizations improve their software processes through 5 maturity levels:

  1. Level 1: Initial – Ad hoc and chaotic process
  2. Level 2: Repeatable – Basic processes established
  3. Level 3: Defined – Organization-wide standards followed
  4. Level 4: Managed – Metrics are used to monitor processes
  5. Level 5: Optimizing – Continuous process improvement
Example:
A company at CMM Level 3 has defined coding standards and testing procedures.  
At Level 5, it uses AI-based tools to optimize project delivery continuously.