SAD 8

Cards (21)

  • Systems Analysis and Design
    Process of creating or modifying information systems to meet the needs of businesses and users
  • Phases of system development
    • System Analysis
    • System Design
    • Implementation
    • Maintenance
  • System Analysis Phase
    1. Understand user needs and define system requirements
    2. Conduct thorough interviews, surveys, and workshops to gather requirements
    3. Analyze existing systems and workflows
    4. Define functional and non-functional requirements
  • System Design Phase
    1. Create a blueprint for system architecture and functionalities
    2. Develop system architecture based on gathered requirements
    3. Design user interfaces, database structures, and system workflows
    4. Create detailed technical specifications
  • System Design Phase Deliverables

    • System design documents
    • User interface prototypes
    • Database schema designs
  • Implementation Phase
    1. Develop, test, and deploy the system
    2. Write code based on design specifications
    3. Conduct unit testing to ensure individual components work as intended
    4. Integrate components to build the complete system
    5. Perform system testing and user acceptance testing (UAT)
    6. Deploy the system to the production environment
  • Maintenance Phase
    1. Regular updates, bug fixes, and system enhancements
    2. Address user feedback and reported issues
    3. Implement software patches and bug fixes
    4. Enhance system functionalities based on changing requirements
    5. Perform performance tuning and optimization
  • Translating Design into a Functional System
    Convert design specifications into a working software application
  • Programming Languages, Development Environments, and Clean Code
    • Selection of appropriate programming languages and development tools based on project requirements and technical considerations
    • Writing clean, maintainable, and efficient code to enhance readability, scalability, and ease of future modifications
    • Adherence to coding standards, best practices, and design patterns to promote consistency
  • Testing Methodologies
    • Unit Testing
    • Integration Testing
    • Acceptance Testing
  • Continuous testing throughout the implementation phase to detect and address defects early, improving the overall quality and reliability of the system
  • Deployment Strategies
    • Phased Rollout
    • Blue-Green Deployment
    • Canary Release
  • Phased Rollout
    1. Gradual deployment of the system in phases, typically starting with a small subset of users or functionalities and gradually expanding to larger audiences
    2. Allows for incremental testing and validation of the system's performance and stability before full-scale deployment
    3. Helps mitigate risks by identifying and addressing issues early in the deployment process
  • Blue-Green Deployment
    1. Involves maintaining two identical production environments: one active (blue) and one inactive (green)
    2. New versions of the system are deployed to the inactive environment and thoroughly tested before switching the traffic from the active to the inactive environment
    3. Enables seamless rollback to the previous version in case of issues, minimizing downtime and user impact
  • Canary Release
    1. Involves deploying a new version of the system to a small subset of users or servers, known as the "canary group," while the majority of users remain on the stable version
    2. Allows for real-world testing of the new version in a controlled environment, monitoring its performance and gathering feedback before full deployment
    3. Enables early detection of issues and ensures a smooth transition to the new version for all users
  • Release Management
    Planning, scheduling, coordination, and monitoring of activities related to system releases
  • Release Management Activities
    1. Develop a comprehensive release plan outlining the timeline, milestones, and activities associated with the release of system updates or new versions
    2. Schedule release activities in alignment with business objectives, stakeholder requirements, and operational considerations
    3. Coordinate efforts among cross-functional teams, including developers, testers, system administrators, and stakeholders, to ensure smooth execution of release tasks
    4. Utilize monitoring tools and metrics to track key performance indicators, such as response times, error rates, and resource utilization
    5. Proactively identify and address any performance issues or anomalies to maintain optimal system functionality and user experience
  • System development is a systematic process to meet user needs and business objectives
  • Implementation involves programming, testing, deployment, and release management
  • Emphasize clean, maintainable code and effective testing methodologies
  • Choose deployment strategies wisely for seamless system rollout