NOCTI Study Guide 1 March 15 2016 Lets

  • Slides: 25
Download presentation
NOCTI Study Guide #1 March 15, 2016

NOCTI Study Guide #1 March 15, 2016

Let’s Review for Nocti: Do you have your study guides? Standards: • User Requirements

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

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 • • • Describe how the system works. It specifies

User Requirements 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”. Non-functional requirements • 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”

http: //reqtest. com/requirements-blog/functional-vs-non-functional-requirements/ Functional requirements Some of the more typical functional requirements include: •

http: //reqtest. com/requirements-blog/functional-vs-non-functional-requirements/ 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 Non-functional 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 • Input is any information that is needed by your • •

Formatting? Input • Input is any information that is needed by your • • 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. 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. program to complete its execution. • • 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.

Data Types What is it? Can exist in a variety of forms: • •

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: • • • Integers : whole numbers Booleans:

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

Developing a Computer Programming: • When programmers build software applications, they just do not

Developing a Computer Programming: • 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 • Is an outline of each of

What’s the Difference? Program 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! 1. Analyze the problem 2. Design the program 3. Code the program 4. Test and debug the program 5. Formalize the solution 6. Maintain the program • • • System Development Life Cycle 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: 1. 2. 3. 4. 5. Planning Analysis Design Implementation Maintenance

Program Development Life Cycle

Program Development Life Cycle

System Development Life Cycle • • • An SDLC aims to produce high quality

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 synchronizeand-stabilize.

SDLC follows the following steps: • • The existing system is evaluated. Deficiencies are

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-system-developmentlife-cycle. html https: //airbrake. io/blog/insight/what-is-system-development-life-cycle

Flowchart Symbols (aka: Logic diagram symbols)

Flowchart Symbols (aka: Logic diagram symbols)

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

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

A flowchart is a • Design tool used to represent the logic in a

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

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 d. BASE, 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

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

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,

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

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

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

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.

Let’s practice Flowcharts! • Pick up a worksheet! • As a class we will

Let’s practice Flowcharts! • Pick up a worksheet! • As a class we will complete #3 Understanding Flowcharts • You are to work on #2 Creating a flowchart. • You are to work on #4 Designing a User Interface. • Turn in your work for grade! • Quiz on Monday.

Vocabulary Words to know: • • • Algorithm: An algorithm (pronounced AL-go-rith-um) is a

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-toalgorithms/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 modify. Structured programming frequently employs a topdown 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/