Quiz 2 Flashcards
Software Engineering IEE Definition
Application of a systemic, quantifiable approach to the development, operation, and maintenance of software
People
Products Stakeholders
Project
Activities carried out to create the product
Product
Software and associated documents
Process
Framework used to carry out the project
Stakeholders
Business management, project management, development team, customers, and end users
Project Documentation
Documents associated with the project
Code
Source code and object code
Test Documents
Plans, Cases, Results
Customer Documents
How to operate products
Every project includes:
Inception, Planning, Requirements Analysis, Design, Implementation, Testing, and Maintenance
Waterfall Process
Inception, Requirements, Design, Implementation, Testing, Maintenance
Principles of Agile Processes
1) Make quality #1
2) High-quality software is possible
3) Give products to customers early
4) Use an appropriate software process
5) Minimize intellectual distance
6) Inspect code
7) People are the key to success
Ethics Principles:
1) Public - act with public interest
2) Client and Employer - act with interests of client and employer
3) Product - ensure products meet highest standards
4) Judgement - maintain integrity in professional judgement
5) Management - ethical approach to managing software
6) Profession - advance integrity and reputation
7) Colleagues - be fair
8) Self - lifelong learning
What is a Software process
The interrelationship among the phases expressed by their order, frequency, and deliverables
Umbrella Activities
Risk Management, project management, configuration management, quality management
What are prototypes for?
To implement risky functionality
Inception
- Major functionality and project scope determined
- Target customers
- High-level feedback
Planning
- HL activities, work items, schedule, resources
- Cost estimate, feasibility determined
- Software Project Management Plan (SPMP)
- Configuration Management (Tracking changes to artifacts and version management)
Requirements Analysis
- Specific functions and features
- Performance requirements
- Software Requirements Specification (SRS)
Design
- Software architecture (Blueprints for modules and interactions)
- Detailed design (interface and database design)
- Software Design Document (SDD)
Implementation
- Translation of design
- Integration and assembly of software parts
Testing
- Unit testing, interface testing, system/requirements testing
- QA performs validation
- Beta Testing
- Acceptance testing (Does product meet release criteria?)
Maintenance
- Repair of defects
- Enhancements
- Improving performance/reliability
Waterfall Process
- Requirements, Design, Implementation, Testing, Maintenance
- Feedback loop between adjacent phases