System Software Question Answer Part 1
System Software Question Answer Part 1
System Software Question Answer Part 1
Each programming language contains a unique set of keywords and syntax, which
are used to create a set of instructions. Thousands of programming languages
have been developed till now, but each language has its specific purpose. These
languages vary in the level of abstraction they provide from the hardware. Some
programming languages provide less or no abstraction while some provide higher
abstraction. Based on the levels of abstraction, they can be classified into two
categories:
o Low-level language
o High-level language
The image which is given below describes the abstraction level from hardware. As
we can observe from the below image that the machine language provides no
abstraction, assembly language provides less abstraction whereas high-level
language provides a higher level of abstraction.
Define and discuss the different steps of software development life cycle (SDLC)
with diagram
Planning for the quality assurance requirements and identification of the risks
associated with the project is also done in the planning stage. The outcome of the
technical feasibility study is to define the various technical approaches that can be
followed to implement the project successfully with minimum risks.
Once the requirement analysis is done the next step is to clearly define and
document the product requirements and get them approved from the customer
or the market analysts. This is done through an SRS (Software Requirement
Specification) document which consists of all the product requirements to be
designed and developed during the project life cycle.
SRS is the reference for product architects to come out with the best architecture
for the product to be developed. Based on the requirements specified in SRS,
usually more than one design approach for the product architecture is proposed
and documented in a DDS - Design Document Specification.
This DDS is reviewed by all the important stakeholders and based on various
parameters as risk assessment, product robustness, design modularity, budget
and time constraints, the best design approach is selected for the product.
A design approach clearly defines all the architectural modules of the product
along with its communication and data flow representation with the external and
third party modules (if any). The internal design of all the modules of the
proposed architecture should be clearly defined with the minutest of the details
in DDS.
Developers must follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers, etc. are used to
generate the code. Different high level programming languages such as C, C++,
Pascal, Java and PHP are used for coding. The programming language is chosen
with respect to the type of software being developed.
This stage is usually a subset of all the stages as in the modern SDLC models, the
testing activities are mostly involved in all the stages of SDLC. However, this stage
refers to the testing only stage of the product where product defects are
reported, tracked, fixed and retested, until the product reaches the quality
standards defined in the SRS.
Once the product is tested and ready to be deployed it is released formally in the
appropriate market. Sometimes product deployment happens in stages as per the
business strategy of that organization. The product may first be released in a
limited segment and tested in the real business environment (UAT- User
acceptance testing).
The meaning of source code is determined and then intermediate code is created
from the source program. Analysis phase contains mainly three sub-phases
named lexical analysis, syntax analysis and semantic analysis.Synthesis Phase: This
phase of compilation process is machine dependent.
Explain Semantic gap, Execution domain, specification gap, execution gap
Execution domain specification allows you to set a model and its subsystems and
referenced models to simulate as discrete-time or data-driven systems.
Specification gap: It is the semantic gap between the application domain and the
PL domain. It can also be defined as the semantic gap between the two
specifications of the same task. The specification gap is bridged by the software
development team.
Syntax
Label
A label is a word, number or symbol the assembly code uses as a reference point
to locate the date or instruction to use. The code can call the label elsewhere to
access the information in that location. Often, labels in assembly languages
comprise a numerical system, with lines of code possessing higher numbers as
you progress down the code.
Command
A command is an order in a piece of assembly code that tells the assembler what
action to perform. This provides a basic method of data manipulation the
assembler can use to simplify a user's interactions with the system. Often,
commands in assembly languages use abbreviations to keep the terminology
short while also using self-descriptive abbreviations, such as a language using
"ADD" for addition and "MOV" to transfer data.
Operand
Directive
Macro
Mnemonic
Assembler Directives
Assembler directives supply data to the program and control the assembly
process. Assembler directives enable you to do the following:
o Initialize memory
Problem – Write an assembly language program to add two 8 bit numbers stored
at address 2050 and address 2051 in 8085 microprocessor. The starting address of
the program is taken as 2000.
Algorithm –
2010 HLT