In: Computer Science
Question 4
4.1. Explain each of the ways data can be inputted into a programming environment. (10)
4.2. Discuss each step in the requirements analysis phase of programming. (20)
Source: Visual Pradigm
[ 4.1 ]
Your commands, ideas, demands and concepts form the data your system processes and stores. Without user input, a computer simply takes up desktop space and waits for directions, like a lost motorist with a broken-down car. Without input methods and devices, your correspondence, reports, images and numbers remain in your head rather than becoming work in progress. Your computer can accept input from myriad types of peripheral devices, each designed to accommodate specific types of data.
Keyboards
Keyboards break down the language-related data into small units or blocks that the computer can understand. You can type a single letter, combine alphanumeric keys with command keys to produce accented or specialized characters, and enter simple or complex instructions to control software processes. QWERTY was the traditional keyboard and from it was adapted from the typewriter, to layouts such as the Dvorak keyboard, which promotes faster typing, and adapted variations with additional keys, these devices translate finger-based keypresses into data input.
Pointing Devices
Pointing devices translate taps, gestures and drawing input, either through wired or wireless interfaces. From clicking on a menu with a mouse or trackball, to tapping on a touchpad or touchscreen, or drawing on a graphics tablet, these devices instigate commands and help retouch photographs, create illustrations and simulate the behavior of other devices, including paintbrushes and airbrushes. CAD pucks enable you to establish precise points of reference on an architectural plan or 3D rendering. Recreationally speaking, the world of computer games relies on devices that translate three-dimensional gestures into the world of a flight simulator, fight scene or race track, including joysticks, game pads and driving simulators.
Data Drives
Flash, optical and hard drives store the output of computer processes, but they also provide the input for other functions. From files that contain data to be manipulated to temporary data storage that provides input from a clipboard or program, these devices simplify and speed the act of making information available to software processes. Some of these devices contain moving platters, whereas others rely on solid-state NAND flash chips or inserted writeable/rewriteable optical discs. They may be installed as internal computer components or plugged in to a USB, FireWire or Thunderbolt port.
Audio/Video Devices
Computers accept a wide range of audio-data inputs. You can dictate audio input into a headset for use in a text-to-speech program that converts your words into word processing, sing or play a musical instrument into a microphone for recording in an audio file, plug an electronic instrument into your computer for direct input of synthesized sounds or transfer audio from a recording device. To bring visual information into a new or existing document, you can digitize objects or printed information on a two- or three-dimensional scanner, transfer files from a digital camera or combined audio/video input from a camcorder, or record an individual or a surveilled scene captured on a webcam or security camera.
MIDI Devices
Keyboards, synthesizers and other musical technologies provide computer input in the form of MIDI data. The Musical Instrument Digital Interface specification includes three types of data pathways, received and transmitted through MIDI IN, MIDI OUT and MIDI THRU ports. Instruments plug in to a MIDI IN jack on a computer interface, which plugs in to a USB or other standard data port. Instruments connect into series of daisy-chained devices by means of their MIDI THRU jacks, which enables the output of one piece of hardware to control or influence the behavior of another.
Specialized Hardware
From testing and diagnostic equipment, laboratory measurement devices and manufacturing hardware to assistive technology that makes computers accessible to persons with disabilities, specialized input hardware solves equally specialized problems or overcomes specific challenges. Along with devices designed for medical, scientific, engineering and manufacturing use, these special-purpose input devices include gestural hardware that translates three-dimensional movement of the hands or body into character movement for animation or provides a substitute for conventional pointing devices.
[ 4.2 ]
Requirement collection and analysis:
The requirement is the first stage in the SDLC process. It is conducted by the senior team members with inputs from all the stakeholders and domain experts in the industry. Planning for the quality assurance requirements and recognization of the risks involved is also done at this stage.
This stage gives a clearer picture of the scope of the entire project and the anticipated issues, opportunities, and directives which triggered the project.
Requirements Gathering stage need teams to get detailed and precise requirements. This helps companies to finalize the necessary timeline to finish the work of that system.
Here are the objectives for performing requirement analysis in the early stage of a software project:
Requirements analysis is critical to the success or failure of a systems or software project. The requirements should be documented, actionable, measurable, testable, traceable, related to identified business needs or opportunities, and defined to a level of detail sufficient for system design. Conceptually, requirements analysis includes four types of activity:
Requirement analysis helps organizations to determine the actual needs of stakeholders. At the same time, it enables the development team to communicate with stakeholders in a language they understand (like charts, models, flow-charts,) instead of pages of text.
Once the requirements are gathered, we document the requirements in a Software Requirements Specification (SRS) document, use cases or as User Stories, which are shared with the stakeholders for approval. This document is easy to understand for both normal users and developers. Any changes in the requirements are also documented and go through a change control procedure and finalized on approval.
Business Requirements:
Techniques for Discovering Business Needs:
Gap Analysis Using BPMN or ArchiMate
ArchiMate - Gap Analysis
BPMN - As-is and To-be Analysis
Software Requirements:
Software requirements break-down the steps needed to meet the business requirement or requirements. When a business requirement states the 'why' for a project, a software requirements outline the 'what'.
Customer Journey Mapping
Customer journey map uses storytelling and visual data to illustrate the relationship a customer has had with a firm or business over a period of time. The story is told by the customer and from his/her perspective and hence, reflects on the experience he had with the firm. It helps your working team understand and analyze to address customer needs and paint proper points as they experience your product or service.Mapping out the customer journey gives your business the chance to see how your brand must first engage a customer who could be, and then move through the process of the whole touchpoints.
Techniques for Identifying Software Requirements from Business Needs:
Data Flow Diagram
Use Cases
User Stories
User Stories vs Use Cases - The Similarity
User Stories vs Use Cases - The Difference