Skip to main content

10 Most Common Questions about Software Engineering.




1. What is Software?
 Computer software is all information processed by computer systems, programs, and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media.

2.. What is Software Engineering?
Software engineering is a detailed study of engineering to the design, development, testing, deployment, and management of software systems.

3.  What is the difference between software and computer programs?
 Computer programs are the set of instructions executed on a computer. The software is a broad term. It includes programs, installation manual, documentation. 

4. What is SDLC?
SDLC stands for Software Development Life Cycle. It is a systematic development process of software by following every stage in the development like:
- Requirement gathering
- System Analysis
- Design
- Coding
- Testing
- Maintenance
- Documentation

5. What are the SDLC models?
Waterfall-model, Iterative model, Spiral model, V-model, Big-bang model etc.

6.  What is SRS?
Software Requirement Specification is the documentation produced at the time of requirement gathering process.

7. What are the functional requirements?
It specifies something that the system should do. For example, a user should be able to log in through a web interface.

8. What are the non-functional requirements?
It specifies how the system should behave. For example: The system should respond to the login request within 1 second.
Few non-functional requirements are:
- Performance
- Maintainability
- Security
- Scalability

9. What is concurrency and how it is achieved in software?
Concurrency is something when two or more programs execute simultaneously. It can be achieved through thread and executing them in parallel.

10. What is the difference between function-oriented and object-oriented design?
 Function-oriented design is composed of many smaller sub-systems known as functions.
Object-oriented design works around the real world objects, their classes and methods operating on objects.
FOD: Top-Down follows Top-Down approach.
OOD: Bottom-Up approach.

11. What is compile-time and run-time?
Compile-time: This is the time period when a developer/programmer is compiling his/her code.
Run-time: This is the time-period when a user is running the application or developer's piece of code.

Comments

Popular posts from this blog

DFS Performance Measurement

Completeness DFS is not complete, to convince yourself consider that our search start expanding the left subtree of the root for so long path (maybe infinite) when different choice near the root could lead to a solution, now suppose that the left subtree of the root has no solution, and it is unbounded, then the search will continue going deep infinitely, in this case , we say that DFS is not complete. Optimality  Consider the scenario that there is more than one goal node, and our search decided to first expand the left subtree of the root where there is a solution at a very deep level of this left subtree , in the same time the right subtree of the root has a solution near the root, here comes the non-optimality of DFS that it is not guaranteed that the first goal to find is the optimal one, so we conclude that DFS is not optimal. Time Complexity Consider a state space that is identical to that of BFS, with branching factor b, and we start the search fro...

Regularization in Deep Learning / Machine Learning - Prevent Overfitting

image source: mlexplained Overfittng happens in every machine learning (ML) problem.  Learning how to deal with overfitting is essential to mastering machine learning.  The fundamental issue in machine learning is the tension between optimization  and generalization. Optimization refers to the process of adjusting a model to get the  best performance possible on the training data (the learning in machine learning ),  whereas generalization refers to how well the trained model performs on data it has  never seen before . The goal of the game is to get good generalization, of course, but you don’t control generalization; you can only adjust the model based on its training  data.  The processing of fighting overfitting is a way  called regularization . [1].  How do you know whether a model is overfitting? The best initial method is to measure error on a training and test set. If you see a low error on the training set and...

Difference between a Singly LinkedList and Doubly LinkedList