Friday, May 29, 2015

Structured Analysis & Design

Requirements Discovery Methods and Process Modeling


Requirements discovery is the process and techniques used by systems analysts to identify or extract system problems and solution requirements from the user community.

The Requirements Discovery Process

  • Requirements Planning
  • Requirements Elicitation
  • Requirements Analysis & Documentation
  • Requirements Verification & Review
  • Requirements Validation & Acceptance
  • Requirements Change Management


Fact-finding

Fact-finding is a technique that is used across the entire development cycle, but it is extremely critical in the requirements analysis phase.It is also called information gathering or data collection.Tools, such as data and process models,document facts, and conclusions are drawn from facts. Fact Finding. Once fact-finding has been completed, tools such as use cases, data models, process models, and object models will be used to document facts, and conclusions will be drawn from the facts.During fact-finding, systems analysts often come across or analyze information that is sensitive in nature.Effective fact-finding techniques are crucial to the development of systems projects.
Fact-finding is most crucial to the systems planning and systems analysis phases.It is during these phases that the analyst learns about the vocabulary,problems,opportunities,constraints,requirements,and priorities of a business and a system.During systems design,fact-finding becomes technical as the analyst attempts to learn more about the technology selected for the new system.

Four common fact-finding techniques

  • Sampling of existing documentation,forms, and databases.
  • Research and Internet site visits.
  • Observation of the work environment.
  • Questionnaires


Context Data Flow Diagram

Context Diagrams and Data-Flow Diagrams were created for systems analysis and design.It is a graphical visualization of the movement of data through an information system. The Context Diagram shows the system under consideration as a single high-level process and then shows the relationship that the system has with other external entities (systems, organizational groups, external data stores, etc.).

A sample Context Diagram


Some of the benefits of a Context Diagram are:

  • Shows the scope and boundaries of a system at a glance including the other systems that interface with it
  • No technical knowledge is assumed or required to understand the diagram
  • Easy to draw and amend due to its limited notation
  • Easy to expand by adding different levels of data flow diagrams
  • Can benefit a wide audience including stakeholders, business analyst, data analysts, developers

Monday, May 18, 2015

Project Management and Systems Analysis

Project Management and Systems Analysis


Project management

Project management is the process of scoping, planning, staffing, organizing, directing, and controlling the development of an acceptable system at a minimum cost within a specified time frame.

There are three constraints that projects need to be delivered under. They are time, cost, and scope. These three constraints will determine the quality of the product delivered. Each constraint does have an effect on the other. For instance, if the scope or requirements of the project grow larger, then the cost of the project most likely will increase and the time it takes to finish the project will be longer.

Project management is being able to apply the knowledge you have learned, apply the skills you have developed, use the tools you have acquired, and apply the experience you have gained.


Systems Analysis

Systems Analysis is a problem-solving technique that decomposes a system into its component pieces for the purpose of studying
how well those component parts work and interact to accomplish their purpose.

Systems analysis is driven by the business concerns of system owners and system users. Hence, it addresses the knowledge, process and communications building blocks from system owners' and system users' perspectives. The Systems Analysts serve as facilitators of systems analysis. The documentation and deliverables produced by systems analysis tasks are typically stored in a repository. A repository is the a location (or set of locations) where systems analysts, systems designers, and system builders keep all of the documentation associated with one or more systems or projects.


System Analysis Phases

There are five systems analysis phases.
  • Scope Definition Phase
  • The scope definition phase is the first phase of the classic systems development process. The entire phase should not exceed two or three days for most projects One of the most important tasks of the scope definition phase is establishing an initial baseline of the problems, opportunities, and/or directives that triggered the project.
  • Problem Analysis Phase
  • The problem analysis phase provides the analyst with a more thorough understanding of the problems, opportunities, and/or directives that triggered the project. The problem analysis phase answers the questions, Are the problems really worth solving? and Is a new system really worth building?.
  • Requirements Analysis Phase
  • The requirements analysis phase defines the business requirements for a new system.The requirements analysis phase answers the question, What do the users need and want from a new system?. The requirements analysis phase is critical to the success of any new information system.
  • Logical Design Phase
  • The logical design phase further documents business requirements using system models that illustrate data structures, business processes, data flows, and user interfaces. In a sense, the analyst validates the requirements established in the previous phase. In this phase, the analyst draws various system models to document the requirements for a new and improved system.
  • Decision Analysis Phase
  • In the decision analysis phase, it is necessary to identify candidate solutions, analyze those candidate solutions, and recommend a target system that will be designed, constructed, and implemented. The tasks in this phase includes (1) identify candidate solutions,
    (2) analyze candidate solutions, (3) compare candidate solutions, (4) update the project plan, and (5) recommend a system solution.

    Friday, May 15, 2015

    Hello

    Systems Analysis, Design Methods and Development


    Information system

    - an arrangement of people, data, processes, and information technology that interact to collect,
    process, store, and provide as output the information needed to support an organization.

    Information technology

    - a combination of computer technology (hardware and software) with telecommunications
    technology (data, image, and voice networks)

    Stakeholder

    - any person who has an interest in an existing or proposed information system.
    Stakeholders may include both technical and non-technical workers. They may also include both internal and external workers.

    System analysis

    - the study of a business problem domain to recommend improvements and specify the business
    requirements and priorities for the solution.

    System designer

    - a technical specialist who translates system users' business requirements and constraints
    into technical solutions. She or he designs the computer databases, inputs, outputs, screens, networks,
    and software that will meet the system users' requirements.

    System analyst

    - a specialist, who study the problems and needs of an organization to determine how people,
    data, processes, and information technology can best accomplish improvements for the business.

    Where Do Systems Analysts Work?



    Data

    - raw facts about people, places, events, and things that are of importance in an organization.
    Each fact is, by itself, relatively meaningless.

    Information

    - data that has been processed or reorganized into a more meaningful form for someone.
    Information is formed from combinations of data that hopefully have meaning to the recipient

    Knowledge

    - data and information that are further refined based on the facts, truths, beliefs,
    judgements, experiences, and expertise of the recipient. Ideally information leads to wisdom.

    Object-oriented analysis and design

    - a collection of tools and techniques for systems development
    that will utilize object technologies to construct a system and its software.

    Creeping commitment

    - a strategy in which feasibility and risks are continuously re-evaluated
    throughout a project. Project budgets and deadlines are adjusted accordingly.

    Feasibility

    - a measure of how beneficial the development of an information system would be to an organization.


    SDLC

    There are six phases in every Software development life cycle model:

    1. Requirement gathering and analysis
    2. Design
    3. Implementation or coding
    4. Testing
    5. Deployment
    6. Maintenance

    1) Requirement gathering and analysis:

    Business requirements are gathered in this phase. This phase is the main focus of the project managers and stake holders.
    Meetings with managers, stake holders and users are held in order to determine the requirements like; Who is going to use
    the system? How will they use the system? What data should be input into the system? What data should be output by the
    system? These are general questions that get answered during a requirements gathering phase. After requirement gathering
    these requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to
    be development is also studied.Finally, a Requirement Specification document is created which serves the purpose of guideline
    for the next phase of the model.

    2) Design:

    In this phase the system and software design is prepared from the requirement specifications which were studied in the first
    phase. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture.
    The system design specifications serve as input for the next phase of the model.

    3) Implementation / Coding:

    On receiving system design documents, the work is divided in modules/units and actual coding is started. Since, in this phase
    the code is produced so it is the main focus for the developer. This is the longest phase of the software development life cycle.

    4) Testing:

    After the code is developed it is tested against the requirements to make sure that the product is actually solving the needs
    addressed and gathered during the requirements phase. During this phase unit testing, integration testing, system testing,
    acceptance testing are done.

    5) Deployment:

    After successful testing the product is delivered / deployed to the customer for their use.

    6) Maintenance:

    Once when the customers starts using the developed system then the actual problems comes up and needs to be solved from time to
    time. This process where the care is taken for the developed product is known as maintenance.


    There are various Software development models or methodologies.
    1) Waterfall Methodology

    The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-sequential life cycle model.
    It is very simple to understand and use. In a waterfall model, each phase must be completed fully before the next phase can begin.
    This type of model is basically used for the project which is small and there are no uncertain requirements. At the end of each phase,
    a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. In this
    model the testing starts only after the development is complete. In waterfall model phases do not overlap.


    2) RAD (Rapid Application Development) Methodology

    Rapid application development (RAD) - a system development strategy that emphasizes speed of development through extensive user
    involvement in the rapid, iterative, and incremental construction of a series of functioning prototypes of a system that eventually
    evolves into the final system (or a version). RAD is most popular for small- to medium-size projects.

    The basic ideas of RAD are:

    To more actively involve system users in the analysis, design, and construction activities.
    To organize systems development into a series of focused, intense workshops jointly involving SYSTEM OWNERS, USERS, ANALYSTS, DESIGNERS, and BUILDERS.
    To accelerate the requirements analysis and design phases through an iterative construction approach.
    To reduce the amount of time that passes before the users begin to see a working system.