Trial 002 Flashcards
(26 cards)
Define Problem Statement
A clear, concise description of an issue to be addressed by a software product.
Importance of a problem statement
Guides development, ensures focus, and aligns stakeholders.
Procedure for Writing a Problem Statement
- Identify the problem.
- Explain its impact.
- Propose a solution.
- Define success criteria.
Define Software
Programs, data, and instructions that enable computers to perform tasks.
Importance of Software Engineering
Ensures systematic, efficient, and reliable software development.
Attributes of Good Software
Correctness, reliability, usability, efficiency, maintainability, and scalability.
Challenges in Software Engineering
- Managing complexity.
- Ensuring quality and reliability.
- Adapting to changing requirements.
- Meeting deadlines and budgets.
- Security and privacy concerns.
Software Engineering vs. Computer Science
Software Engineering: Focuses on building software systems using engineering principles.
Software Engineering vs. Computer Science
Computer Science: Focuses on theory, algorithms, and computational systems.
Professional Ethics in Software Engineering
- Confidentiality.
- Integrity.
- Accountability.
- Respect for intellectual property.
- Avoidance of harm.
Roles in Software Engineering
- Software Developer.
- Project Manager.
- Systems Analyst.
- Quality Assurance Engineer.
- UX/UI Designer.
Problem Solving Process
Step:
1. Define the problem.
2. Analyze the problem.
3. Generate alternative solutions.
4. Evaluate and select the best solution.
5. Implement and test the solution.
Bottom-Up vs. Top-Down:
Bottom-Up: Start with small components and build up.
Top-Down: Start with the big picture and break it down.
Define System Requirements
Specifications of what the system should do.
Types of Requirements
Functional: What the system should do.
Non-Functional: How the system should perform (e.g., speed, security).
Types of Requirements(User Requirements & System Requirements)
User vs. System Requirements:
•User Requirements: High-level needs of users.
• System Requirements: Detailed technical specifications.
•User Involvement: Ensures the software meets user needs and expectations.
Fact-Finding Techniques and Tools
Interviews, surveys, observation, document analysis.
Fact Recording Tools
Use case diagrams, flowcharts, decision tables.
What is Technical Feasibility
Technical Feasibility:
- Can the technology and resources required to build the system be acquired or developed?
- Evaluates hardware, software, and technical expertise.
Types of Feasibility
Economic Feasibility:
- Is the project financially viable?
- Assesses costs (development, maintenance) vs. benefits (revenue, savings).
What is Legal Feasibility
Legal Feasibility:
- Does the project comply with laws, regulations, and standards?
- Ensures no legal risks or violations.
What is Operational Feasibility
Operational Feasibility:
- Can the system be integrated into existing workflows?
- Evaluates user acceptance and organizational impact.
Define the term Schedule Feasibility
Schedule Feasibility**:
- Can the project be completed within the given timeframe?
- Assesses deadlines, resource availability, and project scope.
Importance of Requirements Validation
Accurate: Correctly reflect stakeholder needs.
Complete: Cover all necessary functionalities.
Achievable: Realistic within technical and resource constraints.