• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/50

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

50 Cards in this Set

  • Front
  • Back
  • 3rd side (hint)
Of the 7 qualities, which two are important to the developers, but not to the clients/user. Brieflyexplain each choice
Maintainability and reusability, a software that can be reapplied and easily maintained backend is good for any developer


Usability• Efficiency• Compatibility• Reliability• Maintainability• Security• Reusability
Of the 7 qualities, which two are important to the users, but not to the developer. Briefly explain each choice
Usability and compatibility, for user, it needs to be user friendly and is able to be compatible with their device.
Usability • Efficiency • Compatibility • Reliability • Maintainability • Security • Reusability
Select an aspect that is the most important to data processing systems.Briefly explain each choice.
Security, most data system are used for businesses to store and analysis data. (Banks)
Usability • Efficiency • Compatibility • Reliability • Maintainability • Security • Reusability
Select an aspect that is the most important to real-time systems. Brieflyexplain each choice.
Reliability, must be reliable in delivering data immediately, cannot have no down time.
Usability • Efficiency • Compatibility • Reliability • Maintainability • Security • Reusability
Select an aspect that is the most important to open source projects. Brieflyexplain each choice
Reusability, open source are very useful for developer as the code can be reused for future projects.
Usability • Efficiency • Compatibility • Reliability • Maintainability • Security • Reusability
What is the impact of highly coupled code with respect to the sevenaspects of software quality? (i.e. Does undocumented code impact them ornot, and if so, which does it impact and how?)
hard to understand the code that interconnects among classes, this leads to decrease in maintainability and reusability/ This interconnection also affects reliability and security, a simple mistake/bug can shut down the entire software.
Usability • Efficiency • Compatibility • Reliability • Maintainability • Security • Reusability
What is the impact of highly cohesive and modular code with respect tothe seven aspects of software quality? (i.e. Does undocumented codeimpact them or not, and if so, which does it impact and how?)
Highly cohesive code improves reusability and closely relate all the responsibilities, data, and methods of a class are to each other. This also increase efficiency.
Usability • Efficiency • Compatibility • Reliability • Maintainability • Security • Reusability
What is the impact of undocumented code bases with respect to the sevenaspects of software quality? (i.e. Does undocumented code impact them ornot, and if so, which does it impact and how?)
It will decrease maintainability and reusability
Usability • Efficiency • Compatibility • Reliability • Maintainability • Security • Reusability
Why are engineering principles applied to software development?
Engineering principles are needed to

-co-ordinate a team so large systems can be understood


-development practices have been standardized


-engineering is a licensed profession and ethical/personal responsibilities are applied

What do the letters represent? Identify the critical path.



Letters represent the corresponding task.





Critical Path: Path through chart such that if any deadline slips, the final deadlineslips (where all events have ECT = LCT (usually there is only one)
Given the above PERT chart…

1.what are the dotted lines used for?


2. what is the span of time in which task J could be completed?




3. identify the critical path.

2.Dotted lines always have a duration of 0 and show the dependency between 2 events where no activity is performed.



3. Span of time, earliest and longest





What is the relative strength of a PERT chart compared to a Gantt chart?
1.All us to show dependencies explicitly

2.Allow us to calculate critical path


3.Can tell us how one task falling behind affects other tasks

.
What is the relative strength of a Gantt chart compared to a PERT chart?
1.Allow us to record progress of project

2.Allow us to see what tasks are falling behind


3.Allow us to represent overlapping tasks

What is a strength of Pivotal Tracker compared to PERT charts?

Pros:


1. Real time collaboration


2. Easy to use with drag and drop user interface




Cons:


1.Well-suited only for Agile & Scrum projects


2. Complex with learning curve

What are Software Process Models?
1. Optimistic approach

2. Waterfall


3. Spiral


4. Agile

Compare and contrast the Waterfall process model to the Agile scrum model in two different ways.
Compare:

1. Waterfall lack in developer/user interaction vs. Agile


2. Agile is used for high risk, requirement changing projects


3. Waterfall require lots of documents vs agile


Contrast:


1. Agile's Sprints and Waterfall's stages


2. Requires testing before each stage, Agile is rapid-test based development



What is an appropriate software process model for an individual, undergraduate programming assignment? Explain your answer.
Conceptually, waterfall, god documentation and flow of planning (flowcharts) but realistically the optimistic approach (code and fix) is used.
What is an appropriate software process model for a six-person start up ( or the weatherapp)? Explain your answer.
Agile software development. It is most suited for teamwork among small groups and it is suited for projects that involve uncertain, changing requirements or other high risks
What is a good software process model for developing the guidance system and analysis software for a space probe? Explain your answer.
The spiral model, it requires constant updates performs further requirements, design, implementation and review. Loops.
Explain how a sprint differs from pair programming in two different aspects.
1. Pair programming involves two people working closely together while a sprint can be involved with a group of programmers



2.Pair programming is implemented in eXtreme programming while sprint is scrum.

Explain how contingency planning differs from risk mitigation.
Risk mitigation: you spend resources to reduce the risk prior to it happening while contingency continues with current set of actions and control the impact as risk event looks like occurring.
Define these terms:

1.Requirements inflation


2.Turnover of employees


3.Specification Breakdown



1.As the project progresses more and more features that were not identified at the beginning of the project emerge that threaten estimates and timelines.



2.Key personnel leave the project taking critical information with them that significantly delays or derails the project.




3.When coding and integration begin it becomes apparent that the specification is incomplete or contains conflicting requirements.

For the following, identify if it is an example of a functional or functional-requirement:

1. The program will be developed in Java.


2.The program will require a user to log in.


3.The program needs to be “on brand” – it should match the graphical design of the company in colour choice, fonts and display its logos.


4.The program will save log data to a centralized server.


5.The program development will follow the principles of test-driven development.


6. The program must build using Maven software.


7. Users must be able to interact with the system using eye-tracking software.


8. Data reports generated by the system must be savable in PDF or plain textformats.

1.Non-functional

2.Functional


3.Functional


4.Functional


5.Non-functional


6.Non-functional


7.Functional


8.Functional

A functional requirement describes what a software system should do, while non-functional requirements place constraints on how the system will do so.
How does the requirements gathering and specification differ between waterfall and agile methodologies?
Waterfall- generate specification early documents during early stages

Agile - continuously perform requirements engineering

What is domain? How is domain analysis valuable to the requirements engineering process?
-Faster development

- Improved communication between stakeholders


-  Better system


-  Anticipation of extensions

Domain –  the general field of business or technology in which the software will be used
How does story-driven development differ from test-driven development?
Test driven:

-short development cycle


-first write test, then write minimum amount of code to pass that test




Story driven:


-develop through fixed iteration cycle


-have a velocity to complete before testing

Velocity:   Developers estimate how much work (in story points) they'llbe able to complete each iteration!

What are view points? 3 -Viewpoints for:


Developing a system like OWL for the managements and release of course material through a website for a University.

Professors

Developers


Students



View points
What is an iteration, in the context of software development?
In story driven development, iteration are a set timeframe by the developers to complete the required user stories
Independent in INVEST and how to fix

Dependent Stories: 


The customer should be able to pay with Visa


–  The customer should be able to pay with MasterCard


–  The customer should be able to pay with AmEx




Solution:


–  A customer can pay with one type of credit card


–  A customer can pay with two additional types of credit cards

Negotiable in INVEST and how to fix



Good example:


–  A company can pay for a job posting with a credit card.


Note: accept Visa, MasterCard, AmEx. Consider Discover.




Bad:


A company can pay for a job posting with a credit card.!–  Note: Accept Visa, MasterCard, and AmEx. ConsiderDiscover. On purchases over $100, ask for card ID numberfrom back of card. The system can tell what type of card itis from the first two digits of the card number. The system can store a card number for future use. Collect the expiration month and date of the card.

Stories are not contracts with too much details.
Valuable in INVEST and how to fix
Good examples:

-Up to fifty users should be able to use the application with a 5-user database license


–  All errors are presented to the user and logged in a consistent manner.




Bad examples:


–  All connections to the database are through aconnection pool


–  All error handling and logging is done through aset of common -classes

User stories should be valuable to the users and customers not the developer
Estimable in INVEST and how to fix

Reason why it is unestimable



1.Developers lack domain knowledge

2. Developers lack technical knowledge


  -send a developer on a “spike”!


3. The story is too big


-  make an “epic”, break it up into substories

Developers should be able to estimatethe size of a story
Small in INVEST
Small - A Job Seeker can post her resume



Big –  A Job Seeker can enter a date for each community service entry on a resume


–  A Job Seeker can edit the date for each community service entry on a resume


–  A Job Seeker can enter a date range for each prior job on a resume


–  A Job Seeker can edit the date range for each prior job on a resume




GOOD


–  A user can create resumes, which include education, prior jobs, salary history, publications,presentations, community service, and an objective


- A user can edit a resume


–  A user can delete a resume


–  A user can have multiple resumes


–  A user can activate and inactivate resumes!

Stories that are too large or small make planning difficult
Testable in INVEST
Untestable stories commonly appearwith nonfunctional requirements
How does software-architecture design differ from object-oriented design?
Software-architecture divides project into sub-systems into layers. Communicates only to central database and driven by events.



OOD focuses on identifying classes' functions, attributes, and generalize them

In Java, what is the different between an interface and an object?

A java object is a class with its own attributes.

A interface allow otherwise unrelated classes(objects) to implement the same set of methods
Give an example where a generalization would be a better decision than an interface.
when you want to expose the complete interface (all public methods no less) of TypeA(parent) such that TypeB(child) can be used where TypeA is expected .
Give an example where an interface would be a better decision than a generalization.
Does TypeB only want only some/part of the behavior exposed by TypeA? Indicates need for Composition.



ex. A bird only needs the fly function of a Plane (parent class).

Singleton
private constructor and make it return nothing (){} empty



have a method call returnObject which return the object created by

The Swing libraries for Java belong to which component(s) of the MVC pattern?
View and Controller

In UML diagram what does:


1.Open arrow

2.Diamond

3.filled in diamond


Mean?

1.Generalization

2.Diamond = aggregate

3.Filled in = composition

Composition is to aggregate as inheritance is to generalization

Composition involved deletion, if A die, B die

In user interface design, there is a difference between the utility of aprogram and the usability of a program. Compare and contrast these two terms.
Utility: raw capabilities of the system to allow the user to achieve their goal(s)



Usability: the user can learn and to use the raw capabilities easily



Given the main user interface bar of Amazon’s website:



1. list three metaphors they make use of in their conceptual model




2. Identify 2 GUI design principles they adhere to, and 1 they could do better on, citing specific examples in the given GUI components.




3. Identify 2 GUI components that rely on affordance, rather than specific directions to the user.

1.The search function for the website is like a store search by department, etc..

2.Provide all necessary help, Do no rely on usability guidelines, needs improvement: Simplified information present. Remove ads like try primetime




3. Affordance, the French language setting and the search bar.



Affordance: user knows from common sense
Affordance: user knows from common sense
Look and feel
Look is any graphical design

Feel is the functionality of the components

In your group project, you worked with an external API which youcommunicated with using the internet. Many projects rely on externaldata sources for their execution, which can make testing code challenging.During testing, how would creating a stand in of some kind - using stubsor Mock objects for the web service (or any external data source) - havebeen beneficial to the testing process? Give 2 ways, and briefly explain each.
1.Test when internet or API is down.

2. Test the interface/GUI when you have not yet written the code to retrieve the data.

In what way can GitHub be used to implement continuous integration for a project?
GitHub can be used to store certain stages of development after each integration.
Condition Coverage
condition must evaluate once totrue and once to false
Node coverage
Every part of flow chart have been through, diamond and rectangles
What is an advantage of functional (black-box) testing over structural(white-box) testing?
-Ensures program meets requirements



-Test boundaries, etc., explicitly

What is an advantage of structural (white-box) testing over functional(black-box) testing?
•  Tests all code and implementation details
•  Coverage metrics can give us an idea of the extent to which our code is tested!