Functional | Non-Functional Requirements | IDEs Flashcards

(18 cards)

1
Q

Functional requirements

A

defines a function of a system or its components where a
function is described as a summary of behavior between inputs and outputs – describes
what a system must do and is specified by the user
○ Example – a messaging app must send and text, video, and audio between two or
more users or an email client user must be authenticated when logging in

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Non-functional requirements (NFR)

A

specify how the system must perform
○ Example: a website should load within 3 seconds or request should be processed
within 10 seconds

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Performance NFR

A

defines how fast a software system (or its component)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Scalability NFR

A

the ability of a system or application to handle an increasing
amount of workload, data or users without compromising performance,
availability or reliability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Portability NFR

A

determines if a system or its elements can work in different
environments and establishes how well actions performed via one platform
are run on another

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Compatibility NFR

A

defines how a system can coexist and interact with another
system in the same environment and how well it can exchange data with
external systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Reliability NFR

A

specifies how likely the system or its element would run without
a failure for a given period of time under predefined conditions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Maintainability NFR

A

defines the time needed for a solution or its component to
be fixed, changed to increase performance or other qualities, or adapted to a
changing environment

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Availability NFR

A

describes how likely the system is accessible to a user at a given
point in time (one of the most business critical requirements)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Security NFR

A

ensures data within the system or its parts will be protected against
malware attacks, data breaches, or unauthorized access

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Usability NFR

A

basically about user-friendliness (software must be intuitive, easy
to use, and meet the customer- only 1 question about RAID and it’s about
RAID 10.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

IDEs (Integrated Development Environments and Text Editors)

A

software for building applications that combines multiple developer tools in a single GUI
★ Allows developers to start programming new applications quickly because multiple utilities
don’t need to be manually configured and integrated as part of the setup process
★ Often offer time saving features, such as intelligent code completion and automated code
generation, which removes the need to type out full character sequences
★ Parse code as it is written, so bugs caused by human error are identified in real-time
★ Can execute actions without switching between applications due to single GUI.
★ Include syntax highlighting and some have hierarchy diagrams to help keep code visually
separate when writing.
★ Many have customizable plugins for just what devs need.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

IDE Source code editor

A

A text editor that can assist in writing software code with features such
as syntax highlighting with visual cues, providing language specific auto-completion, and
checking for bugs as code is being written.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

IDE Local build automation

A

Utilities that automate simple, repeatable tasks as part of creating a
local build of the software for use by the developer, like compiling computer source code
into binary code, packaging binary code, and running automated tests.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

IDE Debugger

A

A program for testing other programs that can graphically display the location of
a bug in the original code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Common IDEs

A

IntelliJ – Java
★ Eclipse – Java (primarily for this), (extensions for: XML, Python, JavaScript, PHP, etc.)
★ PyCharm – Python
★ Visual Studio - C, C++, C++/CLI, Visual Basic .NET, C#, F#, JavaScript, TypeScript, XML,
XSLT, HTML, and CSS
★ NetBeans – Java, JavaScript, HTML
★ Xcode - C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit
(Rez), and Swift
★ AWS Cloud9 – (supports 40+ languages) the most popular: Node. js (JavaScript), Python,
PHP, Ruby, Go, and C++

17
Q

Compiled languages

A

first converted by a tool (compiler) into machine code, which can run
on a particular machine.
○ Faster than interpreted languages (translation is incurred just once, when the source
is compiled; thereafter, it need only be loaded and executed)
○ Machine must have a compiler to run them, thus more limited than interpreted
languages.
○ Bootstrapping - process of using a compiler written in a particular programming
language to compile a latest version of the compiler written in the same language.
○ Examples: C, C++, C#, Java.

18
Q

Interpreted (aka scripted) languages

A

run one statement at a time (line-by-line of code) by
another program called an interpreter.
○ Slower than compiled languages but getting faster thanks to just-in-time (JIT)
translation.
○ Can run on any machine that has an interpreter (most of them)
○ Easier for newer developers to use.
○ Higher resource overhead because the program must be translated each time it is
executed.
○ Examples: Python, JavaScript, MATLAB