Week 1 Flashcards

1
Q

What is the meaning of acceptability

A

software is accepted by the users it is designed for. software is understandable, usable and compatible with users’ systems

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

what is heterogeneity

A

different things that work together and are compatible with each other to perform a specific task

eg can be different components
different programming languages
.
.
.

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

interactive transaction based apps

A

apps that are executed on a remote computerand are accessed by user on their own pc or terminal

allows users not only to interact with the system but also to perform transactions seamlessly within the application.

eg
e- commerce websites

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

embedded control systems

A

specialised type of computing systems built into a device to ensure it does one task really well and really quickly
Also manages hardware devices

eg
Anti-lock Braking System (ABS) in Cars:
specific task is to prevent the wheels from locking up during braking, thereby maintaining steering control.

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

batch processing systems

A

handle data in large batches
large number of inputs to create corresponding outputs

eg calculating cost of a business from large amount of data
or using an excel spreadsheet full of data and performing a task like average salary

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

stand alone app

A

a software program that runs locally on a user’s device without requiring an internet connection.

eg Text editor / notepad
Paint
.
.
.

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

Data collection system

A

system that collects data from their environment using sensors and sends data to other systems for processing

eg weather station

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

Fundamental principles of software engineering

A

Software specification and requirements - know what things should do

Performance - (do they work as intended)

Reusability - Reusing code where it is valid rather than writing new code

understood and manged development process - following a systematic and well-defined approach to building software.

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

cloud computing

A

Cloud computing is a way of using and accessing computing resources (like servers, storage, databases, networking, software) over the internet (the cloud) instead of your own computer’s hard drive or a local server.

Disadvantage- requires good internet connection

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

What are the main stages of software development life cycle

A

1) Feasibility - Can it even be done
2) Requirements- How should the finished software work ( according to user’s wishes)
3) Architecture and design - Designing how the end product should be done
4) Implementation - Coding the software
5) Testing - Does the software work as intended
6) Deployment and maintainability - Installing in the target environment and ensuring it functions properly over time through improvements, updates , patches

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

Describe the feasibility stage in detail

A

. Business need - Is it going to be used
. Technical feasibility - Given available resources is an end product possible
. Financial feasibility - can it be done using the available budget
. resources - Do you have the people or tools to achieve the task
. Time constraint - Can it be done in available time

IF these fail high risk to attempt development

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

what is analysis paralysis ( when it comes to the requirements)

A

unable to make progress on a project due to overthinking, excessive analysis ( pros and cons ) , or an overwhelming amount of available options.

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

What does it mean by stake holders

A

Anyone who has intrest or influence in the product being delivered

customers, developers, testers …

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

What are the 4 components of the 4+1 model

A

.Logical view

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

What are the main components of design

A

Thinking about the structures and algorithms within component
. consider the risk and values :
- Ensuring the appropriate amount of
effort is spent on each component
- Not designing everything as
some stuff can easily just be
programmed
- design focuses on parts that
are technically difficult

. The design fits the users intended end product so development can begin

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

What does SMART mean when it comes to requirements

A

Specific
Measurable
Assignable
Realistic
Time related

17
Q

What is waterfall model

A

Model of a software development life cycle that allows you to move between phases ( can move back as well as forward) reflects the fact that a programmer may have to go back and improve based on new knowledge gained

A sequential model that involves linear steps where phases MUST BE COMPLETED BEFORE MOVING ON TO NEXT ONE :

18
Q

What are disadvantages of waterfall model

A

The waterfall model (sequential ) model involves linear steps where phases MUST BE COMPLETED BEFORE MOVING ON TO NEXT ONE :

     -  the completion of phases before moving on to the next one means it may be costly to revisit a stage
  • phases are therefore dependent with each other. revisiting a completed phase may disrupt flow and impact subsequent phases

eg : If after the deployment phase : the users give feedback and say 2FA (factor authentication) is required - this involves updating requirement phase and other subsequent phases like design must be updated to accommodate this (example of wicked problem)

TIME TO MARKET :
- as each phase must be completed before end product - LONG DEVELOPMENT TIME , the end product may lose out on its competive edge or become outdated

LOSS OF SYSTEM RELAVANCE:
- As we said before it is hard to make changes once a phase is complete - may lead to loss of relevance when it comes to evolution of needs and requirements in end product

19
Q

what is a wicked problem

A

Stakeholders realise their requirements after seeing a partial solution

20
Q

what is an agile methodology

A

methodologies that focus on the main concept that requirements will change and allow for updates by producing software in an ITERATIVE way

broken into a series of smaller time periods of focused work called sprints where the results of sprints are analysed and changes can be made where necessary

21
Q

simple disadvantages of waterfall model from craig and dave

A

. user can only see end product during the final stages of the cycle

. Requirements MUST BE WELL UNDERSTOOD AND EXPLAINED - therefore not suitable for complex projects

. misunderstanding requirements likely to lead to a product that is hard to fix

.Downtime - may lead to periods of unavailability in product when being forced to make changes to a phase that has already been completed

22
Q

advantages of the waterfall model (craig and dave)

A

.simple
. people have clear responsibilities at each stage
. easy to see if project is running on schedule
.

23
Q

advantages of agile

A

FLEXIBLE AND EFFICIENT AS:
.Focuse on customers needs rather than a strict focus on documentaion
. allows for regular updates
. as there is close communication with customers customers get to point out flaws quicker leading to a better endproduct closer to their visions
. Strong collaboration between team leading to a better end product
.DONT HAVE TO RECREATE A WHOLE PROJECT IF MISTAKE NOT DETECTED IN EARLIER STAGES

24
Q

disadvantages of agile

A

Minimal amount of documentation:
- harder to take onboard newcomers to project
- difficult to create final reports
-

Collobaration problems
- may be too time consuming if team is meeting regularly
- may be hard if team is widely distributed geographically

25
Q

what is an incremental model

A

model where development is divided into small parts called increments
- updates are added and integrated into the system with each increment
- system is not delivered until end of project

26
Q

advantages of incremental model

A

. Flexible as new requiremnets can be accomodated for
. As failure of project is high if project is long, increments are kept short (reducing failure)
. project always delivers something

27
Q

disadvantages of incremental model

A

. hard to see what end of project is
. can easily deteriorate into code and fix
. difficult to plan costs and budgets

28
Q
A