_____ is a code review technique that involves two programmers working together at one workstation, taking turns being the driver and the observer.
- Code Refactoring
- Code Smell
- Pair Programming
- Unit Testing
The blank should be filled with "Pair Programming." Pair programming is a software development technique where two programmers collaborate on the same task. They work together at one workstation, taking turns as the "driver" and the "observer" to improve code quality.
A User Story is a brief description of a feature from an end-user perspective, often used in Agile development.
- Requirement
- Test Case
- Use Case
- User Story
A User Story is a concise description of a feature or functionality from the perspective of an end user. It is a common practice in Agile development to capture user requirements and expectations in a format that is easily understandable by both developers and users.
A team is developing a highly secure banking application. What type of requirements (functional or non-functional) should be prioritized to ensure data security and compliance?
- Both functional and non-functional requirements are equally important for security.
- Functional requirements are more critical for security.
- Non-functional requirements are more critical for security.
- Security requirements are not essential for a banking application.
When developing a highly secure application like a banking system, non-functional requirements take precedence. These include security, compliance, performance, and reliability requirements. While functional requirements define what the system should do, non-functional requirements dictate how well it should do it, especially in terms of security and compliance.
The process of creating a data model for an information system by defining entities to be used is known as _____.
- Data Dictionary
- Data Warehousing
- Entity Relationship Diagram
- Software Development
The process of creating a data model for an information system by defining entities to be used is known as an "Entity Relationship Diagram" (ERD). An ERD helps visualize the structure of data and how entities are related.
For effective User Interface Design, _____ refers to arranging elements to show their order of importance.
- Alignment
- Consistency
- Feedback
- Hierarchy
In User Interface Design, hierarchy is essential for arranging elements to convey their order of importance. It helps users navigate and understand the content and interactions effectively.
What is the main focus of Object-Oriented Programming (OOP)?
- Algorithm efficiency
- Code optimization
- Data structure design
- Modularity and reusability
Object-Oriented Programming (OOP) primarily focuses on modularity and reusability. It encourages organizing code into objects that can be easily reused, promoting a more modular and maintainable codebase.
What strategies can be employed to ensure that both functional and non-functional requirements are addressed adequately in a software project?
- Address non-functional requirements later in the project
- Include non-functional requirements in user stories
- Prioritize non-functional requirements
- Use Acceptance Test Driven Development (ATDD)
To ensure both functional and non-functional requirements are addressed, it's essential to include non-functional requirements in user stories, prioritize them along with functional requirements, and use techniques like Acceptance Test Driven Development (ATDD). Delaying non-functional requirements can lead to issues.
What challenges might a project face if the requirements are not gathered and documented accurately?
- Enhanced project flexibility
- Improved communication with stakeholders
- Increased project cost and delays
- Reduced scope changes
Inaccurate requirements gathering and documentation can lead to significant challenges in a project. It can result in increased project costs, delays, scope creep, and stakeholder dissatisfaction due to misunderstandings and misaligned expectations.
Which SDLC model allows for changes to be made at any time during the development process, providing flexibility and adaptability to developers?
- Agile Model
- RAD (Rapid Application Development)
- V-Model
- Waterfall Model
The Agile Model allows changes at any point in the development process, offering flexibility to adapt to evolving requirements and market conditions. It employs iterations and welcomes changes to deliver better results.
The _____ prototyping model involves creating a series of disposable models with each one being built on the feedback received from the previous one.
- Evolutionary
- Incremental
- Throwaway
- Waterfall
The _____ prototyping model is known as the "Throwaway" or "Rapid" prototyping model. In this approach, disposable models are created, and each one is built based on feedback received from the previous one, enabling rapid exploration and testing of ideas.