CSE 110 midterm

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/73

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

74 Terms

1
New cards

Only _ percent for SE to code

50%

2
New cards

Defintion of SE

Software Enignner is the role to work in the team and find scientific, effectient ways to design, build, and maintain applications for customers

3
New cards

The ___ effect, which will affect SE’s from market, political and rate of change

auteur effect

4
New cards

Enumerate 3 - 5 artifacts beyond the source code that is part of software. Besides listing the artifacts explain why it is important and/or how it is used.

Creating an initutive and user friendly ui can mean more than having good code. If the user having bad experience on navigating your application, users will not like your program even though you have great functionality.

Creating a good operating logic will help the user to correctly use your product and do what they want. For bad logic, the user might get confuse and can’t find what they looking for

5
New cards

What’s good about having a 10x developer

Can boost the productivity for whole team if he/she be able to cooperate with the team, Can introduce better tools for the team to use, can help debug complex problem. Can carry the team.

6
New cards

What’s bad about having a 10x developer

If he/she is not cooperating or bring bad attitude with the team because they used to do it on their ways, he/she can lower the team productives because the different tools they use or insights.

SE is a team sport, if he or she wants to go on their pace, others might not be able to keep up. Eventually lead to a greater problem

7
New cards

Postel's Law of SE Professionals

Be conservative in what you send, be liberal in what you accept

8
New cards

Some people deeply wish that tools and technology will solve developer productivity issues. Data and history doesn’t seem to suggest that is a good bet. If that is the case why do you think people keep pushing the tool over people idea?

Sometimes it’s hard to change people or fix their mentality to increase team’s productivity. However, sometime swapping into a new tool might can instantly increase the performance of the team. On the other hand, swapping tool is often easier than swapping people. If swapping tool is making the team in a good enough shape, people just leave it. Enignnering have the bias that trust tools over people becuase tools are usually more controllable than people.

9
New cards

What does it mean to be a “T” Shaped engineer?

A t-shaped enginneers have deep knowledge of one area and a working knowledge of other areas their team needs

10
New cards

Why team are required?

Sometimes solo can only produce so much. If customer need a complex software, solo can take monthes to reach making a good product. On the other hand, people can make better product when their ideas combine since they are able to get more perspective when they working on the product togher. People usually good at differnet things, a team can take care other’s weakness.

11
New cards

Team formation step

Forming, storming, norming, performaing, adjouring

12
New cards

Forming

coming together as a group and introductions. Make sure we know who is on our team.

13
New cards

Storming

team member starts to work on warm ups tasks and figure out what’s the idea for projects

14
New cards

Norming

Team try to figure out a team coding procedure, like what programming language the team will use in the project, what’s the step/rule for code reviews. What framework that the team should use. Bascially a stage to find a way/tools that works for everyone. Solving conflict from storming. People start to settle their role.

15
New cards

performing

when the team be able to start run smoothly and all aiming for the commited goal. The team will not care personal agendas and start to deeply trust on each other. The team is commit to do real work and outputing the proejct

16
New cards

Adjourning

the team is done on making the project, and start planing for receiving new memebers or move to different team. The team start to warp up what they did and reflect on what they did well and what’s not.

17
New cards

Psychological safety

people are free to speak their conceren, disagree and question

18
New cards

organization structure in 3 types

pathologoical(power oriented), bureaucratic(tule oriented), generative(performance).

19
New cards

SOLO

avoid complex work and keep task simple. Do one thing at a time until finished the task. The task should be small and focused.

20
New cards

Pairing

Define role of driver/observer. The driver writes the code and the observer comments on it or guides. The observer is learning and improving the code. Common usage when Senior CE working with junior ce, to spreads information and gets people to beginner mind. Increase the bus factor

21
New cards

Mobbing

the entire team works together on code. It will make a single driver and many observers, researchers, editor, etc. Good start for the project and the team can set agreement on coding styles/rules. It’s also useful when there’s emergency siuations.

22
New cards


Apply The Play Styles:Imagine if we give you scenarios, pros, cons and descriptions can you match them up to the play styles? For example, what would be appropriate in a crisis situation?

In the crisis siuation, a common way to cause this to happen is when the team need to turn in a working product while having very limited time for them to do extra tests. In this case mopping will be the choice since the team can select an experience drivers, and the rest of the member can do research providing necssary data/tools, and others as oberservers to guide the driver and catching potential bugs.

23
New cards

Why is it essential to have a definition of done?

The essential of done for the code should be able to pass unit tests, having good documenataiton, code review, linting, etc. It should be able to pass those checklist that set by the team.

24
New cards

What is the concept of promiscuous pairing? What are good aspects about it? What are bad aspects about it?

It means to rotate partner oftenly in teams. A good aspect of this is being able to spread knowledge and kill while reducing the bus factor. A bad aspect of this can cause fatigue communication by emotionally and mental draining since people need to figure out differnet ways to communicate well. It could cause some people to burn out. Some people who need some solo time might get upset by the unstopping pairing.

25
New cards

when can create bus factor

When we always assign the most important task to the same most knowledgeable/efficient coder. If he/she left no one know what’s going on that task.

When we never change pairs in pair programming, in the end, people know very limited about the whole appliction.

When people feel the code is self-documented and leave it, but in the end, if someone need details explication, the document is not there for he/she to be onboarding.

26
New cards

__ can’t be your designer

user

27
New cards

You can’t be everything to everyone, there will be no perfect ___, ___

usablity, ally

28
New cards

The 99& rule

people are mostly not consuming and using only the software we make.

29
New cards

what is rail

reponse in 100ms, animation 60fps, idle: 50ms, load 1ms

30
New cards

UCD is not ___, respect that there’s no such thing as absolute ___ -easy for one doens’t equal easy for all

absolute, usablity

31
New cards

user story

As a student,

I want to do better on exam,

so I use the flash card app

32
New cards

Core UCD

you are not the user, something make sense to you doens’t mean it will to your user. Validate with real users, not assumptions.

Don’t make them wait. User hate delay, optimize performance and responsiveness. Follow the RAIL rule

User can’t be your designer, avoid asking user what thye want, design and verify it

you can’t be everything to everyone, developer often facing the trade off to achieve optimal usablity and what is good enough

don’t shift/flash the screen, ensure perceived stablity

acknowelede the medium and context of consumption, design for many modes, consider users envirment and outside of software efect

UCD is not absolute, easy for one doesn’t equal easy for all

33
New cards

ilities

usablity - how easy and intutive the software is to use

accessiblity = how well the software works for user with disablity

relibality how often the system fial ro break

performance - how fast the system resposne to user actions

scalablity- how well the system handles growth in users or data

avaliity - of often the system is abvialabel and functions

34
New cards

software arcivites

requirment, design, development, testing, deployment, operation

35
New cards

top-down

start with high level and break down toward small pieces

36
New cards

bottom up

start with small pieces then combine into big map

37
New cards

middle out

start with your most comfortable chapter then go to other chapters, eventually building a book

38
New cards


Incremental solutions

focuse on doing pieces at a time, do whole thing in one go and release. In general, incremental soultions provide more saftey. tend to associate with iterative process. Safter since you see porgess and get feedback as oppose to do someting fo r a long time

39
New cards

for the iron triangle, low cost =

low quality

40
New cards

for the iron triangle, low scope=

higher cost and longer schedule = reduce quality

41
New cards

in performance vs security, high performance =

low security

42
New cards


security vs usability, more security

degrade ux

43
New cards

water fall process model

requirement, design, implementation, verificaiton, maintence

44
New cards

agile model

iterative and incremental, emphasize flexiblity, customer collaboration and rapid delivery

45
New cards

spiral model

combine itertative apporach with risk assessment

46
New cards

Daily stand up

A short meeting that discuess progress and challenges. It keep the team be informed, connected, and calibarted on the progreess.

47
New cards

Story point

a imaginary points that SEs use to mearsure the length of the project and effort they need to implement a user story or task.

48
New cards

backlog

an ordered list that tells what product should be delivered

49
New cards

Sprint

50
New cards

sprints

a type of development cycles that dieliver sotware incrementally and iteratively. It usualy break a big project into small taks and consistantly inprove base on feedback

51
New cards

Retrospective

A stage that happen at the end of sprint. At this point, the team will discuss what went well and what’s not. The propose is for the team to reflect, learn, and improve how they work togeer.

52
New cards

CRUD

Create, update, read, delete

53
New cards

local first

fast, ensure privacy, be able to work offline

54
New cards

Minimalism

SE focus on builidng simple, efficient, and easy-to-maintain system by using minimum of framwork/liberary. Keepoing only essential.

55
New cards

When should you use waterfall

when we have a stable requirnment and fix timeline and budget. When we need formal documentation for everthing. Avoid when requirment changing.

56
New cards

when shoul dyou use agile

when the requirment is uncertain, changing over time. You want frequently user feedback and value collaboration. Avoid when need rigid structure and solid doucmentation.

57
New cards

when shoul dyou use spiral model

the project is high-risk and requirment are not fully knon at the start. The risk analysis is importnat here. Avoid when project is simple or short term

58
New cards

when to use Incremental Model

when you need to deliver a chunck of functionality each time, and it requires the core system is table so that new feature can be added gradually. You want to reduce time to first release. Avoid when you need the entire system working at once

59
New cards

what is BDUF

big design updfron, a big think that plan things out over the project and set porper time for each task.

60
New cards

what is RDUF

plan enought to get going

61
New cards

when to use RAD

when you need to build a prototype quickly, and user are avaible for continuous feedback

62
New cards

Ad Hoc Methods

little design then start coidng

63
New cards

what is github issues in the agile process

track tasks and bugs, plan sprints, familiar with collaboartion by commenting others’ change, assign issue, and tag them for prioirity

64
New cards

Why might one find incremental PRs an important part of the development environment?

smaller focus pr are easier to review qucikly, reviewer can understand the changes qucikly and give better feedback

65
New cards

66
New cards
67
New cards
68
New cards
69
New cards
70
New cards
71
New cards
72
New cards
73
New cards
74
New cards