SWE 3313 FINAL EXAM LATEST 2024 ACTUAL
EXAM QUESTIONS WITH VERIFIED DETAILED
ANSWERS (ALREADY GRADED A+)
In many cases, a company's product may
... [Show More] have change before the
software product is released using traditional development methods.
Does Agile Method address this issue and if so, how? - ANSWER-Yes. Agile
Methods do address this issue because unlike traditional development
methods, agile are really good with product requirement changes. Agile
methods involve making changes to the product as more and more
requirements become known
Explain how the requirements prioritization list is used to prune the
requirements to be developed. - ANSWER-A requirements prioritization
list is basically a table that lists different requirements as priority 1 and
so on, so it is then known which requirement(s) need the most attention.
Explain WMC. - ANSWER-WMC is a weighted sum of all the methods in a
class. It basically measures how prone a program is to error. The more
lines of code there, the more prone it is to error, and thus a bigger WMC.
Important nontechnical concerns in large software development are: -
ANSWER-estimation and planning
2
What must we understand before jumping into implementing the solution?
- ANSWER-Problem description and the requirements
what is the main areas that need to be coordinates in large software
projects? - ANSWER-Process, product, and people
List four factors that should be considered in deciding how many postrelease people will be needed. - ANSWER-Some of those factors are: the
number of anticipated users and customers, the size of user training, the
size of support personnel training, and the number of development people
committed to supporting the system.
From the definition of software engineering, list three areas that software
engineering must touch on. - ANSWER-Software engineering must touch
on project coordination and management, particular methods and/or
strategies, and technical and business procedures.
Provide examples of project plan activities. - ANSWER-Some of these
activities are: establishing and/or clarifying the project requirements,
estimating the amount of time, people, and resources required to carry
out the project, determining the outcome(s) of the project, and identifying
any project risks, if any.
What is test-driven programming, and which Agile process advocates it? -
ANSWER-Test-driven programming is this process in which test cases are
written before the actual code. The cases have to be run all the time, so
that customers can write functional acceptance test to confirm when the
3
features are finished. Test-driven programming is one of the 12 key
practices of XP methodology, which is an Agile process.
Explain AOP. - ANSWER-AOP stands for aspect oriented programming. This
approach to programming is aimed towards more modular, cohesive, and
well-defined interfaces or coupling in the design of a system. This concept
is geared towards modularizing the implementation of the cross-cutting
concerns in OO programming into a single, cohesive unit.
What are the three core values of Extreme Programming? - ANSWERThree core values of Extreme Programming are: communication, courage,
and simplicity. Communication allows for design requirements to be
exchanged between the team and with customers as well. Simplicity is the
concept involving that the software design/code is as less complicated as
possible. Courage means having the balls to make difficult decisions when
it comes to the software when absolutely necessary. [Show Less]