CS410
Please for each point below, choose the correct answer and type your choice number in the specified textbox. T/F Design and architecture are often referred to as the "what" of the system and requirements as the "how".TrueFalse T/ F UML class diagrams are a good way to represent the algorithmic nature of classes.TrueFalse T/ F Load balancing helps you scale horizontally across an ever-increasing number of serversTrueFalse T/ F Low coupling implies that a given module performs tasks that are not very related to each other and hence can create problems as the module becomes largeTrueFalse
2 2 1 2
Consider these four versions of a Ruby model file, cat.rb: Now, imagine the following scenario. Alice and Alex are using GitHub to collaborate on a Ruby project. They both are working in parallel on Version A of cat.rb. Each modifies the file cat.rb as follows: Alice changes it to be Version B, whereas Alex changes it to be Version C (note the difference in length maximum). Alex commits his changes first and pushes them to the GitHub repo. Then, Alice commits her changes. Which one of the following would happen if Alice next did a Git push? Her commit would be added to the GitHub repo, making the current version in GitHub be Version BHer commit would be merged with Alex's in the GitHub repo, making the current version in GitHub be Version DHer push would be rejected, leaving the current version in GitHub as Version CHer push would be rejected, leaving GitHub unchanged, and Alex's code would be downloaded and merged into her working directory, making her working copy Version DNone of the above
3 3
The work associated with software engineering can be categorized into three generic phases, regardless of application area, project size, or complexity namely the__________ phase which focuses on what, the_________ phase which focuses on how and the_________ phase which focuses on change. support and maintenance development requirement specification
3, 2, 1
Arrange the following steps to form a basic/general Software Engineering Process Model. Test Design Specification Development Maintain
3, 2, 4, 1, 5
How is Agile planning different from the traditional approach to planning?
Agile planning places emphasis on planning and is iterative
The main objectives of Git are
All of the above
"Software engineers should not use their technical skills to misuse other people's computers."Here the term misuse refers to:
All of the mentioned
A software component
All of the mentioned
Select the option that suits the Manifesto for Agile Software Development
All of the mentioned
Selection of a model is based on
All of the mentioned
What are the various Testing Levels?
All of the mentioned
Why is Requirements Elicitation a difficult task?
All of the mentioned
An example of the risk involved in software development is
All of these are risks involved in software development.
The Git clone command does which of the following?
Both 1 & 2
In which testing level the focus is on customer usage?
Both Alpha and Beta
Which UML diagram is shown below?
Class Diagram
Which one of the following is not a phase of the Prototyping Model?
Coding
Which system model is being depicted by the ATM operations shown below:
Context model
Which of the following is not included in SRS?
Design solutions
Alpha testing is done at
Developer's end
Which of the following term describes testing?
Evaluating deliverable to find errors
Which of the following can be considered to be "bad smells" in the context of refactoring?
Every time we modify method m1(), we also need to modify method m2() method m() in class C is very long
A Use-case actor is always a person having a role that different people may play.
False
A stakeholder is anyone who will purchase the completed software system under development.
False
Agility is defined as the ability of a project team to respond rapidly to a change.
False
Architectural design is a creative process satisfying only functional-requirements of a system.
False
In XP, developers work individually on a release and they compare their results with other developers before forwarding that release to customers.
False
Incremental development in Extreme Programming (XP) is supported through a system release once every month.
False
The software life cycle can be said to consist of a series of phases. The classical model is referred to as the waterfall model. Which phase may be defined as "The concept is explored and refined, and the client's requirements are elicited?
Requirements
A simple way of looking at the spiral software life-cycle model is as a waterfall model with each phase proceeded by
Risk analysis.
After you've cloned the blog project repository, navigate to the project's directory using the command line. Once you're located inside the blog project, what is the very first thing you should do in a Git repository?
Run the git status command
Identify the Functional and Non-Functional components in each sentence and, please type the NFR for Non-Functional and FR for Functional Requirements.
Searching for events by keywords should also be possible. FR The system should display the availability of the tickets within five seconds. NFR Users must be able to browse for events by name or date or venue. FR Daily reports of ticket sales must be generated. These must be retained for two years. NFR All data is to be backed up nightly. NFR Users will select ticket prices from those offered and also specify the number of tickets they require. FR It should not be possible to double-book tickets (i.e. buy a ticket that has already been sold). NFR
Read the following paragraph and identify the correct statement. "Imagine that you were recently hired as a software engineer to a company that specializes in aircraft navigation control software. While orientating yourselves to the company's work practices, you observe that they, in fact, do not conduct a few tests that they should in order to comply with the relevant safety standard. When you inquire about this from the project manager, he dismisses it saying that those tests are really unnecessary (and takes an unreasonably long time to conduct, as well as being superfluous) and that they have managed with the other tests for so long, without any problems."
Since you are new to the company, and you are unfamiliar with the internal processes and politics, you should first find-out more about the issue and its background
SDLC stands for
Software Development Life Cycle
Explain what is meant by PRODUCT with reference to one of the eight principles as per the ACM/IEEE Code of Ethics?
Software engineers shall ensure that their products and related modifications meet the highest professional standards possible
What are the attributes of good software?
Software maintainability & functionality (Explanation: Good software should deliver the required functionality, maintainability. Software development is not an attribute but fundamental.)
White Box Techniques are also classified as
Structural testing
Which of the following requirements are non-functional requirements?
The login program for a website should be secure The word count program should be able to process large files
Conflicting requirements are common in Requirement Engineering, with each client proposing his or her version is the right one.
True
In Git, if you want to make your local repository reflect changes that have been made in remote (tracked) repository you should run the pull command
True
In XP, as soon as the work on a task is complete, it is integrated into the whole system.
True
In agile development, it is more important to build software that meets the customers' needs today than worry about features that might be needed in the future.
True
Requirements Analysis is an Iterative Process.
True
Requirements should specify 'what' but not 'how'.
True
True or false: Refactoring should be performed in small chunks or phases?
True
In which of the following testing strategies, the smallest testable unit is the encapsulated class or object?
Unit testing
Let's say you have a personal blog and want to change the color of the article headings. You edit the HTML files to give each heading a class edit the CSS file to add the new class and give it a color you save all files you run git commit on the terminal Will your code editor open up to let you type out the commit message?
False
"Consider a system where a heat sensor detects an intrusion and alerts the security company." What kind of a requirement the system is providing?
Functional
What type of relationship is represented by Shape class and Square?
Generalization
Identify the disadvantage of Spiral Model.
High amount of risk analysis
What is code refactoring?
Improving internal structure only, e.g. removing duplicate code
According to Agile manifesto, what carries more value?
Individuals and interactions over processes and tools.
Software Engineering:
Is an engineering discipline concerned with all the aspects of software production
Which of these is true of refactoring?
It can be applied to any programming language
Knowledge Quiz
Knowledge Quiz
Choose the correct word to fill in the blankets. Please note one word can be used several times. Load Balancing, API Gateway, Horizontal Scaling, Vertical Scaling, Micro-Service, IoT, Architecture Patterns, Caching, API- Application Programming Interface, Design Pattern, Sharping, Replication, Coupling, Cohesion, Caching
Load Balancing improves the distribution of workloads across multiple computing resources, such as computers, a computer cluster, network links, central processing units, or disk drives Micro-Service are a software development technique—a variant of service-oriented architecture. An architectural style that structures an application as a collection of loosely coupled services. Architecture Pattern are a general, reusable solution to a commonly occurring problem in software overall structure within a given context. Coupling is the measure of the degree of interdependence between the modules. Good software will have low coupling Vertical Scaling means that you scale by adding more power (CPU, RAM) to an existing machine, and Horizontal Scaling means that you scale by adding more machines into your pool of resources whereas.
MidTerm Exam
MidTerm Exam
Is the following a good commit message? "Add changes to app.js"
No
Scrum WorkFlow Use the keywords to fill the Scrum Workflow in the picture below: Sprint Review, Development Team, Sprint Planning, Retrospective, Sprint Backlog, Sprint, Daily Scrum, Potentially Releasable Product, Refinement Activities, Product Backlog, Scrum Master.
Refinement Activities Product Backlog Sprint Planning Sprint Backlog Sprint Daily Scrum Development Team Potentially Releasable Product Sprint Review Retrospective
In the maintenance phase, the product must be tested against previous test cases. This is known as __________ testing.
Regression
User requirements are expressed as __________ in Extreme Programming.
User Stories
Consider the following Statement: "The output of a program shall be given within 10 secs of event X 10% of the time."What characteristic of SRS is being depicted here?
Verifiable
Which one of the following models is not suitable for accommodating any change?
Waterfall Model
Which of these is not true?
Web-based systems have led to degradation of programming languages (Explanation: Web-based systems has led to important advances in programming languages.)
Please answer the following questions considering the following class diagram.
What is the relationship between Author and Person? Inheritance What is the association type between Author and Book? Multiplicity Can a Patron borrow more than 3 books? Give your reasoning. An author is a person. Superclass- subclass relation standard association, or Bidirectional No, s/he can borrow at most 3 library items
When is it appropriate to apply refactoring "extract method"?
When there is duplicate code in two or more methods When a class is too large When a method is highly coupled with a class other than the one where it is defined
The testing in which code is checked
White box testing
As per an IBM report, "31%of the project gets canceled before they are completed, 53% overrun their cost estimates by an average of 189% and for every 100 projects, there are 94 restarts".What is the reason for these statistics?
a. Lack of adequate training in software engineering (Explanation: Option b & c are a part of Software Engineering as a subject, hence option a covers them both.)
Identify the correct statement: "Software engineers shall
b. act consistently with the public interest." (Explanation: Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest and shall ensure that their products and related modifications meet the highest professional standards possible. Thus options a & c are ruled out.)
Match each lifecycle model with its definition, by drawing a line connecting
evolutionary prototyping build an initial small spiral assess risks at each stop waterfall standard phases
Given the following output from git branch: $ git branch barbara * footer-fix master richard sidebar social-icons Which branch is the active branch?
footer-fix
The command should clone the Game project repo and store it in a directory named games_project
git clone https://github.com/SWE-CS410/Game games_project
Remember that there are a number of branches in the repository, but that the command prompt displays the current branch. Now that we just created a new "footer" branch, does the command prompt display footer or master?
master
The SRS is said to be consistent if and only if
no subset of individual requirements described in it conflict with each other
You're deep in the weeds of the git log --oneline command and want to get out of the git log --oneline output and return to the regular command prompt. What do you press on the keyboard to return to the regular command prompt?
the q key
____________ identifies a typical interaction with a system and the actors (human or computer) involved in that interaction.
usecase
Which of the following method of Assert class checks that a condition is true?
void assertTrue(boolean condition)correct