Chapter 6 Information Technology Systems Flashcards
Programming
-the technique by which we tell computers what we expect of them
-from physical (electronic) standpoint, all information in the computer must be represented by a series circuits which are either “on” or “off”; by convention we far to these values as 1’s and 0’s
Hexadecimal notation
Base 16 to express numbers (versus base 10 - decimal), it’s more compact
Bit, byte, kilobyte, megabyte
Bit = binary digit
Byte=eight bits
Kilobyte=string of 1024 bytes
Megabyte=1024 kilobytes
Assembly language
-Type of computer language
-Machine code is hard to understand
-Uses words and abbreviation in place of long strings and numbers to make programming easier
-Needs another program called an assembler to translate it into machine code
Compiled language
-Type of computer language
-Evolved after assembly language
-Higher-order language
-Needs another program called a compiler to convert the source code into machine code
-Con: needs entire program to be complete before compiler can begin
-Example of compiled language is FORTRAN (Formula Translator), developed by IBM in 1950s
Interpreted language
-Type of computer language
-Evolved after compiled language
-Each line of program is passed through an interpreter for execution and only the part of the program that is immediately needed will be translated
-Con: cost of flexibility is speed
-Example of interpreted language: BASIC (Beginner’s All-purpose Symbolic Instruction Code), appeared on most home computers in the 1980s
Control structures (and example)
linguistic mechanisms that programmers use to tell a computer what to do in a given circumstance
-if/then/else
-for/next: loop
-while loop
Waterfall
-Type of software development
-Origins in manufacturing
-Sequential method where each phase has to be complete before proceeding to next level
-50% of project is spend on Requirements and Design phase
-And then proceed to Implementation (write code), Verification (debugging), and Maintenance
-Type of top-down method
-Critique: project requirement rare remains stationary
Rapid prototyping
-Type of software development
-Start with user interface and then work backwards
-Type of bottom-up approach
Spiral model
-Type of software development
-Developed by Barry Boehm
-Combines waterfall and rapid prototyping
-4 parts: 1) analysis of objectives, alternatives and constraints; 2) evaluation of alternatives and identification of risks, 3) development and verification, 4) planning for the next cycle
Rapid application development (RAD)
-Type of software development
-Like spiral, attempts to break project into smaller chunks
-Adhere to strict timelines or timeboxes
-Involves building completely function models rather than prototypes
-If changes are needed, reduce requirement rather than postpone deadline
Agile software
-Type of software development
-Another iterative method that advocates for a more lightweight and people=centric approach
-Stresses short cycles of continuously improving software
Scrum
-Type of software development
-Variation of agile theme
Extreme Programming (XP)
-Type of software development
-Variation of agile theme
Test-driven Development (TDD)
-Type of software development
-Before any feature is added to project, programmer writes an automated test
-Has library of internal tests
-Critique: not uncommon for the testing code to be much larger than application code
System integration
-process of enabling disparate systems to communicate
-software used to bind two systems is called interface
Vertical integration
-process of integrating systems based on similar functionality
-Tightly integrated systems are called silos
Star integration (or spaghetti integration)
type of system integration where every system talks to everyone else
-expensive but provides best inter-system communication
Horizontal integration (or bus or enterprise service bus)
-when there is a new system created that provides dedicated communication between other systems
-high cost
What standard dictates quality in computer systems
International organization for Standards document (25010)
8 categories:
-functional suitability, performance efficiency, compatibility, usability, reliability, security, maintainability, portability
Schema
rules that enforces what sort of data a database will accept
-The rules or constraints ensure greater data integrity
Normalization
-process of organizing database to reduce data redundancy and improve data integrity
-database is normalized when each row refers to a single indivisible idea “atomic”
-no duplicate information, takes up less storage space, generally easier to modify
Denormalized
-when table is intentionally designed to keep redundant data for performance purposes
-faster to query