Software Engineering Exam 1

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

How does a feature's story begin if it has been evaluated and prioritized?

"As a sales rep, I must be able to..." (or incorporate any other job title)

Give three reasons why Extreme Programming, as envisioned by its developers is not widely used.

1. Extreme programming if conducted by the books has a collective team with no project manager. Each person is responsible to keep the team in check. Though, this typically does not work because the development team does not have time to worry about financing, schedules, hiring, etc. Developers would rather have management so they can work on developing alone. 2. Extreme programming runs on the basis that the customers understand the system. For example, they have the motto "YAGNI" (You Ain't Gonna Need It), which assumes the customer will give everything they need, and developers can ignore the rest. Sometimes developers have to put in their two cents about reliability and security, which defeats the purpose of YAGNI. 3. Pair programming was proposed by the developers of XP. Though since there is no evidence supporting pair programming, management sees it as a waste of time and money.

Explain why the fundamental objectives of agile software engineering are consistent with the accelerated development and delivery of software products.

Agile directly involves the customer, which allows them to review each increment to make sure they are getting what they want. If they realize they want something different, agile teaches us to embrace change and switch paths. Agile is faster at change because of incremental development. It doesn't waste time planning out the entire project because it expects changes to be made partway through. In order to run efficiently, agile pushes for us to maintain simplicity. This pushes developers to stay on track and not make anything over complicated if it does not have to be. Finally, we focus on the people, rather than the development process. Different people have different strengths and agile uses this to its advantage. This way, for each increment, we can put the strongest person on as lead developer.

What is a Scenario?

a narrative that describes how a user or a group of users may use the system

Why are daily scrums likely to reduce the time that is normally required for new team members to become productive?

Daily scrums keep people in check. If you are brand new to a company, you may not know how projects run. A scrum each morning will give you a task to complete by the end of the day (or another set time period). By the end of a scrum, each person should have an action plan so everybody knows what they need to do that day. If I was a new team member, daily scrums would also make me more comfortable to ask questions, so I understood exactly what needs to be done.

T or F: The customer is not involved in the development process when the agile methodology is used

False

Explain why there are fundamental ideas of software engineering that apply to all types of software systems.

First, systems should be put into a development process. This means extreme documentation is laid out on how the system will run. This allows for the project to be less overwhelming and easier to handle a step at a time. All types of software systems must be dependable and user friendly. Making sure the user can rely on the software to work properly and in the best way possible will make a software successful. Lastly, reusing software is a great way to expand upon what has already been written. This is efficient and allows for societal growth. These all apply to all types of successful software systems because they make the user experience better, make it more marketable, and make it more manageable for the developers.

What applications are "Customized"?: GPS Navigation Laundromat machine maintenance schedule system Malware detector/ eliminator Heat treatment furnace job scheduler

Hear treatment furnace job scheduler Laundromat machine maintenance scheduler system

When is a software project a failure before it even "gets off the ground?"

If it will create more work for the user before the rollout

What applications are "Generalized"?: Nuclear fusion control system Police dispatch system Image formatting system for various display types Word Processor

Image formatting system for various display types Word Processor

What is the most important difference between generic software product development and custom software development? What might this mean in practice for users of generic software products?

In custom software development, the customer generically has full control over the product. The customer chooses the updates and what will be done to the software. Generic software development is when the developer has full control over the product. For example, the developer chooses when/ what updates will occur, will decide when it is put on/ taken off market, and decides how it will function. Users of generic software products will have to comply with developer's changes and will have to work around the updates the developer wishes to complete. This may also mean if the developer takes the product off the market, the user will have to figure out a new software to work with.

Why is it important that each sprint normally produces a potentially shippable product increment? When might the team relax this rule and produce something that is not ready to ship?

It is important to always have deliverable because usually stakeholders review each sprint. They want to see their money being put to good use. Also, a shippable product is usually what a customer looks for when seeking improvement on the project. A team may relax this rule if they have an extremely important goal to complete. This goal may be key for all other parts to work properly. Though, they would want this to be ready to ship out in the next sprint.

Scrum is designed for use by a team of five to eight people working together to develop a software product. What problems might arise if you try to use Scrum for student team projects in which members work together to develop a program? What parts of Scrum could be used in this situation?

Problems: 1. Students have busy schedules. You may not be able to have daily scrum meetings due to conflicts in schedules. 2. Students have work and other classes to worry about too. A test may come up or they may have to be called into work. These outside variables will affect their productivity in scrums and the sprint. Benefits: 1. Planning and organizing is extremely important for new Software Engineers. Having a scrum will help each student know what needs to get done by the next time they meet. 2. Students will be able to review each sprint with their professor so they can learn from it. A professor's point of view will help the student prepare for the real world.

What are the four important attributes that all professional software should have? Suggest four other attributes that may sometimes be significant.

The four main attributes all professional software should have include maintainability, dependability and security, efficiency, and acceptability. Maintainability is when software should be able to easily change with the customer's needs. Dependability and security is when a software should be available and secure for customers. Efficiency allows a software to use resources and time wisely. Lastly, acceptability allows a software to be useable and easily understood to the audience it is intended for. Four other attributes that can be significant are correctness, robustness, reusability and scalability.

Explain why professional software is not just the programs that are developed for a customer

There are multiple types of software development. There is project based which is when you are developing a custom software for a specific customer. Though, there is also product based. This has no external customer deciding the framework of the product. Instead, the developers create a generic product they think a population will enjoy. The developers have control over the product and have all the say on its changes. Customer specific software often limits a developer's range. Having not customer specific software allows for greater levels of software development to exist.

Which model is the most unforgiving if a mistake is made in the requirements phase?

Waterfall

What is a Story?

a narrative that describes how a user or a group of users may use the system, which is primarily used in SCRUM planning

When involving users in the development of a scenario, we usually want to start with _______ scenario

an imaginary

A persona is

an imaginary user envisioned in using the system

According to agile SCRUM methodology, what should be the starting point of software product design and development?

list of stories

When might the management structure of a Scrum team change?

may change based on the sprint and the required specializations to complete that sprint

Where are participants during a typical Scrum meeting?

standing up


Kaugnay na mga set ng pag-aaral

Integrated Math 2 Ch. 10 Circle, Integrated Math 2 Geometry Review Vocabulary, Surface Area and Volume (VOCABULARY), Quadratics, Quadratic Vocabulary, Trigonometry, Geometry Vocabulary Final Review

View Set

Chapter 57, Nursing Management: Stroke

View Set

2.1 Explain company-wide strategic planning and its four steps

View Set

Correlation and Linear Regression

View Set

Traditions and Encounters Chapter 23

View Set

Module2 Ideas and Execution of small business

View Set