Inventory System for Cocacola Company

Type System

    • Type safety


    • Dynamic type-checking


    • Static type-checking


    • Inferred vs. Manifest


    • Nominal vs. Structural


    • Dependent typing


    • Duck typing


    • Latent typing


    • Substructural typing


    • Uniqueness typing


    • Strong and weak typing


Rules of System Analyst

Rule 1: There Always Is a Client

Rule 2: Your Client Does Not Understand His Own Problem

Rule 3: The Original Problem Statement is too Specific: You Must Generalize the Problem to Give it Contextual Integrity

Rule 4: The Client Does Not Understand the Concept of the Index of Performance

Rule 5: You are the Analyst, Not the Decision-Maker

Rule 6: Meet the Time Deadline and the Cost Budget

Rule 7: Take a Goal-Centered Approach to the Problem, Not a Technology-Centered or Chronological Approach

Rule 8: Nonusers Must be Considered in the Analysis and in the Final Recommendations

Rule 9: The Universal Computer Model is a Fantasy

Rule 10: The Role of Decision-Maker in Public Systems is Often a Confused One



Software Development Life Cycle

      The Software Development Life Cycle is a process that ensures good software is built.  Each phase in the life cycle has its own process and deliverables that feed into the next phase.  There are typically 5 phases starting with the analysis and requirements gathering and ending with the implementation




Requirements Gathering/Analysis

      This phase is critical to the success of the project.  Expectations (whether of a client or your team) need to be fleshed out in great detail and documented.  This is an iterative process with much communication taking place between stakeholders, end users and the project team.  The following techniques can be used to gather requirements:

    ▪ Identify and capture stakeholder requirements using customer interviews and surveys.
    ▪ Build multiple use cases to describe each action...