Exam 1, Mod 1-5

Ace your homework & exams now with Quizwiz!

In the increment development approach, a software system is built in pieces and released frequently to users to collect early feedback. True or false

Approach: True

You run into a situation where specification of essential component interfaces are not available on schedule. What could be the potential risk here?

The development of some components would be delayed.

Dependency(usage)

Usage of a class Arrow, dashed line

Waterfall method cons

User Feedbacks: At the process end Make Changes: Inflexible, costly

Incremental method pros

User Feedbacks: From each increment Make Changes: Easy Quality Control: Full

Public - Software engineers shall act consistently with the public interest. Which of the following is a violation of the above principle?

Volunteer to use professional skills to design software for the dissemination of computer viruses.

What are benefits of doing pair programming.

Disseminate knowledge between peers, increase code quality, build trust between team members.

Colleagues - software engineers shall be fair to and supportive of their colleagues. Which is a violation?

Do not intervene in the career of any colleague by questioning his/her competence.

Profession - advance the integrity and reputation of the profession consistent with the public interest. Which is a violation?

Do not report significant violations of this Code if it is clear that doing so is dangerous.

Product - ensure that their products and their related modifications meet the highest professional standards possible. Which is a violation?

Document the solutions adopted for a project but not the potential problems discovered.

Association

Employee -> Office black arrow employee is associated with an office, or allocated to an office

In agile approach, tools and processes are not important.

False

Product owner

Focus on understanding the business and market requirements, express the voice of the customers Build and manage the product backlog, ensure everyone understands the work items in the product backlog Define requirements and their priorities

Customer

Outside of scrum team Use features in a product release and communicate changes with product owner.

Algorithmic cost modeling

PM = A * sizeB * M PM = person-month A - depends on organization B - ~1 - 1.24 communication and configuration management M - reflects product, process and people attributes

Cost Estimation techniques

1. Experience-based techniques: rely on judgements based on the manager's experience gained in past projects 2. Algorithmic cost modeling: use formuila to compute the project effort estimates based on the estimation of product attributes(size and process characteristics(experience of staff involved))

Good attributes of good software from customer perspective

1. Interoperability 2. Adaptability 3. Portability

Good attributes of good software from developer perspective

1. Modularity 2. Testability 3. Complexity

Good attributes of good software from Project Manager perspective

1. Reusability 2. Understandability

People management

1. Task-oriented people ~motivated by the work they do 2. Interaction-oriented people ~ motivated by the presence and actions of coworkers 3. Self-oriented people ~ motivated by personal success and recognition

Risk Management

1. Technology ~ A competitive product is marketed before the system is released (Prob: low, effect: catastrophic) 2. People ~ Key staff are ill and unavailable at critical times (Prob: Moderate, effect: serious) ~ Experienced staff will leave product before its finished (Prob: Moderate, effect: serious) 3. Organizational 4. Tools 5. Requirements 6. Estimation ~ Size of the software is underestimated (Prob: High, Effect: Tolerable) ~ Specifications of essential component interfaces are not available on schedule (Prob: High, Effect: Serious)

3 pillars of software engineering

1. Time 2. Budget 3. Quality

Good attributes of good software from user perspective

1. Usability 2. Reliability 3. Efficiency

Few documents that may be produced in software development

1. requirements specification 2. architecture design 3. interface design 4. test plan 5. user manuals

The COCOMO II early design model is defined as PM = A * Size^B * M. Given: A = 2.5, Size = 4, B=2, and M=1 What is PM?

40

Which is NOT a benefit of prototyping?

A prototype could be used to confirm to the users that all requirements are met.

The effort needed to implement a user story is measured by story points. What is correct?

A story with 8 story points requires more effort to develop than a story with 5 story points.

The agile approach can be used to develop...

A system in a rapid changing business domain.

Abstraction vs Specialization

Abstraction: process of factoring out the common features (attribute names and operations) of objects and using a class to define all common features Specialization: means creating a new subclass from an existing class. If certain attributes or operations only apply to some objects of a class, a subclass may be created.

In agile approach, documentation should be "just barely good enough" (JBGE)

Agile: True

Scrum Master

As the facilitator, coach the development team, the product owner, and the business on the scrum process and look for ways to fine-tune their practice of it. Facilitate the team for better creativity and try the best to improve the of the development team. Schedule the needed resources for sprint planning, daily scrum meeting, sprint review, and sprint

Management - managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. Which is a violation?

Ask a software engineer to not express ethical concerns about a project in a meeting.

Dependency vs association

Association treated as a "second class" Dependency implies a weaker relation NOT an attribute of the client, coded as an instance variable

Algorithmic cost modeling techniques are more accurate than experience-based techniques.

Cost: True

Sprints, Releases, product

Days>Weeks>sprints>releases>product (7) (4) (1...n) (1...n) (1)

By sprint review, the product owner can...

Get feedback from customers, inspect how well the product is performing, update the product backlog to reflect requirements changes.

Code refactoring refers to

Improving the code structures without changing the features

Which is true about process models?

In real projects, it might be beneficial to select the most appropriate process model as the basis and consider applying some best practices from other models as well.

What is true for processes.

In terms of process visibility, the waterfall model provides a clearer process to developers and managers.

What is true for approaches.

In the waterfall approach, engineers should start with well understood requirements.

class inheritance

Instances inherit from classes (like a blueprint — a description of the class), and create sub-class relationships Unfilled arrow, solid line

At the end of the semester, each student needs to fill an online evaluation form to provide a review of the performance of each team member. The teamwork factor of a student is the average of his/her teammates' evaluation, and will be used to calculate that student's individual grade on the course project. Students are asked to provide their evaluation objectively and professionally. Which principal is violated?

Judgement - shall maintain integrity and independence in their professional judgement.

A software consultant is negotiating a contract with a local community to design their traffic control system. He recommends they select the TCS system out of several available systems in the market. The consultant fails to mention that he is a major stockholder of the company producing TCS software. Which code has been violated by the consultant?

Judgment - maintain integrity and independence in their professional judgement

Client and Employer - act in a manner that is in the best interests of their clients and employer consistent with the public interest. Which of the following is a violation?

Keep private when a project is likely to fail, to violate intellectual property law, or otherwise to be problematic.

Team velocity

Measure of amount of work a team can tackle during a single sprint. Calculated at the end of a sprint by totaling story points for all fully completed user stories Used for determining how much work can be comfortably accepted in the next sprint Ex. 3 sprints of 70,85, and 100 story points have (70+85+100)/3

self - shall participate in lifelong learning Which is a violation?

Only apply best practices learned in college courses.

Configuration method

Order feature developed: Most important or urgent features have higher priorities Applicability: ~ web-services ~ framework-based applications

Algorithmic cost modeling COCMO II Early design model

PM = A*SizeB*M A = 2.94 (initial calibration) B ~1.1-1.24 ~Depends on: (novelty of project, development flexibility, risk management approaches, process maturity) M = PERS*RCPX*RUSE*PDIF*PREX*FCIL*SCED PERS - personal capability RCPX - product reliability and complexity RUSE - the reuse required PDIF - platform difficulty PREX - personnel experience FCIL - the team support facilities SCED - required schedule

Key staff are ill and unavailable at critical times. What is the risk type of this case?

People

The COCOMO II early design model is defined as PM = A * Size^B * M. What is the meaning of PM?

Person-Month

Requirements changes as the business changes. What are NOT appropriate actions to respond to requirements changes?

Postpone the consideration of the requirements changes until some developer becomes available.

Waterfall method pros

Process Visibility: Clear Quality Control: Full

Incremental method cons

Process Visibility: Not visible

Configuration method cons

Process Visibility: Not visible Make Changes: Inflexible, costly Quality Control: Low

In the waterfall software process model, feedback activities is limited; most feedback is received at the last stage where making changes to the system can be very costly. True or False.

Process: True

Plan-driven development and the waterfall process are identical not used by other software processes.

Processes: False

In the SCUM process, which role expresses the voice of the customers of a project?

Product Owner

Which is not true about the SCUM process?

Product backlog may not change over time

Incremental Method

Prototypes Used: Increments as prototypes Order feature developed: Well-understood, most important/urgent features are developed first and tested the most Applicability: ~ interactive systems ~ business software ~ mid-size systems

Waterfall method

Prototypes Used: clarify ambiguities then thrown away Order feature developed: Poorly understood first Applicability: ~ systems with well-understood requirements ~ safety-critical systems ~ embedded systems ~ real-time systems

Prototyping is an important technique in software engineering. Which isn't true?

Prototyping is not useful for user training.

When your team is working on a system, a competitive product is released into the market. How should you proceed?

Report to the customers and make a rational decision whether to buy it or proceed.

Configuration method pros

Reuse code

A project management plan covers...

Schedule of tasks, the breakdown of a work item into tasks, who will do what tasks, a list of work items to be done.

Composition

Stronger than aggregation whole and parts have coincident lifetimes

Aggregation

Stronger than association whole-part relation

The integration and configuration approach is best for...

Systems with a service-based architecture

Refactoring

The process of modifying a working program to improve function interfaces and other qualities of the code. 1. Renaming attributes/methods 2. Replace conditional statement with polymorphism 3. Encapsulation 4. Generalize type (interfaces or abstract super classes) 5. Information/implementation hiding

When prototyping is used in the waterfall software process, which is NOT true.

The prototype can be used as a good basis to develop the production system.

When prototyping is used in the incremental development approach, it is called evolutionary prototyping because

The prototype is continuously refined and augmented with new features and eventually becomes the production system. The quality of the prototype is rigorously reviewed every time its released to users for comments.

In project scheduling, why is it important to minimize task dependencies

To avoid delays caused by one task waiting for another, to make optimal use of workforce, to enable concurrent tasking

Development team

With differing skill sets, team members (designers, developers, and testers) cross-train each other so that no one person becomes a bottleneck in the delivery of work. Using their historical velocity as a guide, forecast how much work they believe they can complete, pull work items off the product backlog and generate a sprint backlog.

Judgement - maintain integrity and independence in their professional judgment. Which is a violation?

Within or beyond your areas of competence, endorse documents when asked by your employer.

One agile principle is called simplicity where the amount of work not done should be maximized. One aspect is to put all the nice-to-have features into the "work-not-done" bucket, because those features are not must-have. It also means:

Write clean and simple code, write just good enough documents.

class interface

a block of code containing the specification of a class, i.e. its member data and prototypes for its member methods Unfilled arrow, dashed line

Plan-driven development

approach to software engineering is based around separate development stages with the outputs to be produced at each of these stages planned in advance ~typically used in waterfall process, incremental process is possible

Generalization (bottom-up process)

process of extracting shared characteristics from two or more classes, and combining them in to a generalized superclass.

Sprint Backlog

~ development team owns ~ during each sprint planning session, team returns back to product backlog to pick recently prioritized user stories for sprint. ~ team works on dividing user stories into further tasks.

Product Backlog

~priority list of all work items (user stories, user requirements, use cases) ~ Product owner owns ~ DEEP - detailed appropriately, estimated, emergent, and prioritized


Related study sets

Fundamentals of Nursing Practice final exam guide

View Set

Chapter 43: Grief and Loss PREP U and questions

View Set

health assessment exam 1 &2 prep u ?

View Set

Ch 12- Pulling It All Together- Dietary Guidelines

View Set

Domain 1: Security and Risk Management : Risk Management Concepts

View Set

Principles of Info Security (6th Ed.) - Chapter 7 Review Questions, Chapter 7 Review Questions

View Set