Describe why process in general is a vital part of


Software Engineering

Part 1: Testing

Part 1A-In your own words describe unit, integration, regression and system testing. Explain how they are related.

Part 1B -The following class diagram shown below (also available via this link - https://www.lucidchart.com/documents/edit/782e3a3d-718c-4e3f-b36b-7ccb0f289648?demo=on#)models a generic online shopping cart.

For this class diagram clearly define:

- 8 unit tests(8 x 2pts = 16 pts)
- 6 integration tests (6 x 2 pts = 12 pts)
- 1 system test(1 x 2pts = 2 pts)

Part I Hints:

1. For each test make sure to provide a goal for the test along with the expected result(s).
a. Remember to test that your system passes when it should AND fails when it should.
2. Make sure to describe how your system tests should be run.
3. Make sure you answered ALL parts to each question!

1104_Class Diagram.jpg
Figure 1: Part I Class Diagram - Generic Shopping Cart

Part 2: Making the Connection

Continuous integration, managing change, configuration management, version control, maintenance, evolution and deployment are seven concepts that are vital to the software engineering process. Failure to understand them and the relationships/dependencies between each topic can cause significant issues on or failure of a software project. For example - "Software maintenance and evolution occur after deployment of the software solution." Part 2 of the final allows you to: 1) demonstrate your comprehension of these topics, 2) show that you understand the connections/dependencies between the topics and 3) understand situations in which they might be used.

Note: When I mention "section title concepts or topics" in Part II questions, I am referring toContinuous integration, managing change, configuration management, version control, maintenance, evolution and deployment.

Part 2A:

- Provide the followingin essay format:

o What each Part II section title concepts means
o Importance of each topic to software engineering
o Connections/dependencies between these topics
o Potential issues with not applying these concepts correctly
o One example from any project where at least three of the seven topics were used - it may be positive or negative meaning it can be a case where these topics helped your team or it may be a case where there was a lesson learned as to why these topics are important. Your example should: 1) Utilize at least 3 of the section title concepts.

Hints:

- Did you answer each bulleted item for Part 2 title completely?

o Did you demonstrate:

- a good understanding of each topic (not just a definition)
- a good understanding of how these topics are related and depend upon one another
- a good understanding of issues that can occur if they are not used correctly
- how using or not using these topics correctly helped/hurt your recent project

o Hint: Maintenance and Evolution are NOT the same thing!

Part 2B: Describe a hypothetical software engineering-related situation where all seven of the Part 2 section title concepts would be used. Be certain to show that you understand what the topics mean, how they are related, and how they would be applied to your scenario. Your essay should be approximately one page single-spaced. NOTE: This example is to be of your own creation; it cannot be related to ANY example provided online, from this course or another student.

Hints:

- Did you clearly describe a situation where all these topics would be applicable?

- Did you demonstrate your understanding of how the Part II section title concepts, how they are related, and dependencies between them and how they are applied?

- You should be using the section title concepts in your response - make sure to address ALL of them!

o Here is an excerpt from an example scenario which includes several of the topics - "...a bug was found after the version 1.0 release was deployed to the client site so our CM team made a branch in our subversion (VC) repo to support the hotfix..."

Part 3:

1.

a.  In your own words, define top-down and bottom-up integration testing.
b. Devise a simple example that shows your understanding of both topics.

2. True of False. For each ‘true' statement briefly define the main topic of the statement, and foreach ‘false' statement, briefly state what is incorrect. (Note: failure to include justification of your response will result in no credit for that item.)

a. While accommodating change is challenging when using the waterfall model, one of its major pros is that it facilitates periodic deliveries to the client for feedback.

b. Your development and production deployment environments are always the same.

c. Testing should begin after development is complete.

d. A good version control system will allow developers to see changes made at both the file and directory levels.

e. Regression testing always requires that all previous tests be re-run to ensure nothing was broken when a change is made.

f. Requirements are almost certain to change throughout a software project.

3.  Describe why process (in general) is a vital part of producing high-quality. Be sure to use the generic software development lifecycle terminology in your description. (No more than ½ page).

Request for Solution File

Ask an Expert for Answer!!
Software Engineering: Describe why process in general is a vital part of
Reference No:- TGS01712213

Expected delivery within 24 Hours