Exam1
### Notes on Information as a Key Resource and Systems Analysis
---
#### Information as a Key Resource
- Importance: Information fuels business operations and is critical for success.
- Management: Proper handling of computer-generated information is essential.
- Challenges: Security and user satisfaction are key concerns in system development.
---
#### Systems Analysis and Design
- Purpose: Provides structure to the analysis and design of information systems.
- Key Points:
- Security is a critical factor in system development.
- User involvement is essential for successful system implementation.
- Proper planning prevents user dissatisfaction and system disuse.
---
#### Roles of the Systems Analyst
1. Consultant: Advises on system improvements.
2. Supporting Expert: Provides technical expertise.
3. Agent of Change: Facilitates organizational change through system implementation.
- Qualities:
- Problem solver, communicator, ethical, self-disciplined, and self-motivated.
---
#### Systems Development Life Cycle (SDLC)
- Definition: A phased approach to system analysis and design.
- Phases:
1. Identifying Problems, Opportunities, and Objectives:
- Interview users, define problems, and document objectives.
2. Determining Human Information Requirements:
- Use interviews, questionnaires, and observation to understand user needs.
3. Analyzing System Needs:
- Create data flow diagrams and system proposals.
4. Designing the Recommended System:
- Design data entry procedures, interfaces, and databases.
5. Developing and Documenting Software:
- Develop and document software with user input.
6. Testing and Maintaining the System:
- Test the system and perform maintenance.
7. Implementing and Evaluating the System:
- Train users and evaluate system performance.
---
#### Impact of Maintenance
- Purpose:
- Correct errors and enhance system capabilities.
- Challenges:
- Over time, maintenance costs may exceed the cost of developing a new system.
- Solution:
- Conduct a new systems study when maintenance becomes too costly.
---
#### CASE Tools
- Definition: Computer-Aided Software Engineering tools automate system development tasks.
- Benefits:
- Improve analyst-user communication.
- Support modeling of functional requirements.
- Help define project boundaries.
---
#### Agile Approach
- Definition: A flexible, iterative approach to software development.
- Core Values:
- Communication, simplicity, feedback, and courage.
- Phases:
1. Exploration: Assemble the team and explore technologies.
2. Planning: Plan iterations and prioritize features.
3. Iterations to the First Release: Develop, test, and refine the system.
4. Productionizing: Release the product and add features.
5. Maintenance: Continuously improve the system.
---
#### Object-Oriented Systems Analysis and Design
- Definition: An approach that uses objects to represent real-world entities.
- Tools:
- UML (Unified Modeling Language): Used to model object-oriented systems.
- Phases:
1. Problem Identification: Identify actors and use cases.
2. Analysis: Create UML diagrams (e.g., activity, sequence, class diagrams).
3. Design: Modify UML diagrams and write class specifications.
4. Development: Develop and document the system.
---
#### Cloud Computing
- Definition: Delivers computing services over the internet.
- Benefits:
- Scalability, cost-sharing, and improved disaster recovery.
- Types of Cloud Services:
1. SaaS (Software as a Service): Applications delivered over the internet.
2. PaaS (Platform as a Service): Development platforms provided over the internet.
3. IaaS (Infrastructure as a Service): Virtualized computing resources.
- Deployment Models:
- Private, public, community, and hybrid clouds.
- Challenges:
- Privacy, security, and data transfer concerns.
---
#### Cloud Development Life Cycle (CDLC)
- Characteristics:
- On-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service.
- Service Models:
- SaaS, PaaS, and IaaS.
- Deployment Models:
- Private, public, community, and hybrid clouds.
---
#### Open Source Software
- Definition: Software with publicly accessible source code.
- Community Types:
- Ad hoc, standardized, organized, and commercial.
- Dimensions:
- General structure, environment, goals, methods, user community, and licensing.
- Third Design Space:
- A collaborative environment where corporations and open-source communities innovate together.
---
#### Summary
1. Information Management: Critical for business success.
2. Systems Analysis and Design: Ensures structured and secure system development.
3. Roles of the Systems Analyst: Consultant, supporting expert, and agent of change.
4. SDLC: A phased approach to system development.
5. Agile Approach: Iterative and flexible development.
6. Object-Oriented Analysis: Uses UML for modeling systems.
7. Cloud Computing: Scalable and cost-effective computing services.
8. Open Source Software: Collaborative and innovative software development.
#### Organizations as Systems
- Definition: Organizations are systems designed to achieve specific goals and objectives.
- Key Characteristics:
- Composed of smaller, interrelated subsystems (e.g., departments, teams).
- Subsystems work together to form an effective whole.
- Systems process inputs from their environments and produce outputs.
- Feedback loops help in planning and control.
- Systems are bounded and interact with their environments.
---
#### Organizational Environments
- External Factors:
- Community: Physical location, demographics.
- Economic: Market conditions, competition.
- Political: Government regulations.
- Legal: Laws and guidelines.
- Virtual Organizations:
- Teams and departments are geographically dispersed.
- Use technology (e.g., networks, communication tools) to collaborate.
---
#### Benefits of Virtual Organizations
- Cost Reduction: Lower expenses for physical facilities.
- Rapid Response: Quicker adaptation to customer needs.
- Work-Life Balance: Supports employees with familial obligations.
---
#### Enterprise Resource Planning (ERP)
- Definition: Integrated software systems that facilitate information flow across organizational functions.
- Impact:
- Affects work design, employee skills, and strategic positioning.
- Challenges:
- User acceptance, integration with legacy systems, and organizational restructuring.
---
#### Depicting Systems Graphically
1. Context-Level Data Flow Diagrams (DFD):
- Focus on data flow and processing.
- Show system scope and external entities.
2. Entity-Relationship Model (ERD):
- Focus on entities and their relationships.
- Types of relationships: one-to-one, one-to-many, many-to-many.
3. Use Case Modeling:
- Part of UML (Unified Modeling Language).
- Describes system functionality without detailing implementation.
---
#### Entity-Relationship Diagrams (ERD)
- Entities:
- Fundamental: Core entities (e.g., Customer, Product).
- Associative: Represents relationships between entities.
- Attributive: Describes attributes of entities.
- Attributes: Data elements associated with entities (e.g., Customer Name, Product ID).
- Relationships:
- One-to-One: A single entity relates to another single entity.
- One-to-Many: One entity relates to multiple entities.
- Many-to-Many: Multiple entities relate to multiple entities.
---
#### Use Case Modeling
- Actors:
- Primary: Initiate events and interact with the system (e.g., Customer, Employee).
- Supporting: Help maintain the system (e.g., IT Support).
- Use Case:
- Describes a task or action performed by the system.
- Includes actors, events, and actions.
- Relationships:
- Communicates: Links actors to use cases.
- Includes: Common behavior shared across use cases.
- Extends: Handles variations or exceptions.
- Generalizes: Represents typical vs. specialized behavior.
---
#### Developing Use Case Diagrams
1. Identify Actors: Determine who interacts with the system.
2. Define Use Cases: Describe high-level tasks and events.
3. Map Relationships: Show how actors and use cases interact.
4. Create Scenarios: Detail the steps, conditions, and assumptions for each use case.
---
#### Use Case Scenarios
- Header:
- Name, ID, application area, actors, stakeholders, and description.
- Steps:
- Sequence of actions performed in the use case.
- Footer:
- Preconditions, postconditions, assumptions, and guarantees.
---
#### Levels of Management
1. Operational Control:
- Focuses on day-to-day operations.
- Decisions are routine and rule-based.
2. Managerial Planning and Control:
- Short-term planning and resource allocation.
- Decisions are partly operational and partly strategic.
3. Strategic Management:
- Long-term planning and organizational direction.
- Decisions are uncertain and semistructured.
---
#### Organizational Culture
- Definition: Shared values, beliefs, and norms within an organization.
- Symbolism:
- Verbal: Stories, slogans, and language.
- Nonverbal: Logos, office layout, and dress code.
- Impact of Technology:
- Tools like Slack enhance communication and collaboration.
- Changes how teams interact and share information.
---
#### Summary
1. Organizations as Systems: Composed of interrelated subsystems with feedback mechanisms.
2. Graphical Representations:
- DFD: Focus on data flow and system scope.
- ERD: Focus on entities and relationships.
- Use Case Diagrams: Describe system functionality.
3. Levels of Management:
- Operational: Day-to-day decisions.
- Managerial: Short-term planning.
- Strategic: Long-term direction.
4. Organizational Culture: Influenced by shared values and technology.
- Purpose: Identify problems or opportunities that can be addressed through system solutions.
- Key Steps:
- Problem Definition:
- Problem Statement: A brief description of the issue or opportunity.
- Issues: Specific points related to the problem.
- Objectives: Goals aligned with the issues.
- Requirements: Necessary features and constraints for the solution.
- Selection of Projects:
- Projects should align with organizational goals, have management backing, and be feasible in terms of resources and timing.
---
#### Determining Feasibility
- Three Key Elements:
1. Technical Feasibility:
- Can the current or new technology meet the system requirements?
2. Economic Feasibility:
- Does the value of the investment outweigh the costs (e.g., hardware, software, analyst time)?
3. Operational Feasibility:
- Will the system be used effectively by the organization?
- Workload Estimation:
- Compare current and projected workloads to ensure the system can handle future demands.
---
#### Acquiring Hardware and Software
- Steps:
1. Inventory Existing Hardware: Assess current equipment and its capabilities.
2. Estimate Workloads: Determine current and future system demands.
3. Evaluate Options: Compare available hardware and software solutions.
4. Choose a Vendor: Consider support, maintenance, and cost.
5. Acquire Equipment: Purchase or use cloud services.
- Cloud Computing:
- Categories: SaaS (Software as a Service), IaaS (Infrastructure as a Service), PaaS (Platform as a Service).
- Benefits: Scalability, cost savings, and reduced maintenance.
- Drawbacks: Security risks, loss of control, and reliance on internet reliability.
---
#### Software Alternatives
- Options:
1. Custom Software: Tailored to specific business needs but costly and time-consuming.
2. COTS (Commercial Off-the-Shelf) Software: Pre-built solutions with lower initial costs but limited customization.
3. SaaS (Software as a Service): Cloud-based solutions with automatic updates but less control over data.
- Evaluation Criteria:
- Performance effectiveness, ease of use, flexibility, documentation quality, and vendor support.
---
#### Cost and Benefit Analysis
- Types of Costs and Benefits:
- Tangible Benefits: Measurable in dollars (e.g., increased processing speed).
- Intangible Benefits: Difficult to measure (e.g., improved decision-making).
- Tangible Costs: Direct costs (e.g., hardware, software, salaries).
- Intangible Costs: Indirect costs (e.g., loss of competitive edge).
- Analysis Methods:
- Break-Even Analysis: Determines when benefits will cover costs.
- Payback Period: Calculates how long it will take to recover the investment.
---
#### Work Breakdown Structure (WBS)
- Purpose: Break down a project into smaller, manageable tasks.
- Properties:
- Each task has a deliverable.
- Tasks are assigned to individuals or teams.
- Each task has a responsible person for monitoring.
- Development:
- Decomposition: Break down large tasks into smaller activities.
- Product-Oriented: Focus on deliverables (e.g., building a website).
- Process-Oriented: Emphasize phases (e.g., analysis, design, implementation).
---
#### Project Scheduling
- Tools:
1. Gantt Charts:
- Visual representation of tasks and timelines.
- Easy to understand and communicate.
2. PERT Diagrams:
- Network diagrams showing task dependencies and critical paths.
- Useful for identifying the order of tasks and slack time.
- Time Estimation Techniques:
- Experience, analogies, three-point estimation, function point analysis, and time estimation software.
---
#### Project Risk Management
- Purpose: Identify and mitigate risks that could derail the project.
- Tools:
- Fishbone Diagram (Ishikawa Diagram): Identifies root causes of potential problems.
- Expediting: Speeding up critical tasks to reduce project duration.
- Earned Value Management (EVM):
- Tracks project progress using:
- Budget at Completion (BAC): Total project budget.
- Planned Value (PV): Value of work planned.
- Actual Cost (AC): Cost incurred.
- Earned Value (EV): Value of work completed.
---
#### Managing the Project Team
- Team Assembly:
- Look for shared values, honesty, competency, and motivation.
- Communication Strategies:
- Task Leader: Focuses on completing tasks.
- Socioemotional Leader: Focuses on team relationships.
- Productivity Goals:
- Set clear, achievable goals to motivate team members.
- Ecommerce Projects:
- Require diverse skills, external partnerships, and a strong focus on security.
---
#### Project Charter
- Purpose: A written document outlining project expectations, scope, and deliverables.
- Key Questions Addressed:
- What are the user expectations?
- What is the project scope?
- Who are the key participants?
- What are the deliverables and timelines?
- Who will evaluate, train, and maintain the system?
---
#### Systems Proposal
- Components:
- Cover letter, title page, table of contents, executive summary.
- Detailed results of the systems study, alternatives, and recommendations.
- Appendices with additional data.
- Effective Communication:
- Use tables and graphs to present data clearly.
- Tables: Label rows and columns, use footnotes for details.
- Graphs: Label axes, use titles, and include keys for clarity.
---
#### Summary
1. Project Initiation: Identify problems and opportunities, define objectives, and select feasible projects.
2. Feasibility Analysis: Assess technical, economic, and operational feasibility.
3. Hardware and Software Acquisition: Evaluate options, choose vendors, and consider cloud services.
4. Cost and Benefit Analysis: Compare tangible and intangible costs and benefits.
5. Work Breakdown Structure (WBS): Break down projects into manageable tasks.
6. Project Scheduling: Use Gantt charts and PERT diagrams to plan and track progress.
7. Risk Management: Identify risks using tools like fishbone diagrams and expedite critical tasks.
8. Team Management: Assemble a skilled team, set clear goals, and ensure effective communication.
9. Project Charter and Systems Proposal: Document project scope, deliverables, and recommendations.
---
### Notes on Interactive Methods to Elicit Human Information Requirements
---
#### Overview of Interactive Methods
- Purpose: Gather human and system information requirements through direct interaction.
- Key Methods:
- Interviewing: One-on-one or group discussions.
- Joint Application Design (JAD): Collaborative workshops.
- Questionnaires: Structured surveys.
- Requirements Prioritization: Ranking and prioritizing system requirements.
---
#### Interviewing
- Purpose: Collect detailed information about opinions, feelings, goals, and HCI (Human-Computer Interaction) concerns.
- Steps in Interview Preparation:
1. Read Background Material: Understand the context.
2. Set Objectives: Define what you want to achieve.
3. Choose Interviewees: Select knowledgeable individuals.
4. Prepare the Interviewee: Inform them about the purpose and topics.
5. Decide on Question Types and Structure: Plan open-ended, closed, or probing questions.
---
#### Question Types
1. Open-Ended Questions:
- Allow free-form responses.
- Example: "What are the biggest challenges you face in your role?"
- Advantages:
- Encourages detailed responses.
- Builds rapport.
- Disadvantages:
- May lead to irrelevant information.
- Time-consuming.
2. Closed Questions:
- Limit responses to specific options.
- Example: "How many hours per week do you spend on reporting?"
- Advantages:
- Easy to analyze.
- Saves time.
- Disadvantages:
- Limits depth of response.
- May miss important insights.
3. Probing Questions:
- Follow-up questions to clarify or expand on responses.
- Example: "Can you elaborate on that point?"
---
#### Structuring Interviews
1. Pyramid Structure:
- Starts with closed questions and moves to open-ended ones.
- Useful for warming up interviewees.
2. Funnel Structure:
- Begins with open-ended questions and narrows to closed ones.
- Effective for emotionally charged topics.
3. Diamond Structure:
- Starts with closed questions, expands to open-ended, and ends with closed questions.
- Combines the strengths of pyramid and funnel structures.
---
#### Closing the Interview
- Final Question: "Is there anything else you think is important for me to know?"
- Summarize: Recap key points.
- Next Steps: Identify follow-up interviews or actions.
- Thank the Interviewee: Show appreciation for their time.
---
#### Interview Report
- Write Immediately: Capture details while fresh.
- Include Summary and Details: Start with a summary, then provide specifics.
- Review with Interviewee: Ensure accuracy and clarity.
---
#### Stories in Organizations
- Purpose: Stories provide rich, contextual information about organizational culture and processes.
- Types of Stories:
1. Experiential: Describe what the business is like.
2. Explanatory: Explain why certain actions were taken.
3. Validating: Justify decisions.
4. Prescriptive: Guide how to act.
- Elements of Stories:
- Call to adventure, quest, struggle, transformation, resolution, moral, and epilogue.
---
#### Joint Application Design (JAD)
- Definition: A collaborative workshop involving users, analysts, and stakeholders to define system requirements.
- Participants:
- Executive Sponsor: Provides authority and resources.
- IS Analyst: Facilitates the process.
- Users: Provide input on requirements.
- Session Leader: Manages the workshop.
- Scribe: Records discussions.
- Location: Often held offsite to minimize distractions.
- Benefits:
- Saves time compared to individual interviews.
- Encourages user ownership of the system.
- Enhances creativity and collaboration.
- Drawbacks:
- Requires significant time commitment.
- May not work in all organizational cultures.
---
#### Questionnaires
- Purpose: Gather information from a large group efficiently.
- Types of Questions:
- Open-Ended: Allow free-form responses.
- Closed: Provide specific options (e.g., multiple-choice).
- Design Tips:
- Use simple, clear language.
- Avoid bias and technical jargon.
- Ensure questions are specific and relevant.
- Measurement Scales:
- Nominal: Classifies data (e.g., yes/no).
- Interval: Measures equal intervals (e.g., Likert scale).
- Common Problems:
- Leniency: Respondents rate everything positively.
- Central Tendency: Respondents rate everything as average.
- Halo Effect: One response influences others.
---
#### Administering Questionnaires
- Distribution:
- Decide who should receive the questionnaire.
- Use email, web surveys, or paper forms.
- Web Survey Tools:
- One-line text boxes, checkboxes, radio buttons, drop-down menus, and push buttons.
- Advantages of Electronic Submission:
- Reduces costs.
- Simplifies data collection and storage.
---
#### Requirements Prioritization
- Purpose: Rank system requirements based on importance and urgency.
- Methods:
1. Simple Ranking: Rank requirements in order of importance.
2. 100-Token Method: Distribute 100 tokens across requirements to indicate priority.
3. MoSCoW Method: Categorize requirements as Must, Should, Could, or Won’t.
4. Urgent/Important Matrix: Plot requirements on a matrix based on urgency and importance.
5. Analytic Hierarchy Processing (AHP): Compare pairs of requirements to determine priority.
6. Q-Sorts: Sort requirements into a predefined distribution (e.g., normal distribution).
---
#### Summary
1. Interviewing: A key method for gathering detailed information through structured conversations.
2. Joint Application Design (JAD): A collaborative workshop approach to define system requirements.
3. Questionnaires: Efficient tools for collecting data from large groups using structured questions.
4. Stories: Provide rich, contextual insights into organizational culture and processes.
5. Requirements Prioritization: Methods like MoSCoW and AHP help prioritize system requirements.
---
### Notes on Unobtrusive Methods for Data Collection and Analysis
---
#### Overview of Unobtrusive Methods
- Definition: Less disruptive methods for gathering and analyzing data without direct interaction.
- Key Features:
- Text Analytics: Analyzes qualitative data from various sources (e.g., emails, social media).
- Process Mining: Automates the analysis of business processes.
- Workforce Analytics: Tracks employee performance and workflow.
- Observation: Observes behavior and physical environments.
- Usage: Often used alongside interactive methods for a comprehensive approach.
---
#### Sampling
- Definition: Selecting representative elements from a population for analysis.
- Purpose:
- Cost Containment: Reduces the cost of data collection.
- Speed: Accelerates data gathering.
- Effectiveness: Improves accuracy by focusing on detailed data from fewer sources.
- Bias Reduction: Minimizes data gathering bias.
- Steps in Sampling Design:
1. Determine Data to Collect: Identify what information is needed.
2. Define Population: Decide which group to sample.
3. Choose Sample Type: Select from convenience, purposive, simple random, or complex random samples.
4. Decide Sample Size: Calculate the appropriate number of samples.
---
#### Types of Samples
1. Convenience Sample:
- Easiest to arrange but least reliable.
- Example: Surveying employees available in the office.
2. Purposive Sample:
- Based on judgment; targets knowledgeable individuals.
- Example: Interviewing key stakeholders.
3. Simple Random Sample:
- Every element has an equal chance of being selected.
- Example: Randomly selecting customer orders for review.
4. Complex Random Sample:
- Includes systematic, stratified, and cluster sampling.
- Example: Stratifying customers by region and sampling from each stratum.
---
#### Analyzing Quantitative Documents
- Types of Documents:
- Reports: Sales, production, and summary reports.
- Performance Reports: Track improvements and metrics.
- Records: Periodic updates of business activities.
- Data Capture Forms: Collect and distribute data.
- Questions to Ask:
- Are forms filled out completely?
- Are all copies distributed correctly?
- Are unofficial forms being used?
---
#### Analyzing Qualitative Documents
- Key Elements:
- Metaphors: Guiding themes in organizational culture.
- Insiders vs. Outsiders: How the organization views itself and others.
- Good vs. Evil: Organizational values and ethics.
- Graphics and Logos: Visual representations of culture.
- Examples:
- Emails, memos, signs, corporate websites, manuals, and policy handbooks.
---
#### Text Analytics
- Definition: Software that analyzes unstructured qualitative data.
- Sources:
- Transcripts, reports, emails, blogs, chat rooms, and social media.
- Applications:
- Understand customer opinions and motivations.
- Identify trends and relationships in text data.
- Outputs:
- Concept Maps: Visualize relationships between concepts.
- Ranked Concepts: Highlight prominent themes.
---
#### Process Mining
- Definition: Automated analysis of business processes using transaction data.
- Steps:
1. Discover: Identify processes and bottlenecks.
2. Optimize/Automate: Improve and automate processes.
3. Monitor: Track process performance.
4. Act: Implement changes based on insights.
- Tools:
- Celonis: Identifies inefficiencies and simulates improvements.
---
#### Task Mining
- Definition: Uses desktop capture to analyze individual tasks and improve processes.
- Purpose: Identify inefficiencies in workflows and optimize task performance.
---
#### Workforce Analytics
- Purpose: Ensure the right workers are in the right place with the right tools.
- Applications:
- Balance workloads.
- Compare team performance.
- Identify workflow bottlenecks.
- Determine app usage and productivity.
- Ethical Considerations: Should focus on improving work, not surveillance.
---
#### Observation
- Purpose: Gain insights into actual behavior and decision-making processes.
- Techniques:
- Analyst’s Playscript: Records actions using verbs (e.g., talking, deciding).
- STROBE: Observes physical environments to confirm or negate organizational narratives.
- STROBE Elements:
- Office location, desk placement, stationary equipment, props, external information sources, lighting, and clothing.
---
#### STROBE (STRuctured OBservation of the Environment)
- Purpose: Observe the physical environment to understand decision-making behavior.
- Elements:
1. Office Location: Who has the corner office?
2. Desk Placement: Does it encourage communication or demonstrate power?
3. Stationary Equipment: What tools are used for information storage?
4. Props: Are there PCs, smartphones, or tablets?
5. External Information Sources: Are trade journals or websites used?
6. Lighting and Color: Is the environment warm and inviting?
7. Clothing: Does it reflect authority or informality?
- Symbols for Evaluation:
- Checkmark: Confirms the narrative.
- X: Reverses the narrative.
- Oval: Indicates further investigation is needed.
- Square: Modifies the narrative.
- Circle: Supplements the narrative.
---
#### Summary
1. Sampling: A systematic approach to selecting representative data.
2. Quantitative Document Analysis: Focuses on reports, records, and forms.
3. Qualitative Document Analysis: Examines emails, memos, and organizational culture.
4. Text Analytics: Analyzes unstructured data to uncover insights.
5. Process Mining: Automates the analysis of business processes.
6. Task Mining: Optimizes individual tasks through desktop capture.
7. Workforce Analytics: Tracks employee performance and workflow efficiency.
8. Observation: Provides insights into behavior and decision-making.
9. STROBE: Observes physical environments to validate organizational narratives.
---
### Notes on Agile Modeling and Prototyping
---
#### Prototyping
- Definition: A technique to gather user feedback, reactions, and suggestions for system development.
- Types of Prototypes:
1. Patched-Up Prototype:
- A working but inefficient system with all features.
- Users can interact, but retrieval and storage may be inefficient.
2. Nonoperational Scale Models:
- Nonworking models to test specific design aspects.
- Focuses on input and output without full functionality.
3. First-of-a-Series Prototype:
- A fully operational pilot system.
- Used for multiple installations (e.g., testing in one location before scaling).
4. Selected Features Prototype:
- Includes some, but not all, features of the final system.
- Built in modules, part of the actual system.
---
#### Users’ Role in Prototyping
- Honest Involvement: Users must provide genuine feedback.
- Clear Communication: Purpose of the prototype should be well-explained.
- Suggestions for Improvement: Users should suggest changes, expansions, and innovations.
---
#### Agile Modeling
- Definition: A collection of innovative, user-centered approaches to system development.
- Core Values:
1. Communication: Emphasizes collaboration between developers and users.
2. Simplicity: Focus on the simplest solution that works.
3. Feedback: Continuous feedback from users and stakeholders.
4. Courage: Willingness to embrace change and take risks.
---
#### Principles of Agile Modeling
1. Customer Satisfaction: Deliver working software frequently.
2. Embrace Change: Welcome changing requirements, even late in development.
3. Incremental Delivery: Deliver functional software in small, frequent increments.
4. Collaboration: Developers and customers work together daily.
5. Motivated Individuals: Trust and empower team members to get the job done.
6. Face-to-Face Communication: Prefer direct communication over documentation.
7. Sustainable Development: Maintain a constant pace of work.
8. Continuous Improvement: Regularly reflect on and improve processes.
---
#### Four Basic Activities of Agile Modeling
1. Coding:
- The primary activity in Agile.
- Code is used to communicate ideas and learn.
2. Testing:
- Automated testing ensures functionality, performance, and conformance.
- Tests are updated as the project evolves.
3. Listening:
- Developers actively listen to users and teammates.
- Ensures alignment with user needs.
4. Designing:
- Evolutionary design that adapts to changes.
- Focus on simplicity and flexibility.
---
#### Core Agile Practices
1. Short Releases: Deliver working software in small, frequent increments.
2. 40-Hour Work Week: Avoid burnout and maintain productivity.
3. Onsite Customer: Involve customers directly in the development process.
4. Pair Programming: Two developers work together on the same code for quality and knowledge sharing.
---
#### Scrum Methodology
- Definition: An Agile framework for managing complex projects.
- Roles:
1. Product Owner: Represents the customer and prioritizes the product backlog.
2. Scrum Master: Facilitates the Scrum process and removes obstacles.
3. Team Members: Self-organize to complete tasks and deliver increments.
- Key Components:
1. Product Backlog: A prioritized list of features and deliverables.
2. Sprint Backlog: Tasks to be completed in the current sprint.
3. Sprint: A time-boxed development cycle (usually 2-4 weeks).
4. Daily Scrum: A short daily meeting to track progress and identify obstacles.
5. Sprint Review: A meeting to demonstrate completed work and gather feedback.
---
#### Planning Poker
- Purpose: A technique for estimating the effort required for user stories.
- Rules:
1. Team members assign estimates using numbered cards.
2. Discuss discrepancies between high and low estimates.
3. Repeat until consensus is reached.
---
#### Kanban
- Key Elements:
1. Visualize Workflow: Use a Kanban board to track tasks.
2. Limit Work-in-Progress (WIP): Focus on completing tasks before starting new ones.
3. Continuous Improvement: Regularly reassess and improve the workflow.
---
#### DevOps
- Definition: A culture and practice that combines development (Dev) and operations (Ops) to shorten the development lifecycle and deliver high-quality software.
- Goal: Rapid deployment of applications and quick response to market opportunities.
- Key Features:
- Continuous Integration (CI)
- Continuous Delivery (CD)
- Automation of testing and deployment.
---
#### No-Code Software Development
- Definition: Development of applications using graphical interfaces without writing code.
- Examples: Wix, Bubble, WordPress.
- Advantages:
- Cost-effective and quicker development.
- Accessible to non-programmers.
- Disadvantages:
- Limited strategic development.
- Lack of documentation.
---
#### Work Management Systems
- Example: Jira Software.
- Features:
- Templates for Scrum, Kanban, and bug tracking.
- Automation of workflows and reporting.
- Epic Documentation:
- Tracks large user stories and their progress.
- Helps in sizing and time estimation.
---
#### Lessons Learned from Agile Modeling
1. Short Releases: Allow the system to evolve incrementally.
2. Pair Programming: Enhances code quality and team collaboration.
3. Onsite Customers: Ensure alignment with user needs.
4. 40-Hour Work Week: Maintains productivity and prevents burnout.
5. Balanced Resources: Ensures efficient use of time, cost, quality, and scope.
6. Agile Values: Communication, simplicity, feedback, and courage are crucial.
---
#### Comparing Agile and Structured Methods
- Agile:
- Flexible and user-centered.
- Emphasizes collaboration and iterative development.
- Structured Methods:
- Rigid and process-oriented.
- Focuses on detailed planning and documentation.
---
#### Risks in Adopting New Information Systems
1. Cultural Fit: Ensuring the development team aligns with Agile values.
2. Training Costs: Investing in training for analysts and programmers.
3. Client Reaction: Managing client expectations and acceptance of new methodologies.
4. Impact of Agile: Balancing flexibility with project goals.
5. Individual Rights: Addressing concerns of programmers and analysts.
---
#### Summary
1. Prototyping: A tool for gathering user feedback and refining system design.
2. Agile Modeling: A user-centered approach emphasizing flexibility, collaboration, and continuous improvement.
3. Scrum: An Agile framework with roles like Product Owner, Scrum Master, and Team Members.
4. DevOps: Combines development and operations for rapid deployment.
5. No-Code Development: Enables non-programmers to create applications using graphical interfaces.
6. Lessons Learned: Short releases, pair programming, and onsite customers are key to Agile success.
---
### Notes on Data Flow Diagrams (DFDs)
#### Overview of Data Flow Diagrams
- Purpose: Graphically represent data processes and flows in a business system.
- Key Components:
- System Inputs: Data entering the system.
- Processes: Transformations or changes to data.
- Outputs: Data leaving the system.
---
#### Advantages of the Data Flow Approach
1. Flexibility: Avoids early commitment to technical implementation.
2. Interrelatedness: Helps understand how systems and subsystems connect.
3. Communication: Facilitates sharing system knowledge with users.
4. Analysis: Supports analysis of proposed systems.
---
#### Basic Symbols in DFDs
1. External Entity (Double Square):
- Represents sources or destinations of data outside the system.
- Example: Customer, Supplier.
2. Data Flow (Arrow):
- Shows movement of data between entities, processes, or data stores.
- Example: Customer Order, Payment.
3. Process (Rounded Rectangle):
- Represents transformations or work performed on data.
- Example: Process Order, Validate Payment.
4. Data Store (Open-Ended Rectangle):
- Repositories for data (e.g., databases, files).
- Example: Customer Database, Inventory File.
---
#### Steps in Developing DFDs
1. Context Diagram:
- Highest-level DFD with one process (the entire system).
- Shows external entities and major data flows.
- Process is labeled "0".
2. Diagram 0:
- Explodes the context diagram into up to 9 processes.
- Includes data stores and external entities.
3. Child Diagrams:
- Further decompose processes from Diagram 0.
- Each child diagram corresponds to a process in Diagram 0.
4. Primitive Processes:
- Processes that are not further decomposed.
---
#### Rules for DFDs
- One Process: Must have at least one process.
- No Freestanding Objects: All elements must be connected.
- Input and Output: Every process must have both input and output data flows.
- Data Store Connection: Data stores must connect to at least one process.
- No Direct Entity Connections: External entities cannot connect directly to each other.
---
#### Logical vs. Physical DFDs
1. Logical DFDs:
- Focus on business operations, not implementation.
- Describe business events and data requirements.
- Example: "Process Order" without specifying how.
2. Physical DFDs:
- Show how the system will be implemented.
- Include manual/automated processes, file names, and controls.
- Example: "Validate Credit Card using API X".
---
#### Partitioning DFDs
- Purpose: Divide DFDs into manual procedures and computer programs.
- Reasons for Partitioning:
- Different user groups.
- Timing of processes.
- Similar tasks or efficiency.
- Data consistency and security.
---
#### Common Errors in DFDs
1. Missing data flows or incorrect arrow directions.
2. Connecting data stores directly to external entities.
3. Incorrect labeling of processes or data flows.
4. Including more than 9 processes in a single DFD.
5. Unbalanced decomposition in child diagrams.
---
#### CRUD Matrix
- Purpose: Represents Create, Read, Update, and Delete activities for master files.
- Use: Ensures all necessary processes are present for each file.
---
#### Event Modeling and DFDs
- Trigger: Input flow that starts a process.
- Event Table: Lists events, triggers, activities, and responses.
- Use Cases: Define activities, triggers, inputs, and outputs for creating DFD fragments.
---
#### Communicating with DFDs
- Use unexploded DFDs early in requirements gathering.
- Ensure all data components have meaningful labels.
---
#### Summary
1. DFDs are visual tools for understanding systems and subsystems.
2. Symbols include processes, data flows, data stores, and external entities.
3. Logical DFDs focus on business operations; Physical DFDs focus on implementation.
4. Partitioning helps organize processes for efficiency and security.
5. CRUD Matrix ensures all necessary file operations are included.
6. Event Modeling and Use Cases help create detailed DFDs.