Chapter 2 Flashcards
(48 cards)
4 core software activities
Specification
Design and implementation
Validation
Evolution
What does process descriptions target, besides technical aspects like data model, user interface? (3 important aspects)
Products created by the software
Roles given to the users
Pre- and post- conditions for procesess activities and product creation
2 main software processes types
Plan-driven
Incremental/Agile
3 software process models
Waterfall (plan-driven)
Incremental (step-by-step)
Integration and configuration (component/software reuse)
5 steps in the waterfall model
Requirements definition
Design of software and system
Implementation and unit testing
Integration and system testing
Operation and maintanance
Benefits (3) and drawbacks (1) of the waterfall model
B: Easy management
B: Efficient development of small systems
B: Easier to make a high quality software
D: Costly changes (require a lot of time and money)
What should developers/managers focus on, when obeying the waterfall model?
Focus on upper levels, because bugs there spread onto the rest of the steps
What is the first step in agile software development?
Software outline description/ baseline
What are the 3 concurrent activities done during agile development?
Specification
Development
Validation
Benefits (3) and drawbacks () of agile development
B: Low costs of implementing a change
B: Easy access to customer’s feedback
B: Quicker delivery and deployment
D: Hard to manage (low visibility)
D: Quality degradation with each change
What is the integration and configuration model about?
Already existing software/components reuse
What does the acronym COTS stand for?
Commercial Off The Shelt - software buyable on general market (for direct use and reuse in the software development)
3 types of software, that can be reused for development
Standalone apps
Packages with objects and functions integrated using frameworks
Web services available for remote invocation
What are the 4 activities (2 done concurrently) done at the beginning of the reuse-oriented software engineering?
Requirement specification
Software discovery
Software evaluation
Requirements refinement
In reuse-oriented software engineering, there are 2 types of appropriate software to reuse:
Whole application system
Certain components
What to do in the reuse-oriented software engineering, when an appropriate application system is available?
Just configure it to your needs
What to do in the reuse-oriented software engineering, when you find certain appropriate components (3 steps)?
Adapt components
Create missing ones
Integrate them all
Benefits (2) and drawbacks (2) of reuse-oriented software development
B: Reduced costs and development risks
B: Fast delivery and deployment
D: Possibly a need for compromises
D: Loss of control over reused component evolution
What 3 tasks are done concurrently when creating requirements document?
Elicitation and analysis (What the customer wants; What the system could do)
Specification (Describing the details)
Validation (Checking the feasibility of requirements)
Give 3 main design “steps”:
Design inputs
Design activities
Design outputs
Give 3 design inputs (1st phase of the design info)
Platform info (Windows, Linux Server)
Customer’s requirements (Customer wants a secure, company-internal, web-based data repository)
Data description (User will store pdf documents)
What are the 4 design activities (2nd phase of design process):
Architectural design
Interface design
Component design
Database design
Give 4 design outputs (3rd phase in design process)
System architecture
Database specification
Interface specification
Component specifcation
3 stages of software testing
Component testing (unit testing)
System testing (system as a whole)
Acceptance testing (with customer’s data)