Information Systems Development Notes

INTRODUCTION

  • Information Systems Development: Process of improving business problems through better procedures and methods.

  • Two Major Components:

    • Systems Analysis: Gathering and interpreting facts, diagnosing problems, recommending improvements.

    • Systems Design: Planning a new or replacement system; requires understanding of the existing system.

PARTICIPANTS IN SYSTEMS DEVELOPMENT

  • Team Composition:

    • Development team includes stakeholders, a Steering Committee, users, managers, systems development specialists, and support staff.

    • A project manager coordinates the process.

STAKEHOLDERS

  • Definition: Individuals or groups benefiting from the system development.

  • Includes Project Team, Sponsors, Steering Committee, Customers, etc.

  • Key Stakeholders: Those whose support is critical for project success.

PROJECT MANAGER

  • Role: Coordinates people and resources; crucial for success or failure.

  • Skills Needed: Technical, business, and interpersonal.

  • Responsibilities:

    • Develop project schedule

    • Recruit and train team members

    • Monitor risks and quality

    • Communicate with clients and stakeholders

SYSTEMS ANALYSTS

  • Role: Analyze systems, interpret user needs, design business systems.

  • Responsibilities:

    • Assess feasibility of applications

    • Analyze existing systems

    • Conduct feasibility tests

    • Document the system

  • Key Attributes: Strong communication, understanding of Data Processing (DP) fundamentals, and ability to derive effective solutions.

PROGRAMMERS

  • Role: Modify or develop programs based on system analyst plans.

  • Types:

    • Application Programmers: Develop based on design.

    • System Programmers: Maintain systems software.

  • Qualities Needed: Understanding of programming languages, attention to detail, logical thinking.

STEERING COMMITTEE

  • Purpose: Oversight for mission-critical projects.

  • Responsibilities: Approve budget, define outcomes, monitor risks, and make policy decisions.

DATABASE ADMINISTRATOR

  • Role: Ensure integrity and security of databases.

  • Skills Required: Knowledge of database theory and design, communication skills, expertise in RDBMS like SQL Server.

SOFTWARE TESTERS

  • Role: Investigate and fix bugs before deployment.

  • Responsibilities:

    • Conduct manual and automated tests

    • Collaborate on project scope and planning

    • Perform various testing types (e.g., performance testing, scalability testing).

QUALITY ASSURANCE SPECIALISTS

  • Function: Set development standards and ensure compliance.

  • Duties: Monitor user access, assess performance, and ensure adherence to data standards.

DOMAIN SPECIALISTS

  • Role: Provide expertise in specific fields to enhance project understanding and efficiency.

  • Impact: Help identify user needs and lend credibility to the project.

INFORMATION SYSTEMS (IS) AUDITOR

  • Role: Ensure that system development adheres to control and compliance standards.

  • Responsibilities:

    • Conduct audits of systems and applications

    • Assess IT controls and identify vulnerabilities.

INITIATING SYSTEM DEVELOPMENT

  • Reasons for Development Initiatives:

    • Solve problems with current systems, pursue new opportunities, respond to competition, and fulfill regulatory requirements.

FACTORS AFFECTING SYSTEM PROJECTS

  • Internal Factors: Strategic plan, management directives, user requests, existing systems.

  • External Factors: Technology evolution, competition, economic conditions, and regulatory impacts.

APPROACHES TO INFORMATION SYSTEMS DEVELOPMENT

  • Increasingly, organizations purchase systems instead of developing in-house.

  • Common models:

    • Software Development Life Cycle (SDLC): Key methodologies like Waterfall, Spiral, Agile, etc.

SDLC PHASES

  • Traditional SDLC Phases Include:

    • Planning & Selection

    • Feasibility Study

    • System Analysis

    • System Design

    • Coding

    • Testing

    • Implementation

    • Maintenance & Evaluation

SDLC PHASE SYNOPSIS

  1. Project Initiation & Planning: Identifies existing system deficiencies.

  2. Feasibility Study: Examines resources, costs, and benefits of the proposed system.

  3. Project Analysis: Detailed study of operations and relationships in the existing system.

  4. System Design: Creative phase that involves blueprinting the system.

  5. Coding: Implementation of design into code.

  6. Testing: Ensures correctness and quality of the system.

  7. Implementation: Deployment and user onboarding.

  8. Maintenance & Evaluation: Continuous improvement and assessment of system performance.

SECURITY IN SDLC

  • SSDLC: Integrates security in all phases of SDLC.

  • Practices: DevSecOps, Zero Trust security, OWASP compliance, and secure coding standards.

  • Goals: Prevent vulnerabilities and ensure data protection throughout the development lifecycle.

Information Systems Development is all about figuring out and fixing problems in how businesses use their processes and methods.

Two Main Parts involved:

  1. Systems Analysis: This means looking at what’s going wrong, understanding the issues, and recommending ways to improve.

  2. Systems Design: This is where you plan out how to create a new system or change an old one, which requires knowing how the current system works.

Participants Involved:

  • Development Team: Composed of different people like team members, managers, and users, all working together.

  • Project Manager: This person is like the captain of the ship, making sure everything stays on track.


    Stakeholders:

  • These are people or groups who benefit from the new system. Think of sponsors, customers, or anyone whose help is important for success.

Project Manager Responsibilities:

  • They create a schedule, train people, manage risks, and keep everyone informed.

Systems Analysts:

  • These folks are detectives for the system; they investigate what users want and help design the right solutions.

Programmers:

  • They take the designs and turn them into actual programs, sort of like building a software-based bridge.

Steering Committee:

  • This is a group overseeing important projects, approving budgets and outcomes.

Database Administrator:

  • This person makes sure all the data is safe and sound, like a librarian for digital information.

Software Testers:

  • They check for bugs before the new system goes live, ensuring it works well.

Quality Assurance Specialists:

  • They set rules and check if the development team is following them to ensure a high-quality product.

Domain Specialists:

  • These are experts providing knowledge in specific areas to improve understanding and efficiency during development.

IS Auditor:

  • They ensure that everything is done according to rules and regulations.

Reasons for Starting Development:

  • Companies usually start new projects when their current systems have issues, they see new chances for growth, they need to keep up with competitors, or they have to meet certain laws.

Factors Impacting Projects:

  • Internal factors like the company’s plans and user requests, and external factors such as technology changes and economic situations.

Common Development Approaches:

  • More often, companies buy ready-made systems instead of creating their own.

  • Software Development Life Cycle (SDLC): This is a process with steps like planning, analyzing, designing, coding, testing, deploying, and improving the system.

Security in Development:

  • With so much technology around, keeping data safe throughout this entire process is crucial.