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)

The SDLC is a structured approach for developing information systems through phases including planning, analysis, design, implementation, and maintenance.

2. Models of SDLC

Different approaches to SDLC:

3. Requirements Determination

Process of identifying what the system must do, usually through interviews, observations, and documentation study.

4. Logical and Physical Design

Logical Design: Abstract model showing *what* the system will do.
Physical Design: Concrete model showing *how* the system will work.

Logical: Entity-Relationship Diagram
Physical: SQL Tables with indexes and keys
            

5. Test Planning and Implementation

Defining test strategies and implementing the final system with integration and user training.

6. Planning and Performance Evaluation

System performance is evaluated for speed, accuracy, scalability, and user satisfaction.

7. Communication and Interviewing Skills

Essential for understanding user needs and expectations.

8. Group Dynamics

Study of group behavior and interaction during the development process. Team collaboration and effective roles are vital.

9. Risk and Feasibility Analysis

Examines the likelihood of project success based on technical, economic, legal, operational, and schedule feasibility.

Example:
Economic Feasibility = Benefit - Cost > 0? → Proceed
            

10. Group-Based Approaches

11. Prototyping

Creating early working models to refine system features and gather feedback.

Example:
Developing a mock login page to test user experience before actual coding.
            

12. Database Design

Designing schemas, tables, relationships, and ensuring normalization.

Student(ID, Name, DeptID)
Dept(DeptID, DeptName)
            

13. Software Quality Metrics

Used to assess software quality in terms of reliability, efficiency, maintainability, and usability.

14. Application Categories and Software Package Evaluation

Applications are categorized as transaction processing, decision support, office automation, etc. Evaluation involves comparing based on features, cost, and support.

15. Software Acquisition

Process of identifying, evaluating, and purchasing off-the-shelf or custom software solutions.

Steps:
1. Identify needs
2. Search vendors
3. Compare features
4. Cost-benefit analysis
5. Vendor selection
            

UNIT-II: Information Requirement Analysis

1. Information Requirement Analysis

This is the process of identifying, collecting, and analyzing the data requirements of a system. It ensures that the system meets the informational needs of stakeholders.

2. Process Modeling

Process modeling is the graphical representation of business processes that capture, manipulate, store, and distribute data between a system and its environment.

Physical Data Flow Diagram (DFD)

Shows how the system is currently implemented, including actual devices, people, and file systems used.

Example:
- Physical DFD may include:
  → "Customer fills form manually"
  → "Data is entered into Excel by clerk"
            

Logical Data Flow Diagram (DFD)

Focuses on what the system must do, describing processes, data flows, and data stores without specifying technology.

Example:
- Logical DFD:
  → Process: "Receive Customer Order"
  → Data Store: "Customer Database"
  → Data Flow: "Order Details"
            

DFD Levels:

3. Data Modeling

Data modeling is the process of creating a structure for how data will be stored, organized, and accessed.

4. Logical Entity-Relationship Diagram (ERD)

Logical ERDs describe data entities, their attributes, and the relationships between them without considering physical implementation (e.g., databases).

Entities:
- Student(Student_ID, Name, Course)
- Course(Course_ID, Title, Credits)

Relationship:
- Enrolls(Student_ID → Course_ID)
            

Logical ERD ignores:

5. Importance in System Design

Both process modeling and data modeling help in:

UNIT-III: Developing a Proposal & System Design

1. Developing a Proposal

Developing a proposal is the process of planning and presenting a detailed report for a proposed system, including its feasibility, costs, and benefits. It ensures that stakeholders understand and approve the system idea before development begins.

2. Feasibility Study

This is an analysis to determine if a system is practical and beneficial to develop. It includes several types of feasibility checks:

3. Cost Estimation

Cost estimation involves predicting the resources and expenses required for system development.

Example:
- Software Licenses: ₹50,000
- Developer Salary: ₹2,00,000
- Hardware Costs: ₹75,000
- Total Estimated Cost: ₹3,25,000
            

4. System Design

System design involves creating a blueprint of the system’s components and interactions. It covers how the system will work and how users will interact with it.

4.1 Design of Input and Control

Focuses on how data enters the system and how it's validated or secured.

4.2 Design of Output and Control

Involves determining the format, content, and method of delivering system outputs.

4.3 File Design / Database Design

Describes how data will be stored, retrieved, and managed.

Example:
Table: Users(UserID, Username, Email, Password)
Table: Orders(OrderID, UserID, Product, Quantity)
            

4.4 Process Design

Defines how data will be processed by the system.

4.5 User Interface Design

Focuses on designing screens, navigation, and layout for user interaction.

4.6 Prototyping

Prototyping is the creation of an early working model of the system to gather user feedback and refine requirements.

5. Software Constructors

These are tools or environments used to build software components.

6. Documentation

Documentation refers to all written details about the system for developers, users, and maintainers.

UNIT-IV: Application Development Methodologies and CASE Tools

1. Application Development Methodologies

Application development methodologies define the structured approach used to design, develop, and maintain software systems. Each methodology offers unique advantages depending on the project type and complexity.

1.1 Information Engineering

A data-centric and business-driven methodology that focuses on strategic planning and enterprise-wide system development.

1.2 Structured System Analysis and Design

A traditional method that uses step-by-step procedures to analyze and design systems.

1.3 Object-Oriented Methodologies

Focuses on objects that encapsulate data and behavior. Useful for complex, reusable, and scalable systems.

2. Data Modeling

Data modeling is the process of defining the structure of data for a system. It includes entities, attributes, and relationships.

Example:
Entities:
- Student(Student_ID, Name)
- Course(Course_ID, Title)

Relationship:
- Enrolls(Student_ID → Course_ID)
            

3. Process Modeling

Process modeling involves representing workflows and processes to understand how data flows through a system.

4. User Interface Design

This involves creating layouts and navigation paths that allow users to interact with the system effectively and efficiently.

5. Prototyping

Prototyping is the creation of a preliminary version of the system to validate requirements and gather user feedback.

6. CASE Tools (Computer-Aided Software Engineering)

CASE tools are software applications that assist in various stages of software development.

Types of CASE Tools:

UNIT-V: Design and Implementation on OO Platform

1. Object-Oriented Analysis and Design (OOAD)

OOAD is a methodology that uses object modeling to analyze and design systems based on real-world entities.

2. Object Modeling Technique (OMT)

OMT is used to represent system components as objects with attributes and behaviors.

Example:
Class: Car
Attributes: model, color, engine_type
Methods: start(), stop(), accelerate()
            

3. Dynamic Modeling

Describes the behavior of objects over time, focusing on object interactions and states.

4. Functional Object-Oriented Design

This step focuses on translating object models into implementable functional components.

5. Object-Oriented Programming Systems (OOPS)

OOPS implements designs through object-oriented programming languages like Java, C++, or Python.

6. Object-Oriented Databases

These databases store data as objects rather than tables.

UNIT-VI: Managerial Issues in Software Projects

1. Introduction to Software Markets

The software market involves development, distribution, and support of software products and services.

2. Planning of Software Projects

Planning ensures the successful execution of a software project within time and budget.

3. Size and Cost Estimates

Project size and cost estimation help predict the effort and resources needed for development.

4. Project Scheduling

Scheduling organizes project tasks into a timeline with milestones and deadlines.

5. Measurement of Software Quality and Productivity

Metrics are used to assess the quality and efficiency of software and development processes.

6. ISO and Capability Maturity Models (CMM)

Standard models ensure consistent quality and continuous process improvement in software organizations.