dekydeky

Cards (54)

  • Abstraction
    The concept of simplifying complex systems by hiding unnecessary details while highlighting essential features
  • Importance of using abstraction in the design phase
    • Simplification: Focusing on essential aspects and hiding unnecessary details, leading to a clearer and more understandable design
    • Modularity: Breaking down the system into smaller, more manageable parts, making the system easier to maintain, modify, and test
  • Structured Design
    A design approach that uses a systematic and hierarchical structure to decompose a system into smaller components
  • Structured Design
    • Focuses on procedural decomposition, emphasizing functions and logic
    • Often uses techniques like top-down design and structured programming
  • Structured Design
    • Breaking down a software system into modules based on their functionality, such as input processing, data manipulation, and output generation
  • Object-Oriented Design (OOD)
    A design approach that models a system as a group of interacting objects, each with its data and behavior
  • Object-Oriented Design (OOD)
    • Focuses on modeling real-world entities as objects and their interactions
    • Often uses techniques like encapsulation, inheritance, and polymorphism
  • Object-Oriented Design (OOD)
    • Representing a software system as a collection of classes, each representing a different entity or concept, such as a customer, product, or order
  • Ensuring the usability of interfaces
    • User-Centered Design: Considering the needs, preferences, and capabilities of end-users
    • Consistency: Maintaining consistent layout, navigation, and terminology
  • Phased Deployment
    Rolling out the software in phases or stages, gradually increasing the number of users or features over time
  • Phased Deployment
    • Allows for a gradual transition, reduces the risk of large-scale failures, and allows for feedback and adjustments before full deployment
    • Can be time-consuming, may require maintaining multiple versions of the software, and can lead to inconsistencies between different phases
  • Parallel Deployment
    Running the old and new versions of the software simultaneously, gradually transitioning all users to the new version
  • Parallel Deployment
    • Allows for a quick switch to the new version once it is fully tested and ready, minimizes disruption to users, and provides a fallback option in case of issues
    • Can be complex to manage parallel systems, requires additional resources to maintain both versions, and can lead to confusion among users and data synchronization issues
  • Financial Analysis
    Assessing the costs associated with developing and implementing the new system, as well as the potential benefits and returns on investment
  • Market Analysis
    Evaluating the market need for the new system, potential competitors, and how the new system will fit into the market
  • Importance of JAD (Joint Application Development)
    • Facilitates Communication: Bringing together key stakeholders to discuss and define system requirements
    • Accelerates Development: Involving all stakeholders early to identify requirements and issues quickly
    • Improves Quality: Encouraging collaboration and thorough exploration of requirements
    • Increases Stakeholder Buy-In: Involving stakeholders in the development process
  • Importance of Determining User Requirements Early
    • Avoids Costly Changes: Preventing the need for major changes later in the development process
    • Improves System Design: Allowing for a more accurate and effective system design
    • Enhances User Satisfaction: Meeting user needs and expectations
  • Prototyping
    An iterative approach to software development in which a simplified version of the system is created to gather feedback and refine requirements
  • Advantages of Prototyping
    • Improved User Involvement: Users can interact with the prototype early in the development process
    • Early Detection of Issues: Identifying design flaws and requirements issues early
    • Faster Development: Changes can be made incrementally
    • Improved Communication: Providing a tangible representation of the system
  • Disadvantages of Prototyping
    • Increased Cost: Time-consuming and costly, especially with multiple iterations
    • Scope Creep: Potential for the project's scope to expand beyond its original boundaries
    • Unrealistic User Expectations: Users may focus on the prototype's features and functionality
    • Incomplete Requirements: Some requirements may be overlooked or not fully addressed
  • Structured Paradigm
    Focuses on dividing the system into smaller, more manageable modules or components using a top-down approach
  • Object-Oriented Paradigm
    Focuses on modeling the system as a collection of interacting objects, each with its data and behaviors
  • System Structuring
    Organizing the system components into a hierarchical structure to define the relationships between different components and their interactions
  • Modular Decomposition
    Breaking down the system into smaller, manageable modules or units, each responsible for a specific function or task
  • Ensuring the usability of interfaces
    • Consistency: Maintaining consistent use of colors, fonts, layout, and terminology
    • User Feedback: Gathering feedback from users throughout the design process
  • Phases of Business Process Management (BPM)
    1. Design: Analyzing and designing new business processes or improving existing ones
    2. Modeling: Creating graphical representations (models) of the processes
    3. Execution: Implementing the designed processes using BPM software or workflow automation tools
    4. Monitoring: Tracking the performance of the processes in real-time
    5. Optimization: Improving process performance based on monitoring data
    6. Automation: Using technology to automate repetitive tasks and streamline the flow of work
    7. Control: Establishing mechanisms to ensure processes are executed as designed
  • Importance of Economic Analysis in Feasibility Study

    • Cost-Benefit Analysis: Determining if the benefits outweigh the costs
    • Resource Allocation: Effectively allocating resources such as budget, manpower, and time
    • Risk Assessment: Identifying and assessing financial risks
    • Decision Making: Providing information for informed decisions
    • Project Viability: Assessing the overall financial feasibility of the project
  • Advantages of Reviewing Business Needs for SHORS

    • Improved Efficiency: Identifying and addressing inefficiencies
    • Cost Reduction: Finding areas to reduce unnecessary expenses
    • Enhanced Customer Experience: Meeting changing customer needs and expectations
  • Relationship between BPM and System Analysis & Design
    BPM provides a structured approach to analyzing and designing systems by focusing on business processes and their optimization
  • Functional Requirements for SHORS
    • Allow users to search for available rooms based on specified criteria
    • Allow users to book rooms online or through a mobile app
    • Generate booking confirmations and invoices for customers
  • Technical analysis is a crucial component of the feasibility study conducted by a system analyst before starting a project
  • Monitoring
    Monitoring the performance of the processes in real-time to identify bottlenecks and areas for improvement
  • BPM
    A methodology used in system analysis and design to understand, model, and improve business processes
  • BPM and System Analysis & Design
    BPM provides a structured approach to analyzing and designing systems by focusing on business processes and their optimization
  • Technical Analysis

    Assesses whether the proposed system can be implemented using existing or new technology
  • Economic Analysis

    Assesses the financial feasibility of the project, including costs, benefits, and return on investment (ROI)
  • Assessment
    Technical analysis ensures that the proposed system is technically feasible, while economic analysis ensures that it is financially feasible
  • Problems with Natural Language in Requirement Gathering
    • Ambiguity: Natural language can be ambiguous, leading to misunderstandings or misinterpretations of requirements
    • Lack of Precision: Natural language may lack the precision required for specifying complex requirements accurately
  • Justification for Agile
    Agile allows for iterative development, which is beneficial for a project that is reviewing its business needs and may require frequent changes. Agile also promotes collaboration between stakeholders, which is important for understanding and adapting to changing requirements in the hotel industry.
  • Milestones
    Significant points or events in a project that represent a key achievement or completion of a major phase