SE : Chapter 3 ^ 4
Personal software process (PSP)
Makes the practitioner responsible for the project planning and empowers the practitioner to control the quality of all software work products that are developed
Aspects
Mechanism beyond subroutines and inheritance for localizing the expression of a crosscutting concern
Elicitation
More commonly called requirements gathering
Iteration
Occurs as the prototype is tuned to satisfy the needs of various stakeholders
Unified process
A "use-case driven, architecturecentric, iterative and incremental" software process closely aligned with the Unified Modeling Language (UML)
Transition phase
Encompasses the latter stages of the generic construction activity and the first part of the generic deployment (delivery and deployment activity).
High-level design review
Formal verification methods are applied to uncover errors in the design. Metrics are maintained for important tasks and work results
Elaboration phase
Encompasses the communication and modeling activities of the generic process model
Prototype
Can serve as "the first system"
Problem
Specific problem to be solved by the pattern
Cyclic, anchor point milestone
2 main distinguishing features of spiral development model
Planning, high-level design, high-level design review, deployment, postmortem
5 framework activities of the PSP model
Anchor point milestones
A combination of work products and conditions that are attained along the path of the spiral
Software process
A framework for the activities, actions and tasks that are required to build high-quality software
ISO 9001:2000 for Software
A generic standard that applies to any organization that wants to improve the overall quality of the products, systems or services that it provides. Therefore, the standard is directly applicable to software organizations and companies
Spiral
A model that uses prototyping as a risk reduction mechanism but more important, enables you to apply prototyping approach at any stage in the evolution of the product
Software process
A road map that you follow
SPICE(ISO/IEC15504)
A standard that defines a set of requirements for software process assessment. The intent of the standard is to assist organizations in developing an objective evaluation of the efficacy of any defined software process
Waterfall model
A useful process model in situations where requirements are fixed and work is to proceed to completion in a linear manner
Cleanroom software engineering
A variation in the formal methods model approach is said to be currently applied by some software development organizations
V-model
A variation in the representation of the waterfall model
Cyclic
Approach for incrementally growing a system's degree of definition and implementation while decreasing it's degree of risk
Evolutionary model
Are iterative. They are characterized in a manner that enables you to develop increasingly more complete versions of the software
Clockwise
As this evolutionary process begins, the software team performs activities that are implied by a circuit around the spiral in a _____________ direction, beginning at tge center
UML
Became a de facto industry standard for object-oriented software development
Prototyping paradigm
Begins with a communication
True
Both stakeholders and software engineers like the prototyping paradigm. Users get a feel for the actual system and developers get to build something immediately. True or False
Prototyping
Can be used as a stand-alone process model. It is more commonly used as a technique that can be implemented within the context of any one of the process models
Production phase
Coincides with the deploymemt activity of the generic process. During this phase the ongoing use of the software is monitored, support for the operating environment (infrastructure) is provided, defect reports and requests for changes are submitted and evaluated
Initial context
Describes the conditions under which pattern applies
Incremental model
Combines the elements' linear and parallel process flows, applies linear sequences in a staggered fashion as a calendar time progresses. Each linear sequence produces deliverable "increments" of the software. Example : word-processing software
Phase pattern
Define the sequence of framework activities that occurs within the process, even when the overall flow of activities is iterative in nature
Aspectual requirements
Define those crosscutting concerns that have an impact across the software architecture
Stage pattern
Defines a problem associated with a framework activity for the process. Since a framework activity encompasses multiple actions and work task, a __________________ incorporates multiple task pattern that are relevant to the stage
Task pattern
Defines a problem associated with a software engineering action or work task and relevant to successful software engineering practice
Concurrent modeling
Defines a series of events that will trigger transitions from state to state for each of the software engineering activities, actions, or tasks
Task set
Defines the actual work to be done to accomplish the objectives of a software engineering action
Software process
Defines the approach that is taken as software is engineered
Spiral model
Demands a direct consideration of technical risk of all stages of the project and if properly applied, should reduce risks before they came problematic
V-model
Depicts the relationship of quality assurance actions to the actions associated with communication, modeling and early construction activities
Process pattern
Describes a process-related problem that is encountered and suggests one or more proven solutions to the problem
Process flow
Describes how the framework activities and the actions and tasks that occur within each framework activityare organized with respect to sequence and time
Solution
Describes how to implement a pattern successfully. This section describes how the initial state of the process (that exists before the pattern is implemented) is modified as a consequence of the initiation of the pattern
Resulting context
Describes the conditions that will result once the pattern has been successfully implemented
Commercial off-the-shell (COTS) software components
Developed by vendors who offer them as products, provide targeted functionality with well defined interfaces that enable the component to be integrated into the software that is to be built
Personal software process (PSP)
Emphasizes personal measurement of both the work product that is produced and the resultant quality of the work product
Formal methods
Enable you to specify, develop and verify a computer-based system by applying a rigorous mathematical notation
Formal methods model
Encompasses a set of activities that leads to formal mathematical specification of computer software
Inception phase
Encompasses both customer communication and planning activities
Software engineering
Encompasses technologies that populate process--technical methods and automated tool
Anchor point of milestones
Ensuring stakeholder commitment to feasible and mutually satisfactory system solutions
Linear process flow
Executes each of the five framework activities in sequence, beginning with communication and culminating with deployment
Parallel process flow
Executes one or more activities in parallel with other activities
Evolutionary process flow
Executes the activities in a "circular" manner. Each circuit through the five activities lead to a more complete version of the software
High-level design
External specification for each component to be constructed are developed and a component design is created. Prototypes are built when uncertainty exist. All issues are recorded and tracked
Communication, planning, modeling, consrtruction and deployment
Five framework activities
Quick design
Focuses on the representation of those aspects of the software that will be visible to end users. It leads to the construction of a prototype
Construction phase
Identical to the construction activity defined for the generic software process
Task set
Identifies the work tasks that are to be completed, the work products that will be produced, the quality assurance points that will be required, and the milestones that will be used to indicate progress.
True
If a market window is missed, the software projecr itself may be meaningless. True or False
Blocking states
In which some project team members must wait for other members of the team to complete dependent tasks. The _____________________ tends to be more prevalent at the beginning and end of a linear sequential process
Component-based development model
Incorporates many of the characteristics of the spiral model. It is evolutionary in nature, demandin an iterative approach to the creation of the software
Known uses and examples
Indicate the specific instances in which the pattern is applicable
Spiral model
Is a realistic approach to the development of large-scale systems and software
Spiral development model
Is a risk-driven process model generator that is used to guide multi-stakeholder concurrent engineering of software intensive systems
Aspect-oriented software development (AOSD)
Is abrelatively new software engineering paradigm that provides a process and methodological approach for defining, specifying, designing and constructing aspects
Unified process
Is an attempt to draw on the best features and some characteristics of traditional software process model, but characterize them in a way that implements many of the best principles of agile software development
Spiral model
Is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the waterfall model. It provides for rapid development of increasingly more complete versions of the software
Workflow
Is analogous to a task set. It identifies the task required to accomplish an important software engineering action and the work products that are produced as a consequence of successfully completing the task
Risk
Is considered as each revolution is made
Process
Is defined as a collection of work activities, actions and tasks that are performed when some work product is to be created
Edge of chaos
Is defined as a natural state between order and chaos, a grand compromise between structure and surprise. Can be visualized as an unstable, partially structured state (it is unstable because it is constantly attracted to chaos or to absolute order)
Software engineering
Is performed by creative, knowledgable people who should adapt a mature software process so that it is appropriate for the products that they build and the demands of their marketplace
Prototyping iteration
Is planned quickly and modeling ( in the form of a "quick design" occurs
Time-to-market
Is the most important management requirement
Waterfall model
Is the oldest paradigm for software engineering
Process model
It defines the flow of all activities, actions and tasks, the degree of iteration, the work products and the organization of the work that must be done
Spiral model
It maintains the systematic stepwise approach suggested by the classic life cycle but incorporates it incorporates it into an iterative framework that more realistically reflects the real world
True
It should be noted that not every task identified for a UP workflow is conducted for every software project. True or False
Aspect-oriented software development (AOSD)
Ofren referred to as aspect-oriented programming (AOP) or aspect-oriented component engineering (AOCE)
Related patterns
Provide a list of all process patterns that are directly related to this one. This may be represented as a hierarchy or in some other diagrammatic form
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
Provides a diagnostic technique for assessing the relative maturity of a software organization
Standard CMMI Assessment Method for Process Improvement (SCAMPI)
Provides a five-step process assessment model that incorporates five phases : initiating, diagnosing, establishing, acting and learning
Process model
Provides a specific roadmap for software engineering work
Elaboration
Refines and expands the preliminary use case that were developed as part of the inception phase and expands the architectural representation to include five different views of the software
Iterative process flow
Repeats one or more of the activities before proceeding to the next
Prototype
Serves as a mechanism for identifying software requirements
Inception, elicitation, elaboration, negotation, specification and validation
Six distinc actions for more complex projects
Waterfall model
Sometimes call classic life cycle, suggests a systematic, sequential approach to software development that begins with customer specification of requirements and progresses through planning, modeling, construction and deployment, culminating in ongoing support of the completed software
Concurrent development model
Sometimes called concurrent engineering allows a software team to represent iterative and concurrent elements of any of the process models described
Prescriptive process model
Strives for structure and order in software development
Requirements gathering
The goal of _____________ is to understand what various stakeholders want from the software that is to be built
Forces
The environment in which the pattern is encountered and the issues that make the problem visible
Pattern name
The pattern is giving a meaningful name describing it with context of the software process
Work products
These are the programs, documents and data that are produced as a consequence of the activities and tasks defined by the process
Planning
This activity isolates requirements and develops both size and resources estimates. In addition, a defect estimate (the number of defect projected for the work) is made alletrics are recorded on worksheets or templates. Finally, deployment task are identified and a project schedule is created
Process model (Prescriptive process model)
Were originally proposed to bring order to the chaos of software development
Core product
When an incremental model is used, the first increment is often a ____________________
Crosscutting concern
When concerns cut across multiple system functions, features and information l, they are often referred to as ______________________
Analysis model correction
Which will trigger the requirements analysis action from the done state into the awaiting changes