NOCTI Study Guide #1 March 15, 2016.

Slides:



Advertisements
Similar presentations
Programming Paradigms and languages
Advertisements

ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
SDLC Software Development Life Cycle. SDLC Acronym for system development life cycle. Acronym for system development life cycle. Is the process of developing.
Overview of Programming and Problem Solving ROBERT REAVES.
Computers Are Your Future
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Visual Basic Introduction IDS 306 from Shelly, Cashman & Repede Microsoft Visual Basic 5: Complete Concepts and Techniques.
Chapter 1 Program Design
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Software design and development Marcus Hunt. Application and limits of procedural programming Procedural programming is a powerful language, typically.
Lesson 4 Computer Software
CS102 Introduction to Computer Programming
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Why Program? Computer – programmable machine designed to follow instructions Program – instructions in computer memory to make it do something Programmer.
Chapter Introduction to Computers and Programming 1.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
CSC-115 Introduction to Computer Programming
Software and Hardware Interaction
1 Overview of Programming and Problem Solving Chapter 1.
Overview of Programming and Problem Solving Textbook Chapter 1 1.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Computer Components.
Property of Jack Wilson, Cerritos College1 CIS Computer Programming Logic Programming Concepts Overview prepared by Jack Wilson Cerritos College.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
INTRODUCTION TO PROGRAMMING. Program Development Life Cycle The program development life cycle is a model that describes the stages involved in a program.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
MANAGEMENT INFORMATION SYSTEM
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming
Chapter 1 Introduction 2nd Semester H
Introduction to Computing Systems
BASIC PROGRAMMING C SCP1103 (02)
NOCTI Study Guide #1 March 15, 2016.
Introduction to Programming / chapter 3 / COM1022
CSCI-235 Micro-Computer Applications
Introduction to Visual Basic 2008 Programming
BASIC PROGRAMMING C SCP1103 (02)
DDC 1023 – Programming Technique
System Design.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
CS101 Introduction to Computing Lecture 19 Programming Languages
Course: Introduction to Computers
Types of Computers & Computer Hardware
Chapter 1: Introduction to Computers and Programming
Unit# 9: Computer Program Development
Topics Introduction Hardware and Software How Computers Store Data
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Chapter 1 Introduction(1.1)
Introduction to computers
An Introduction to Software Architecture
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
ICT Gaming Lesson 2.
Basic Concepts of Algorithm
Computer components is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format. Computer The computer.
User Requirements: The user requirement(s) document (URD) or user requirement(s) specification is a document usually used in software engineering that.
Object-Oriented Programming (OOPs)
Programming Logic and Design Eighth Edition
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

NOCTI Study Guide #1 March 15, 2016

Let’s Review for Nocti: Do you have your study guides? Standards: User Requirements – functional and non-functional requirements Input/output formats for a program (data types) PDLC –vs- SDLC Analyze Programming Problems and Flowchart Solutions Design Program solutions

User Requirements: The user requirement(s) document (URD) or user requirement(s) specification is a document usually used in software engineering that specifies what the user expects the software to be able to do. Once the required information is completely gathered it is documented in a URD, which is meant to spell out exactly what the software must do and becomes part of the contractual agreement. A customer cannot demand features not in the URD, while the developer cannot claim the product is ready if it does not meet an item of the URD. The URD can be used as a guide to planning cost, timetables, milestones, testing, etc. The explicit nature of the URD allows customers to show it to various stakeholders to make sure all necessary features are described.

User Requirements Functional requirements Non-functional requirements Describe how the system works. It specifies something the system should do. A functional requirement for a milk carton would be “ability to contain fluid without leaking”. Describe what the system should do. Specifies how the system should behave. Non-functional requirements cover all the remaining requirements which are not covered by the functional requirements. A non-functional requirement for a hard hat might be “must not break under pressure of less than 10,000 PSI”

Functional requirements Non-functional requirements http://reqtest.com/requirements-blog/functional-vs-non-functional-requirements/ Functional requirements Non-functional requirements Some of the more typical functional requirements include: Business Rules Transaction corrections, adjustments and cancellations Administrative functions Authentication Authorization levels Audit Tracking External Interfaces Certification Requirements Reporting Requirements Historical Data Legal or Regulatory Requirements Some typical non-functional requirements are: Performance – for example Response Time, Throughput, Utilization, Static Volumetric Scalability Capacity Availability Reliability Recoverability Maintainability Serviceability Security Regulatory Manageability Environmental Data Integrity Usability Interoperability

Formatting? Input Output Input is any information that is needed by your program to complete its execution.  Some programs use graphical components like a popup dialog box to accept and return the character string that is typed by the user.  You are certainly familiar with programs that are controlled simply by clicking the mouse in a specific area of the screen.  Still other programs, like word processing programs, get some of their input from a file that is stored on the computer's floppy or hard disk drive.  Some programs, like web browsers, get their data from a network connection, while others get data from devices like scanners, digital cameras and microphones.  The possibilities are limited only by computer scientists' imagination. Output is any information that the program must convey to the user.  The information you see on your computer screen is being output by one or more programs that are currently running on your computer.  When you decide to print a document, a program is told to send some output to the printer.  Any sound that your computer makes is because some program sent output to the speakers on your computer.  The possibilities for program output are also limited only by our imaginations.

Data Types What is it? Can exist in a variety of forms: Data is distinct pieces of information, usually formatted in a special way. All software is divided into two general categories: data and programs. Programs are collections of instructions for manipulating data. As numbers or text on pieces of paper As bits and bytes stored in electronic memory As facts stored in a person’s mind

Formatting Data? Common data types include: C++ Examples: Integers : whole numbers Booleans: binary data, 0’s (false) and 1’s (true) Character: letters Float: real numbers, decimal points String: phrase int num1, num2; bool operator = ….. char letter; float average; string name;

Software Development When programmers build software applications, they just do not sit down and start writing code. They follow an organized plan that breaks the process into a series of tasks. There are many applications development methodologies just as there are many programming languages. In other words different variations!

What’s the Difference? Program Development Life Cycle System Development Life Cycle Is an outline of each of the steps used to build software applications. Is a tool used to guide computer programmers through the development of an application. Consists of 6 steps! Analyze the problem Design the program Code the program Test and debug the program Formalize the solution Maintain the program Guides the systems analyst through development of an information system. Is used during the development of an IT project, it describes the different stages involved in the project from the drawing board, through the completion of the project. Is a tool used to describe a process for planning, creating, testing, and deploying and information system. Applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. Consists of 5 steps: Planning Analysis Design Implementation Maintenance

Program Development Life Cycle

System Development Life Cycle An SDLC aims to produce high quality systems that meet or exceed customer expectations, based on customer requirements, by delivering systems which move through each clearly defined phase, within scheduled time-frames and cost estimates Focuses on realizing the product requirements. Have different models that you can use. Examples: Waterfall model, JAD, fountain model, spiral model,build and fix, and synchronize-and- stabilize.

SDLC follows the following steps: The existing system is evaluated. Deficiencies are identified. This can be done by interviewing users of the system and consulting with support personnel. The new system requirements are defined. In particular, the deficiencies in the existing system must be addressed with specific proposals for improvement. The proposed system is designed. Plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues. The new system is developed. The new components and programs must be obtained and installed. Users of the system must be trained in its use, and all aspects of performance must be tested. If necessary, adjustments must be made at this stage. The system is put into use. This can be done in various ways. The new system can phased in, according to application or location, and the old system gradually replaced. In some cases, it may be more cost-effective to shut down the old system and implement the new system all at once. Once the new system is up and running for a while, it should be exhaustively evaluated. Maintenance must be kept up rigorously at all times. Users of the system should be kept up-to-date concerning the latest modifications and procedures. Websites to review: http://searchsoftwarequality.techtarget.com/definition/systems-development-life-cycle http://www.computerworld.com/article/2576450/app-development/app-development-system-development- life-cycle.html https://airbrake.io/blog/insight/what-is-system-development-life-cycle

Flowchart Symbols (aka: Logic diagram symbols)

Symbols? Flowchart Symbols Logic Diagram Symbols http://www.rff.com/flowchart_shapes.htm

A flowchart is a Design tool used to represent the logic in a solution algorithm graphically. Example: shows a standard set of symbols used to represent various operations in a program’s logic.

Structured Programming – Coding! Is a method of program development Techniques that impose a logical structure to the coding of a program in order to make it easy to follow. Large routines are broken down into small modules that have to be methodically and carefully nested within each other, because the use of the GOTO statement is either discouraged or not available in the language (see spaghetti code). Structured languages, such as Pascal, Ada and dBASE, force the programmer to write a structured program; however, all programming languages can be written in a structured manner.

More…….. In structured programming, all program logic is constructed from a combination of 3 control structures. A control structure is a series of instructions that control the logical order in which the program instructions are executed. 3 control structures are: Sequence Selection Repetition

Sequence Control Structure Is used to show a single action or one action followed in order (sequentially) by another. Actions can be inputs, processes, or outputs.

Selection Control Structure Is used to tell the program which action to take, based on a certain condition. When the condition is evaluated, its result either true or false. If the result of the condition is true, one action is performed, if the result is false, a different action is performed. What does this sound like? If….then…..else statements!

Repetition Control Structure AKA: Looping! Is used when a set of actions is to be performed repeatedly. Use a Do…While or Do….Until loop.

Object-Oriented Programming (OOPs) Writing software that supports a model wherein the data and their associated processing (called "methods") are defined as self-contained entities called "objects.“ Benefit: is that it is easier to develop, debug, and maintain applications that are more complex. Object-oriented programming (OOP) languages, such as C++ and Java, provide a formal set of rules for creating and managing objects.

Vocabulary words to know for OOPs: Object: is anything real or abstract, about which you store both data and operations that manipulate the data. Examples: an invoice, an organization, a computer screen, an airplane, and so on. Class: is an implementation that can be used to create multiple objects with the same attributes and behavior. Instance: is an object. Subclass: is a lower level in a class. Attribute: is data stored about an object. They are identifying characteristics of individual objects, such as: name, weight, or color. Operation: is an activity that reads or manipulates the data of an object. Method: is code that may be executed to perform a service.

Vocabulary Words to know: Algorithm: An algorithm (pronounced AL-go-rith-um) is a procedure or formula for solving a problem.  Watch the video on https://www.khanacademy.org/computing/computer-science/algorithms/intro-to- algorithms/v/what-are-algorithms Structured Programming: Structured programming (sometimes known as modular programming) is a subset of procedural programming that enforces a logical structure on the program being written to make it more efficient and easier to understand and modify. Structured programming frequently employs a top- down design model, in which developers map out the overall program structure into separate subsections. User Interface: The way a person interacts with a computer, tablet, smartphone or other electronic device. The user interface (UI) comprises the screen menus and icons, keyboard shortcuts, mouse and gesture movements, command language and online help, as well as physical buttons, dials and levers. Also included are all input devices, such as a mouse, keyboard, touchscreen, remote control and game controller. http://www.pcmag.com/encyclopedia/term/