0 ratings0% found this document useful (0 votes) 35 views10 pagesQuestion Software Engineering
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
Software Engineering
173229 & System Analysis Design
‘Afra Binth Osman
Questions for software engineering
1) What is software re-engineering?
It is a process of software development which is done to improve the maintainability of a
software system.
2) What are the important categories of software?
‘* System software
+ Application software
Embedded software
+ Web Applications
* Artificial Intelligence software
* Scientific software.
3) What is the main difference between a computer program and computer software?
A computer program is a piece of programming code. It performs a well-defined task. On the
other hand, the software includes programming code, documentation and user guide.
4) Describe the software development process in brief
The software development is a life cycle is composed of the following stages:
Requirement analysis
Specification
Software architecture
Implementation
Testing
Documentation
Training and support
Maintenance
5) What are SDLC models available?
Waterfall Model, Spiral Model, Big-bag model, Iterative Model, and V-Model are some of the famous
SDLC models.
6) [Link] verification and validation
7) Verification: Verification is a term that refers to the set of activities which ensure that software
implements a specific function.
Validation:
Itrefers to the set of activities which ensure that software that has been built according to the need
of clients
8) In software development process what is the meaning of debugging?Software Engineering
173228
‘Afra Binth Osman & System Analysis Design
Debugging is the process that results in the removal of error. It Is very important part of the
successful testing.
9) How can you make sure that your code is both safe and fast?
In the software, development security is always first. So If the execution of the program is slow then,
|.will try to identify the reason out ways to its time complexity.
10) Name two tools which are used for keeping track of software requirements?
There many | ways to keep track of requirements.
‘Two commonly used are:
* Make a requirements specifications document to list all of the requirements.
* Create an excel sheet the list down the requirement, type, dependency, priority, etc.
11) Whatis the main difference between a stubs, a mock?
Astub is a minimal implementation of an interface which generally returns hardcoded data while
mock usually verifies outputs against expectations. Those expectations are set in the test.
12) What language do you like to write programming algorithms?
Every developer has their views when it comes to the programming language choices. Though, one
should prefer high-level languages because they are dynamic. Like C and C++ languages.
13) What is computer software?
Computer software is a package which includes a software program, its documentation, and user
guide on how to use the software.
14) According to you which SDLC model is the best?
‘There, is no such ranking, as SDLC Models are adopted as per the need for the development process.
Itmay differ software-to-software.
15) Who is software project manager? What is his role?
A software project manager isa person responsible for managing the software development project.
‘The project manager is doing the project planning, monitoring the progress, communication. He or
she also manages risks and resources to deliver the project within time, cost, and quality constraints.
16) What is mean by software scope?
Software scope is a well-defined boundary. It includes all kind of activities that are done to develop
and deliver the software product.
‘The software scope defines all functionalities and artifacts to be delivered as a part of the software.
‘The scope also identifies what the product will do? What is not the part of the project? What is
project estimation?
‘This process is helpful to estimate various aspects of the software product. This estimation can be
decided either consulting experts or by using pre-defined formulas.
17) How to find the size of a software product?
The size of software product can be calculated using by following two methods
‘© Counting the lines of delivered code
© Counting delivered function points
18) What are function points?
Function points are the features which are provided by the software product. It is considered as a
‘most important measurement for software size.
19) What are software project estimation techniques available?
Most widely used estimation techniques are:
* Decomposition technique173228 Software Engineering
‘Afra Binth Osman
& System Analysis Design
© Empirical technique
20) What is Software configuration management?
Software configuration managementis a process of tracking and controlling changes that happen in
the software.
Change control is a function which ensures that all changes made into the software system are
consistent and created using organizational rules and regulations.
21) How can you measure project execution?
‘We can measure project execution using Activity Monitoring, Status Reports, and Milestone
Checklists.
22) Tell me about some project management tools.
‘There are many types of management tools used as per the need for a software project. Some of
them are
‘© Pert Chart, Gantt chart, Resource Histogram, Status Reports, etc.
23) What are software requirements?
Software requirements are a functional description of a proposed software system. Itis assumed to
be the description of the target system, its functionalities, and features.
24) What is feasibility study?
Itisa measure to find out how practical and beneficial the software project development will prove
to the organization. The software analyzer conducts a study to know the economic, technical and
operational feasibility of the project.
Economic: It includes the cost of training, cost of additional and tools and overall estimation of costs
and benefits of the project.
Technical: It evaluate technical aspect. Is it possible to develop this system? Assessing the suitability
‘of machine(s) and OS on which software will execute, knowledge of the software development and
tools available for this project.
Operational: Here the analyst need to assess that the organization will able to adjust smoothly to
the changes done as per the demand for the project. Is the problem worth solving at the estimated
cost?
After, studying all this the final feasibility report is created,
25) What are functional and non-functional requirements?
‘* Functional requirements are functional features which are expected by users from the proposed
software product.
‘+ Non-functional requirements are related to security, performance, look, and feel of the user
interface,
KEY DIFFERENCE
‘© A functional requirement defines a system o ts component whereas a non-functional requirement defines the
performance attribute of a software system.
‘© Functional requirements along with requirement aralysishelp identify ising requirements while the advantage of
Nom-functional requirement isthat it helps you to ensure good user experience and ease of operating the software
‘© Functional Requirements a verb while Non-Functional Requirement is an attribute
‘= Types of Nom-functional requirement are Scalability Capacity, Avalabity, Reliability, Recoverability, Data Integrity,
etc, whereas transaction corrections, adjustments, and cancelation, Business Rules, Certification Requirements,
Reporting Requirements, Administrative functions Authorization levels, Audit Tracking, External interfaces, HistoricalSoftware Engineering
173228
‘Afra Binth Osman & System Analysis Design
Data management, Legal or Regulatory Requirements are various types of functional requirements
26) What is software metric?
Software Metrics offers measures for various aspects of software process which are divided into:
Requirement metrics: Length requirements, completeness
Product metrics: Number of coding Lines, Object-oriented metrics, design and test metrics.
27) What is modularization?
Modularization is a technique which is used for dividing a software system into various discreet
modules. That is expected to carry out the tasks independently.
28) What is cohesion?
Cohesion is a measure that defines the intra-dependabllity among the elements of the module.
Coupling vs Cohesion
29) Mentions some software analysis & de:
‘Some of the most important software analysis and designing tools are:
‘© Data Flow Diagrams ‘© Data Dictionary
‘© Structured Charts ‘© Hierarchical Input Process Output diagrams
© Structured English ‘© Entity Relationship Diagrams and Decision tables173229 Software Engineering,
‘Afra Binth Osman
& System Analysis Design
30) What is mean by level-0 Data flow diagram?
Highest abstraction level is called Level 0 of DFD. It is also called context level DFO. It portrays the
entire information system as one diagram.
31) What is the major difference between structured English and Pseudo Code?
Structured English is native English language. Itis used to write the structure of a program module.
Ituses programming language keywords. On the other hand, Pseudo Code is more like to the
programming language without syntax of any specific language.
32) What is structured design?
Structured design is a conceptualization of problem. It also called solution design and which is
based on ‘divide and conquer’ strategy.
33) What is functional programming?
Iisa programming method, which uses the concepts of a mathematical function. It provides
‘means of computation as mathematical functions, which also produces results irrespective of
program state.
34) What is Quality Assurance vs. Quality Control?
Quality Assurance checks if proper process is followed while developing the software while Quality
Control deals with maintaining the quality of software product,
35) What are CASE tools?
CASE means Computer Aided Software Engineering. They are set of automated software
application programs, which are used to support, enhance and strengthen the SDLC activities,
'36) Which process model removes defects before software get into trouble?
Clean room software engineering method removes defects before software gets into trouble.
37) Solve this problem
There are twenty different socks of two types in a drawer in one dark room. What is the minimum,
number of socks you need to take to ensure you have a matching pair?”
I you pick up three socks, they may be of the same type even if the odds are 50%. Odds never an
equal reality. Therefore, the only way to ‘ensure you have a matching pair’ is to pick up at least 11
number of shocks.
38) How you can make sure that your written code which can handle various kinds of error situation?
| can write tests that define the expected error situations.
39) Explain the differences between a Thread and a Process?
‘A process is instance of the computer program. In a single programit is possible to have one or
more threads.
40) Tell me the difference between an EXE and a DLL?
‘An exe is an executable program while a DLL is a file that can be loaded and executed by programs.
dynamically. It is an external code repository for programs. As both are different programs, reuse
the same DLL instead of having that code in their file. It also reduces required storage space.
41) What is strong-typing and weak-typing? Which is preferred? Why?
Strong typing checks the types of variables at compile time. On the other hand, weak typing checks
the types of the system at run-time. Among them, Strong typing is always preferred because it
minimizes the bugs.Software Engineering.
173229
‘Afra Binth Osman & System Analysis Design
42) Describe the difference between Interface-oriented, Object-oriented and Aspect-oriented
programming.
Interface programming is contract based.
Object-oriented is a way to write granular objects which have a single purpose,
Aspect Oriented Programming is to segregate the code in such a manner that various objects carry
the main tasks, and the subsidiary tasks are carried by independent objects,
43) Why using catch (exception) is always a bad idea?
Itisa bad idea because:
‘As there is no variable defined, itis not possible to read the exception
It’s good to use an exception when you have known exception types.
44) What type of data is passed via HTTP Headers?
Script and metadata passed via HTTP headers,
45) How do you prioritize requirements?
First, you need to design a system by evaluating data structure. Then you should move on to the
code structure needed to support it.
46) Give me differences between object-oriented and component-based design?
Object-oriented design can easily be encapsulated to some degree in component-based design.
47) When do you use polymorphism?
Polymorphism is used when there is a need for override functionality when inheriting class. It's
about shared classes and shared contracts.
48) What is essential for testing the quality of the code?
‘According to me, the unit testing framework is essential for testing the quality of the code.
49) Do you think that the maintenance of software is expensive?
According to me, maintenances of software will never be exper
development process.
50) Give me differences between tags and branches?
‘Tags are for versioning releases which are temporary holding places for doing such thing. However,
branches are deleted when those changes are merged into the trunk.
51) Where is.a protected class-level variable available?
Protected class-level variables are available to any sub-class derived from the base class.
'52) Isit possible to execute multiple catch blocks for a single try statement?
Yes, Multiple catch blocks can be executed for a single try statement.
'53) When do you need to declare a class as abstract?
We should declare a class as abstract in the following situations:
‘When the class is inherited from an abstract class, but not all the abstract methods have been
overridden.
Inthe case when minimum one of the methods in the class is declared as an abstract.
e if we are using properSoftware Engineering.
173229
‘Afra Binth Osman & System Analysis Design
Questions for System Analysis and Design
1) What is System Design?
‘System design is a process of defining the elements of a system such as the architecture,
components, modules, and various interfaces.
2) What are the three most essential skills of system designer?
Important skills for system designer are:
User interaction
External API call
Offline processes
3) How to design traffic control software?
To design a system for the traffic control system, as a software engineer, you need to make sure
‘you know how to transition from one state to another. For example, Red to Green and from Green
to Orange to Red, etc.
4) What is the benefit of a designing system like Pastebin?
Pastebin helps you design a system to paste code or text. You can share a link to that code
anywhere you want. I's not an online code editor, yet you can use this, a tool to store any text.
5) Asa system designer, how you can design a universal file sharing and storage apps like Google
Drive or Dropbox?
The above mention apps are used to store and share files, photos, and other media. We can
design things like allowing users to upload/search/view files or photos. It checks permissions for
file sharing and enables multiple users to make changes in the same document.
6) How can you design an ATM system?
‘An ATM helps a user to deposit and withdraw money. It also allows users to see their account
balance. You need to make a design plan to create this system.
7) How can you design a web crawler like Google?
‘Aweb crawler visits your website and crawls all your page links and indexes so that it appears in a
Google search result.
Accrawler should be used for searching a specific file ina set of directories. Designing such a
system requires lots of research and time.
8) What are the things you kept in mind while Designing a web crawler tool?
To design this, you need to analyze:
Finding new web pages.
Prioritizing web page which changes dynamically
You also need to ensure that crawler shouldn't be boundlessly attached to the same domain,
9) How can approach to design global cab services like Uber or Ola?
Uber and Ola are two widely used cab provider. It establishes communication between drivers and.
passengers. You need to create a module for GPS, rate calculation, current location, driver, and
client information.
10) How do you approach to design a message board service sites?
HackerNews, Reddit, Quora are some of the most popular social network sites where users can
post questions or share links. This type of system allows other users to answer questions or
‘comment on the shared links.Software Engineering,
173229
‘Afra Binth Osman & System Analysis Design
11) What is the benefit of designing an application like Airbnb?
Ithelps you to upload rooms for rent and other users to rent them. Other vital features are for
Publishers
‘Admins
Subscribers
12) How can you design an API Rate Limiter?
Here are the points that you need to keep in mind while designing an API Rate Limiter system:
Limit the requests which any user can send to an API within a time window, ie, 15 requests per
second,
‘The rate-limiting should work according to distributed setup because the APIs are accessible only
fora cluster of servers.
‘You need to make sure how you would handle throttling,
13) How do you approach system design?
Here are things that you need to keep in mind while designing this system:
Helps users to search nearby friends or places.
Check the ranking of place based on distance and user reviews.
Store location data according to the population of the density of that area,
14) What are the important structured tools?
Important structure tools are:
1) Data Flow Diagrams,
2) Data Dictionary,
3) Decision Trees,
4) Structure English, and
5) Pseudo code.
15) In System Design process, what is Requirements Determi
A requirement is most important for a new system which includes processing or capturing of data,
controlling the activities of a business, producing information and supporting the management.
Requirement determination helps you to study the existing system and to gather detalls to find
out what are the requirements, how it works, and what kind of improvements should be made.
16) How can you design a Twitter Clone?
‘Twitter is the most popular messaging service which allows you to broadcast message to all the
people who are following you.
‘When you tweet, your follower able to read those messages, they can also retweet or like. To
design such type of apps, you should include standard features lke followers, tweet, hashtag, ete.
17) How can you design autocomplete functionality?
Here are important things for developing autocomplete functionality
‘© Typeahead suggestion to be provided,
© Queries per second handled by the system.
‘© Support personalization with the suggestions,
© Amount of data to be stored.Software Engineering,
173229 & System Analysis Design
‘Afra Binth Osman
18) Which is the primary tool used for structured Design?
Structure charts is a primary tool used for structured Design.
19) What are the important aspects of the System Study?
‘system study is essential to design any system.
Three most important aspect of System Study are:
Identifying current issues and establishing new goals.
Study of an existing system.
Documenting the existing system,
20) What is the Step by step process to solve specific issues called?
This process is known as an algorithm which plays a significant part for system designing
21) What is the approach use«
‘top-down analysis and Design?
To approach top-down analysis, you need to identify a top-level function then create a
‘of lower-level module and components.
22) Explain the term controller
Accontroller is a program component wh
components.
helps you to make decisions and directs other
23) 23) Which of the following is not a factor in the failure of the system?
The size of the organization cant be considered as a factor for system development and designing
projects.
24) Documentation should be prepared on which state?
Documentation should be prepared at every stage of system designing.
25) n the system design process, where is problem analysis done?
Problem analysis is done at the systems analysis phase.
26) What do you know about the app booking app Ii
book my show?
Book my show allows users to book their ticket for shows, events, movie, or sports. It will enable
them to pay and get a refund of movie tickets.Software Engineering.
173229
‘Afra Binth Osman & System Analysis Design
27) What are the Types of Documentation in System Design?
Four types of documentation are:
Program documentation
‘System documentation
Operations documentation
User documentation