WEEK 1, ch3 Flashcards

1
Q

programming

A

process of creating a set of logical instructions for a digital device to follow using a programming language (= coding).

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

different methodologies for software development, first one is SYSTEM-DEVELOPMENT LIFE CYCLE

A
  • Structured
  • Risk averse
  • Inflexible method
  • Large projects with large impact on the organization

Model is built on waterfall methodology: only when one step os completed, another step can begin.
1. Preliminary analysis (is the project possible from a technical, economic and legal perspective, are we going to start the project or not)

  1. System analysis (analysts and key shareholders gather and define system requirements, NO PROGRAMMING yet result is system requirements document)
  2. System design (designers plan technical details (user interface, database, dataflows).
  3. Programming (developers write the actual code based on the system design)
  4. Testing (undergoes different types of testing to find and fix errors)
  5. Implementation (final system is installed and introduced into the organization)
  6. Maintenance (bugs, errors or requests for new features are handled)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

different methodologies for software development, second one is RAPID APPLICATION DEVELOPMENT (RAD)

A
  • quickly building a working model
  • FAST PROTOTYPING (NOT IN ONE GO, WAIT FOR FEEDBACK CUSTOMERS
  • getting feedback from users and then updating the working model
  • small projects since SDLC requires more documentation and attention to detail
  • RAD combines certain steps of SDLC:
  1. Requirement planning: requirements and is it possible?
  2. User design: users collaborate with analysts, designers, and programmers to design the system interactively. This often includes Joint Application Development (JAD) sessions where all stakeholders discuss the system’s design
  3. Construction: developers work closely with users to build and improve the system in an iterative way.
  4. Cutover: the system is launched and goes live
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

different methodologies for software development, third one is AGILE METHODOLOGIES

A

a way of developing software in small, incremental steps, focusing on quality and adaptability. they do not deliver a complete product at once, they work in short time periods (time boxes) and release updates regularly with clear goals.

  • small cross-functional teams
  • daily status meetings to track progress
  • short development cycles to quickly implement changes
    -frequent working demos to show stakeholder progress
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

different methodologies for software development, fourth one is LEAN METHODOLOGY

A

starts with building a minimum viable product (MVP), a basic version of the software with just enough features to test the idea.

1.Developers release an MVP with essential features.
2.Feedback is collected through user discussions and software usage data.
3.Improvements are made based on real-world data, avoiding unnecessary features.

The Lean approach helps avoid wasted effort by building only what is needed and improving based on real user feedback.

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

whats the biggest difference between lean methodology and other approaches

A

with lean, not all requirements are known when the project starts, the system evolves based on user feedback and real word testing.

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

pivot

A

changing the projects strategy by rethinking its core idea and creating a new MVP

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

quality triangle

A

the trade offs in software development between time, cost and quality. key idea is that you can only uptime for two out of the tree:
*If you want high quality and fast development, it will be expensive.
*If you want high quality and low cost, it will take more time.
*If you want fast and cheap, the quality will suffer.

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

programming languages are categorized into different generations based on complexity and abstraction level

A
  1. first-generation (machine coding): lowest level, uses binary (0s, 1s: the bits), difficult for humans to write and understand
  2. second-generation (assembly language): uses English like phrases, easier but still requires understanding of hardware
  3. third-generation (high level languages): Resemble human language and are easier to write. Need to be compiled into machine code before execution
  4. fourth-generation (very high level language): Designed for ease of use with intuitive interfaces. Used in databases, reporting, and business applications
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

compile code

A

translated into machine-readable form before running. it is faster because the whole program is compiled at once

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

interpret code

A

translated line by line while running, easier to work with but slower since it requires a runtime program to execute.

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

Hybrid (Java) code

A

a mix of both

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

Programming languages can be classified as procedural or object-oriented

A

procedural: program follows a step-by-step sequence of instructions, clear starting point and executed in order (SIMPLE AND GOOD FOR BASIC TASKS)

object-oriented: instead of following steps, program is built around objects, objects have properties (data) and methods (actions they can perform). (FLEXIBLE and good for COMPLEX APPLICATIONS).

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

Integrated Development Environment (IDE)

A

is a tool used to write and develop programs

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

What does the Integrated Development Environment (IDE) include?

A
  1. an editor: highlights and color-codes programming keywords
  2. help system: provides detailed documentation about the programming language
  3. compiler/interpreter: helps run the program by converting code into machine language
  4. Debugging tool: identifies and fixes errors in the program

5.Check-in/Check-out Mechanism: allows multiple programmers to work together without overwriting each other’s code

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

Computer-Aided Software Engineering (CASE)

A

tools that help designers create software with little or no programming. It writes the code automatically based on the designer’s input

17
Q

Organizations must decide whether to buy or build a software, explain

A

advance of buying: cheaper and faster since its already been tested

disadadvantage: less customization options and competitors might use the same software

18
Q

end user computing

A

Non-IT employees (like business analysts, marketing staff, or HR employees) create their own software solutions for specific tasks

19
Q

advantage and disadvantage: End-User Computing

A

Advantage:
- Brings software closer to users who need it.
- Reduces workload on IT teams and speeds up development.

Disadvantage:
- Different teams may build similar applications, causing duplication and inefficiency.

20
Q

When an organization introduces a new system, it must choose the best way to implement it. The four common methodologies are:
1. direct cutover

A
  • The old system is completely replaced on a specific date.
  • Fastest and cheapest method but very risky—if the new system fails, there is no backup.
21
Q

When an organization introduces a new system, it must choose the best way to implement it. The four common methodologies are:
1. direct cutover
2. pilot implementation

A

A small group starts using the new system before the rest of the organization.

Lower risk and allows focused support but takes longer to implement

22
Q

When an organization introduces a new system, it must choose the best way to implement it. The four common methodologies are:
1. direct cutover
2. pilot implementation
3. parallel operation

A

Both old and new systems run at the same time for testing.

Least risky, but most expensive since both systems require full support

23
Q

When an organization introduces a new system, it must choose the best way to implement it. The four common methodologies are:
1. direct cutover
2. pilot implementation
3. parallel operation
4. phased implementation

A

The new system is introduced gradually, turning off old system functions step by step.

Allows a smooth transition, reducing risk but takes longer

24
Q

change management

A

Organizations must carefully manage changes to reduce disruption when a new system is introduced

25
Q

maintenance

A

After implementation, the system must be monitored and updated to fix bugs and add new features