What is software engineering?
A branch of computer software that deals with design, development, testing, and maintenance of software applications.
What does SDLC stand for?
Software development life cycle.
What are the two types of requirement engineering?
Functional and Non-Functional.
What is modularity?
A design approach where a complex system is broken down into smaller modules, each with a specific function, promoting easier development, testing, maintenance, and reusability.
What are programming principles in general?
Guidelines that an industry, organization, team or individual adopt to improve software designs and code implementation.
What does a software engineer do?
Software engineers design, develop, test, and maintain software applications.
How many phases are in the SDLC?
4.
What are the two properties of functional requirement?
Product features and user requirements.
How many architecture patterns are there?
4
How many programming principles are there?
10.
How does software engineering benefit society?
Software engineering can improve communication, make tasks easier, and solving problems.
What is the activity part of design?
Show how the software will meet the requirements.
What are the two types of non-functional requirements?
Product properties and user expectations.
What are the 4 different types of architecture patterns?
MVC, Layered, Microservices, Client-server.
What is refractoring?
The process of restructuring existing code to improve its internal design and readability without altering its external functionality.
How much does a software engineer make per year?
$120k - $130k
What does the SDLC improve and lessen?
Improves quality, lessens time and cost.
World, Requirements, Specifications, Program, Machine.
What is the difference between structural vs behavioral diagrams?
Structural diagrams focus on the static structure and relationships within a system, while behavioral diagrams depict the dynamic behavior and interactions of a system over time.
What is abstraction in OOP?
The process of hiding complex implementation details of an object and only exposing the essential features or functionalities that a user needs to interact with.