Flashcards
Software Engineering Test 2
Cards in this deck (104)
- 1What are the two extreme approaches to team organizationDemocratic Teams and Chief Programmer Teams?
- 2What is Brooks Law?Adding Additional Programming personnel to a team when a product is late has the effect of making the product even later
- 3What is the basic underlying concept of the democratic team approach?egoless programming
- 4What is the democratic team approach?-programmers highly attached to code.
-see modules as an extension of themselves.
- do not try to find all the errors
- there is a proposed solution. - 5what are the difficulties with the democratic team approach?management may have difficulties due to that teams are hard to introduce in an undemocratic environment.
- 6what are the strengths of a democratic team approachenormously productive
work best when problem is difficult
they function well in a research enviorment - 7what is the classical chief programmer team?six programmers, only 5 lines of communication
- 8what are the two key aspects of the chief programmer teamspecialization and hierarchy
- 9who is a successful manager and a highly skilled programmerchief programmer
- 10who does the architectural designchief programmer
- 11who allocates the coding amongst team memberschief programmer
- 12who writes the critical or complex sections of the codechief programmer
- 13who handles all the critical interface issues?chief programmer
- 14who reviews the work of other team memberschief programmer
- 15who is personally responsible for every line of codechief programmer
- 16Who is necessary only because the chief programmer is human?back up programmer
- 17who must be in every way as competent as the chief programmer and must know as much about the projectback-up programmer
- 18who does the black box test case planning and other tasks that are independent of the design processback up programmer
- 19who is a highly skilled well paid central member of the chief programmer teamprogramming secretary
- 20who is responsible for maintain the program production library(documentation)programming secretary
- 21what must be included in the documentation done by the programming secretarysource code listings, JCL, and test data
- 22When programmers hand their code to the programming secretary, what are they responsible forconversion to machine-readable form
compilation,linking,loading, execution, running test cases. - 23what do programmers donothing but program
- 24when was the chef programmer team concept used?1971
- 25who first used the chief team programmer conceptIBM
- 26what was the first project the chief programmer team concept was used on?New York Times Clipping Project
- 27Why was the new york times project such a success?-prestige project for ibm
- extreme strong technical backup
- first real trial for PL/I
-strength of team programming approach
F Terry Baker - 28Who was the F Terry Baker-Chief programmer for NYT project
-skills and enthusiasm carried the project. - 29What are the impracticalities of THE CPT approachmust be highly skilled programmer and successful manager
-shortage of highly skilled managers
-people unlikely to possess both qualities - 30What are the success of the modified chief programmer teamsmany successes
- 31what are the weaknesses to the modified chief programmer teamsno success comparable to the new york times project
- 32What are the strengths of the modern hierarchical programming teamsTeam Manager/Team Leader structure obviates need for chief programmer. Scales up. Supports decentralization when needed.
- 33what are the weakness of modern hierarchical programming teamsproblems can arise unless ares of responsibility of the team manager and the team leader are clearly delineated.
- 34what are the strengths of the synchronize and stability teamencourages creativity
ensures that a huge number of developers can work towards a common goal - 35what are the weaknesses of the synchronize and stability teamsno evidence so far that this method can be used outside of microsoft.
- 36what are the strengths of agile process teamsprogrammers do not test their own code.
Knowledge is not lost if one programmer leaves.
Less-experienced programmers can learn from others.
Group ownership of code. - 37what are the weaknesses of agile process teamsstill too little evidence regarding efficiency
- 38What are the strengths of open-source teamsa few projects are extremely successful
- 39what are the weaknesses of open-source teamsnarrowly applicable
must be lead by suberb motivator
requires top calibar participants - 40why does an open source project succeedThe nature of the target product,
The personality of the instigator, and
The talents of the members of the core group - 41What do software professionals join open source projectspromotion
to get a better job elsewhere - 42Why do individuals volunteer for open source projectsenjoyment of accomplishing a worthwhile task
Learning experience - 43Who are open source projects usually staffed byteams unpaid volunteers
- 44How do open-source teams communicatecommunicate asynchronously (via e-mail)
- 45What are the problems of object orientation software developmentcorportations are becoming more information based
information is critical to all business decisions
information is increasing faster than the capacity to process it - 46More problems with object oriented software developmentSoftware project costs are going up and hardware costs are going down
Software development time is getting longer and maintenance costs are getting higher
Software errors are getting more frequent
Software projects were characterized by re-solution, re-starts, cost overruns, time overruns, and content deficiencies - 47What does a customer want in a solutionMeets functional requirements
Adapts to the rapidly changing business environment
Fits the run time (time/space) constraints - 48What does the customer want in a software productMaintainable
Developed within budgeted resources
Designed with appropriate longevity - 49What are the problems with the software that the customer is gettingThat Costs More To Maintain Than Build
That Is Of Poor Quality
That Costs More Than Anticipated
That Is Delivered Later Than Desired
With Less Functionality Than Requested - 50What is object orientationObject combines data and behavior (functions)
Makes certain promises:
Introduce fewer errors in the analysis and design phases (the earlier in the software development process that errors are identified, the greater the cost savings)
Reduce long-term maintenance costs
Reduce delivery times and costs - 51What is an individual artistic programA program was written by a single individual utilizing
individual creativity
infamous “goto”
‘spaghetti’ code
assembly languages, FORTRAN, BASIC - 52What is structured programmingPrograms were structured according to three basic control structures
sequential control
conditionals
repetitions
ALGOL, Pascal, PL/1, C - 53What is modular programmingPrograms were constructed using modules
Each module has public and private parts
Public parts are visible to everyone
Private parts are visible only within the module
Either part can define variables, procedures, functions, and data types
Ada - 54what is imperative programmingPrograms are partitioned into subroutines
Information is exchanged between partitions by passing data into and out of them
High degree of coupling (inter-dependence of codes and/or data among subroutines/modules)
Poor cohesion (how code and data fit together)
ALGOL, Pascal, C - 55what is object oriented programmingUtilizes the class/object abstraction
Class as a blueprint for manufacturing objects
Bundles data and procedure together in the form of an object (high cohesion)
Low coupling
Object communicate by passing messages
SIMULA, Smalltalk, C++ - 56What are the 8 Basic Principles of Object OrientationEncapsulation
Information Hiding
Message Passing
Late Binding
Delegation
Class/Object
Inheritance and Polymorphism
Relationships - 57What is encapsulationThe object contains both the data and the methods that will manipulate or change that data.
- 58what is information hidingThe object that contains the attributes defines what services are available to the other objects. In fact, other objects have neither access nor knowledge of the data or how a service is provided
- 59What is message passingAn object may communication with another object only via a message passing mechanism
Ability to overload names – the behavior depends on the class of the object that receives the message
Leading to more readable and more understandable code - 60What is late bindingSupport for the ability to determine the specific receiver and its corresponding method to be executed for a message at run time
Usually the specific receiver of any given message is not known until run time, so the determination of which method to invoke cannot be made until then - 61What is delegationWork is passed, via message passing, from one object (client) to another object (server) because, from the client’s perspective, the agent has the services that the client needs. Work is continuously passed until it reaches the object that has both the data and the method to perform the work
The perfect bureaucratic principle - 62What is a class/objectAll objects are instances of a class
Instances can be created or destroyed at run time
Characteristics
attributes, data
Static model
relationships
Dynamic behavior
Services/operations/methods
Features (attributes + operations)
Abstract class – no instances - 63What are the 4 major organization perspectivesData/Entity View (E-R diagram)
Function View (structured techniques)
Behavioral View (state transition diagram)
Control View (rule-based system) - 64What is inheritanceClasses are arranged in a hierarchical inheritance structure representing a generalization/specialization (superclass/subclass, is-a, is-a-kind-of, hierarchical) relationship
- 65what is polymorphismallows a specialization to tailor its behavior to differ from the behavior specified for its generalization
- 66what are relationshipsCollaborations between objects to provide a service to a client are captured by an association relationship, which is technically called a link (an instance of association).
- 67what are types of relationshipsGeneralization/specialization
Association (between classes, peer-to-peer)
Aggregation (whole-parts, part-of) – transitivity and antisymmetricity properties
Composition (strong type of aggregation) - 68What does UML Stand forUnified Modeling Language
- 69What is UMLThe standard modeling language for software and systems developments
- 70What is a modelan abstraction of the real thing, a simplification of the real system to manage complexity
- 71what is a modeling languageA modeling language can be anything that contains a notation (a way of expressing the model) and a description of what that notation means (a meta-model)
- 72what is a meta modeldescription of what the notation means
- 73What are the advantages of UMLa formal language, concise, comprehensive, scaleable, built on lessons learned, it’s the standard
- 74What does a case tool allowforward and reverse engineering
- 75Who started UML3 amigos
Grady Booch, James Rumbaugh, and Ivar Jacobson - 76What are the different views of software developmentUse Case, Logical, Component, Deployment
- 77What is use case viewUse case model, overview diagram (identify the functionality required by users
- 78What is logical viewClass/object diagrams (the foundation for modeling classes/objects)
Sequence/Communication diagrams (identifying object interfaces and communication, modeling object interactions)
State diagram (model internal object behavior) - 79What is process viewActivity diagram (describes sequence, conditional logic, and concurrency – like a flowchart)
- 80what is deployment viewComponent diagram (physical arrangement of the finished components of software, facilitate reusability)
Packages (not a modeling tool but an organizational tool to group UML diagrams into logical units) - 81What is physical viewDeployment diagram (make use of component diagrams to map the relationships between hardware and software)
- 82What is a use case modeloverview diagram (identify the functionality required by users)
- 83what are class/object diagramsthe foundation for modeling classes/objects
- 84What are sequence/communication diagramsidentifying object interfaces and communication, modeling object interactions
- 85What is a state diagrammodel internal object behavior
- 86what is an activity diagramdescribes sequence, conditional logic, and concurrency
- 87what is a component diagramphysical arrangement of the finished components of software, facilitate reusability
- 88What are packagesnot a modeling tool but an organizational tool to group UML diagrams into logical units
- 89What is a deployment diagrammake use of component diagrams to map the relationships between hardware and software
- 90What does a use case model duecaptures the requirements
functionality and features - 91What questions should you ask when modeling use caseWho are the users?
What will the user do and see with the system/application?
How will the users use the application? - 92What do Use Case models focus ongoal of the process
- 93What are the three components of a use case modeluse case diagram
use case narrative
use case scenarios - 94what is a use case narrativea textual description
- 95what is a use case scenariotest cases/ specific instance of use case.
- 96what is an actora user, an external system, or a device that interacts with a system
- 97what is a systemthe application/system that provides the features or functionality to the actors
- 98what is a use casekey features of the system (the goals of the system); a use case is something that provides some measurable result to the user or an external system
- 99what is a communication line (association)interactions between actors and use cases (actor-actor, actor-use case)
- 100what is a relationship (dependency)interactions between use cases
- 101what is <>?one use case always ask for help from another use case – unconditional delegation
- 102what is <>?one use case asks for help if a specific condition is encountered – conditional delegation
- 103what are the building steps for a use case diagramDefine the context of the target system
Identify the actors
Identify the use cases (features)
Define the communication line (interactions) between actors and use cases
Evaluate use cases and identify relationships / dependencies using stereotypes - 104what is a test case?Draw a scenario – flowchart
Tracing the flowchart, follow the most comprehensive path. Trace the logic through each decision until you reach an end point
Identify alternative path, follow this path until it rejoins a previous traced path or hits an end point
For loops, remember that the scenario needs to be run multiple times to test the boundary conditions
Information
- Description
- Flashcards on Software Engineering Test 2, created by katiemad on 23/11/2013.
- Created by
- katiemad
- Views
- 31
- Rating