CS 472 Final Exam
Ch 20. What is the Boundary Value Analysis for Glass-Box Testing?
- Checks for Boundary, Inclusive, and Adjacent Boundary Values. Ex. Given the range = (1, 30) => Boundary Values = {1, 30} => Inclusive Values = {5, 10, 23} => Adjacent Boundary Values = {0, 2, 29, 31}
Ch 19. What is Software Quality Assurance (SQA)
- Encompasses a set of activities that the software under development or modification will meet functional and quality requirements.
Problems with Waterfall Model
- Inflexible to requirements change -long development duration means the system is outdated when it is delivered -users cannot experiment with the system to provide early feedback. -customer has to wait until entire system is implemented and deployed to reap benefits
Ch 20. Glass-Box Testing
- Tests to code - Logic-driven / Path-oriented testing - Focuses on "how" the code in module is structured
Ch 20. Black Box Testing
- Tests to specification - Functional testing - Focuses on "what" the module is supposed to do
Ch 19. What are SQA life-cycle activities?
- Verification · Are we building the product right? - Validation · Are we building the right product? - Technical reviews - Testing · Attempts to uncover program errors
Personal Software Process Model (PSP)
- comprehensive framework for training software engineers -consists of scripts, forms, standards, and guidelines used in training -helps s.er identify areas of improvement -prepares s.er to work in a team project
What are the Central themes of S.E
-Concerned with Big problems -complexity is an issue -software evolves -efficiency -work effectively together
What are some SQA Activities
-Design -Coding & unit testing -acceptance testing -maintenance
Benefits of Agile Processes
-Gives client confidence to know new version with additional functionality will arrive every few weeks
CS vs SE: SE is..
-Good enough is enough $$$ is important, PQCT -deals with wicked problems
What are the characteristics of S.E. that differ from other engineering disciplines? (5)
-Non-linear relationship between product size & cost -Teams of designers are required -Importance of Post-delivery Maintenance. -Importance of continual planning, testing, and Documentation -Importance of early detection of errors
What is S.E. as a discipline focused on
-Research, education, and application of engineering processes and methods -significantly increase software productivity, quality, reduce costs, and time to market PQCT
Why Evolutionary Prototyping?
-Throwaway prototypes are waste of time/effort -Evolutionary prototyping model lets the prototype evolve into production system -not suitable for projects that require a predictable schedule of progress
Prototyping Process Model: constructed to do what? (2)
-acquire/validate requirements -assess feasibility of project and/or/ feasibility of requirements/constraints
Key Features of DSDM
-bases on 80-20 principle suitable for agile as well as plan-drivent projects -framework that works with Rational Unified Process and XP
Properties of Tame problems
-completely specified -specification and solution can be separated -tame problems have stopping rules -solution to a tame problem can be evaluated in terms of correct/wrong -definite chain of cause-effect reasoning -tested immediately -basically no constraints
CS vs SE: CS is
-concerned with practical solutions -programming in the small -technical, tame problems
S.D is a Wicked Problem. What is a Wicked problem?
-does not have definite formulation specification and solution cannot be separated -no stopping rule -steps have infinite number of choices -unique -political process
What are some Project management activities
-effort estimation -risk management -project planning and scheduling -project administartion
Agile (lightweight Process) : what, when why
-encourage rapid iteration 2001, led to development of Manifesto for Agile Development
What is OOSE and what does it encompass
-specialization of S.E which vies world and systems as consisting of objects that relate and interact with each other Encompases: -OO processes -OO methodologies -OO modeling languages -OO tools
In OO Bank Account example, what is data and what are actions
Data: account balance Actions: Deposit, withdraw
[DEF] Project Management
Discipline of planning, organizing, and managing resources to bring about the successful completion of specific project goals and objectives (PQCT
Who coined the term S.E. and when
Nato - 1967
Agile Process Model
Phases in iterations: 1. Requirements analysis 2. Design 3. Implementation 4. Testing 5. Deployment
What is the major problems with structured paradigm (2)
Post-delivery maintenance problems -Action oriented or data oriented, but not both
Process vs Methodology
Process is set of activities whereas methodology implemtns a process or a phase of a process.
Ch 6: What are the characteristics of Object-Persistence Systems?
Provides object storage and retrieval capabilities to other subsystems Hides the implementation from the rest of the system Responsible only for storing and retrieving objects, does little or no business processing except performance considerations Capable of efficient storage, retrieval, and updating of a huge amount of structured and complex data
Ch 6: What are the characteristics of Event-Driven Systems?
Receives events from, controls external entities Does not have a fixed sequence of incoming requests, requests arrive at system randomly Does not need to respond to every incoming event, response is state dependent Interacts with more than one external entity at the same time External entities are often hardware devices or software components rather than humans May need to meet timing, temporal, and timed temporal constraints
What are some Well-known agile methods
Scrum Extrem Programming FDD
Of the Four concerns solved by S.E. what categories of life cycle activities are concerned with what?
Software Development Process: Productivity Software Quality Assurance: Quality Software Project Management: Cost and Time to Market
what is the software crisis
Software quality was unacceptably low Software teams often missed deadlines and/or were over budget.
what is 1 strategy for developing working software frequently in Agile process
Timeboxing: specific amount of time set aside for a tst
OO Paradigm: data and actions..
are of equal importance
Examples of Tame problem
chess math
Methodology is a [...] for performing a task; it describes:
cook-book 1. steps 2. input/output 3. entrance/exit conditions 4. methods and techniques uses each step
Cost schedule Performance tradeoffs
cost vs schedule vs performance
Responsibility-Driven Design is aka
design by contract
[DEF] Software Engineering
discipline whose aim is the production of fault-free software, delivered on time and within budget that statisfies the client's needs
what is a work plan
dynamic schedule that records and keeps track of all tasks to be accomplished over the course of the project
Data-oriented paradigm views world
interrelated data entitites, processes by transactions basic buildign blocks are data entities and relationships
OO views world
iterrelated and interacting objects basic building blocks are objects
what is a Pert chart
like gantt that allows easier visualization of tasks on a critiical path
Procedural paradigm views world and system as:
network of processes process is refined by lower level processes
Example of Software paradigms
procedral OO functional
what is Scope Management
scope creep happens when new requirements are added to the project after the original scope was defined and "frozen"
[DEF] Software process
series of activities performed to construct a software system. Each activity produces some artifacts, which are the input to other phases. Each phase has a set of entrance criteria and a set of exit criteria
Why did the study of S.E. come about
software crisis
What does Project Management activities ensure
software is delivered on-time and within budget
What does a software methodology detail?
steps or how to perform the activities of a software process
[DEF] Software paradigm
style of software development that constitutes way of viewing the reality
Stand up meetings and timeboxing are both?
successful management techniques now utilized within context of agile processes both insist on good communication and satisfying the client's needs as quickly as possible
[DEF] UML
unified modeling language -diagram that enables software engineers to communicate quickly and accurately
Example of process
waterfall, spiral, prototyping, agile
Agile Process: principle in Manifesto to deliver..
working software frequently
What is Dynamic Systems Development Systems: (DSDM)
AGILE method
Ch 6: What are the characteristics of Transformational Systems?
Consists of a network of information-processing activities, transforming activity input to activity output Activities may involve control flows that exhibit sequencing, conditional branching, parallel threads, a/synchronous behavior During transformation of input into output, there is little or no interaction between system and actor, it is a batch process Are usually stateless Perform number crouching or computation intensive algorithms Actor can be human, devices, or systems
What are the 3 challenges S.E'rs must overcome to work together?
1. Conceptualization 2. Communication 3. Coordination
FDD Lifecyle Activities (5)
1. Develop Overal Model 2. Build a Feature List 3. Plan by Feature 4. Design by Feature 5. Build by Feature
What does Software Quality Assurance ensure?
1. Development activites are performed properly 2. Software artifacts produced by the development activities meet the software requirements and desired quality standards
What are the types of standards for PM
1. Documentation standards 2. Coding standards 3. Procedural standards 4. Specification requirement standards 5. user interface design standards
DSDM Lifecycle Activities
1. Feasability Study 2. Business Study 3. Functional model iteration 4. Design & build iteration 5. Implementation
What steps does Rational Unified Process consist of? (4)
1. Inception: first 1-2 iterations. Produces simplified use-case model 2. Elaboration: consists of next N iterations. Produces architectural design and implements most critical use cases 3. Construction : remaining use cases are iteratively implemented 4. Transition : during which system is deployed
Strengths of OO Paradigm (4)
1. Info hiding, postdelivery maintenance is safer 2. Development is easier 3. Well-designed objects are independent units 4. Promotes reuse
Characteristics of Protyping (2)
1. Prototypes (simple-sophisticated) are used, depending on needs of project 2. classified as throwaway and evolutionary
Scrum Lifecycle activities (4)
1. Release planning meeting 2. Sprint iteration 3. Sprint review meeting 4. Deployment
What are the Steps of Timeboxing? (6)
1. Set the date for system delivery 2. Prioritize the functionaility that needs to be included in the system 3. Build the core of the system 4. Postpone functionality that cannot be provided within the time frame 5. Deliver the system with core functionality 6. repeate 3-5
Merits of Waterfall process (2)
1. Simple, straight sequence of phases of the waterfall simplifies project management 2. It supports function-oriented project organization
Phases of Waterfall Process (7)
1. System Engineering 2. Software Requirements Analysis 3. Software Design 4. Coding & Unit Testing 5. Integration & Integration Testing 6. Acceptance Testing 7. Maintenance
What are the general characteristics of the Software Development Process (3)
1. Transfrom inital system concept into the operational system 2. ID business needs, formulate requirements 3. Design, implement, test, and deployment
What are the Unique key features for FDD (3)
1. feature driven model driven 2. configuration management, regular builds 3. suitable for agile or plan-driven projcets
Describe the Agile Manifesto and its findings (4)
Individuals and interactions over processes and tools -Working software over comprehensive documentation -Customer collaboration over contract negotiation -Responding to change over following a plan
I the structured paradigm successful?
Initially, couldn't scale
Ch 6: What are the characteristics of Interactive Systems?
Interaction between system and actor consists of a relatively fixed sequence of actor requests and system responses System has to process and respond to each request System interacts with only one actor during the process of a use case Actor can be human, device, or subsystem Interaction begins and ends with actor
Ch 6: What are the four common types of systems?
Interactive subsystem Event-driven subsystem Transformational subsystem Database subsystem
Why does Project Management matter
Many efforts are project based to know when bad things are about to happen
methodology
Object Modeling Technique, Scrum, , etc
What is Software Architecture
Style of design of the structure of the systems (including the interfacing and interaction among its major components)
What does a software process define?
The phases of activities or what need to be performed to construct a software system.
Examples of Wicked problems
Urban planning economic reforms app developmen
What is Spiral Process Model
Uses prototypes if risks remain(conduct prototype) else if risks resolved(proceed to waterfall) else if prototype works & robust (proceed as evolutionary model)
