Q1) Define system and its elements.?
A system is an orderly grouping of interdependent components linked
together according to a plan to achieve a specific goal/objective. A system is defined as, "a collection of related
components that interact to perform task in order to accomplish a goal". Elements: The basic system elements are
Input, Processor and Output
Q2) Open System: 1) An open system is a state of a system, in which a system continuously interacts with its
environment. 2) It visualizes organizations taking inputs then operations are performed on the input to produce
desirable results (output) which are distributed back to the environment. 3) An open system is a one which does not
provide for its own control or modification. It does not supervise itself so it needs to be supervised by people.
Closed system:1) A system which does not interact with the outside environment is known as the closed system i.e.
it has no input or output. 2) A closed system in one which automatically controls or modifies its own operation
byresponding to data generated by the system itself. 3) A closed system is a system in the state of being isolated
from the environment.
Five important characteristics of open system are: (a) Input from outside: Open systems are self adjusting and
self 7 regulating. When functioning properly, an open system reaches a steady state. Open system can accept input
from outside also. (b) Entropy: Entropy means loss of energy. All dynamic system tends to run down over time
resulting in entropy. Open system result entropy by seeking new inputs to return to a steady state. (c) Process,
Output and Cycle: Open system produce useful output and operate in cycles following a continuous flow path. (d)
Differentiation: Open system always increase specialization of functions and greater differentiation of their
components. This characteristic offers a completing reason for increasing value of concept of system in system
analyst's thinking. (e) Equifinality: This term implies that the goals are achieved through differing courses of action
and a variety of paths. For example, teaching is the goal can be achieved by giving black-board teaching or
PowerPoint presentation.
Q3) explain CHARACTERISTICS OF A SYSTEM ? 1. Organization: * This refers to the structure and order
within a system. * It implies that a system isn't just a random collection of parts; rather, its components are arranged
in a specific way to achieve certain goals. 2. Interaction: * Interaction describes the way in which the components
of a system operate with each other. * For a system to function effectively, its parts must communicate and
exchange information or resources. 3. Interdependence: * Interdependence highlights the fact that the
components of a system rely on one another to function correctly. * The actions or failures of one part of the
system can affect other parts. 4. Integration: * Integration is concerned with how a system is tied together to
achieve a common goal, thus forming a unified whole .* It means that the individual parts of the system work
together within the overall framework to perform a unique function. 5. Behavior: * The behavior of a system is
how it reacts to its surrounding environment. * This behavior is determined by the procedures designed to
ensure that the components behave in ways that allow the system to achieve its common goal.
Q4) Describe the MIS (Management Information System.) : 1) A MIS is a system that provides historical
information, information on the current status. It is a communication process in which data are recorded and
processed further operational uses. 2) An MIS is a set of Computer Based System and procedures implemented to
the managers in their essential job of decision making. The actual process will involve the collection, organization,
distribution and storage of organization wide information for managerial analysis and control. 3) The MIS system
investigates the input with routine algorithms i.e. aggregate, compare and summarizes the results to produced
reports that tactical managers use to monitor, control and predict future performance. 4) MIS is made up of three
components: management, information, system
Q5) What is the deterministic system? A Deterministic system is one in which the occurrence of all events is
perfectlypredictable. If we get the description of the system state at a particular time, the next state can be easily
predicted.
2.1) What is software? A software is, "a set of instructions, (computer programs) that when executed provid desired
output, performance and function. Types Of software: system software, application software, embedded software,
web application
2.2) what is system software? System software is a collection of programs written to service other programs.
2.3) Name the McCall's factors.? : the McCall factors are Product Operation, Product Revision, Product Transition,
2.4) What is software engineering? Computer software is a product that design and built by software engineers.
They develop produet by using software engineering approach.
2.5) What is software engineering? Explain in detail.? 1) Software engineering is a new technological disciple
which is distinct from, but based eon the foundations of computer science, management science, economics,
communication skills, and the engineering approach to problem solving. 2) The term is made of two words, Software
and Engineering as explained below:
Software: Software is more than just a program code. A program is an executable code, which serves some
computational purpose. Software is considered to be collection of executable programming code, associated libraries
and documentations. Software when made for a specific requirement is called software product. А software product
has to perform certain specific function/task required by users (customers). Engeeniring: Engineering is all about
developing products, using well-defined, ol scientific principles and methods. 3) Software engineering requires both
technical skills (Computers, Operating Systems, Database, DBMS, Computer Networks, Information Systems (ISs),
System development tools, etc.) and managerial control .
2.6) Explain McCall's quality factors?; 1 Quality factor refers to the characteristics of a product or service which
define its ability to satisfy user requirements 2 In software engineering, software quality depends on various
characteristics such as correctness, reliability, and efficiency. These characteristics are used as a checklist to
implement quality in software and ensure that the software meets all the quality standards and specifications. 3 IEEE
defines software quality as, "the degree to which a system, component, or process meets specified requirements. 4
"the degree to which a system, component, or process meets customer or user needs or expectations. 5 There are
several factors which are used as a measure to enhance the quality of software. 2.7) Explain McCall's quality
factors of "Product operation" group.?: Product Operation: It checks whether the software is able to perform
the desired function efficiently. It comprises the following: (i) Correctness: The extent to which the program
satisfies its specifications and sawiio fulfills the user's mission objectives. A software system is said to be functionally
lc correct if the system satisfies all the functional requirements. (ii) Reliability: The extent to which a program can be
expected to perform its intended function with required precision. The efforts with which the software is oexexpected
to perform its specified function accurately. (iii) Usability: The efforts with which software programs are understood
and operated. A software is considered to be usable if human users find it easy to use. (iv) Integrity: Integrity refers
to the extent to which access to software or data by unauthorized persons or programs can be controlled. (v)
Efficiency: The amount of computing resources and code required by a program to perform its function.
2.8) Explain General Principles of Software Engineering: Principle # 1: Remember the reason that the software
exists A software system exists for one reason: to provide value to its users. This fundamental principle emphasizes
that the primary goal of any software project is to deliver something useful and beneficial to the intended audience.
All decisions and efforts should ultimately contribute to this value proposition. Principle # 2: Keep it simple : Simple
design does not mean that quick and dirty design. Simplicity is about elegance and clarity in the architecture and
implementation, not about sacrificing quality or thoroughness for speed. Principle # 3: Maintain the Vision of the
Project: A clear vision is essential for the success of a software project. And it should be maintained. A well-defined
vision provides a guiding direction for the entire development team and helps ensure that everyone is working
towards the same goals. Principle # 4: Be Open to the future : A system which has long lifetime has more value.
Software that can adapt and evolve over time is more valuable than software that quickly becomes obsolete.
2.9) What is Software Process? Explain.: Software development process is defined as, "a collection of procedures
to develop the software product according to certain goals or standards." Generally, the following points are noted
about the software process. 1. It includes guidelines which explain the objectives of each activity. 2. It includes
various technical and managerial issues that are required to develoр the software. 3. It uses resources subject to
given constraints and produces intermediate and final products. 4. It is carried out with an entry and exit criteria that
help in monitoring the beginning and completion (ending) of the activity. 5. It is regarded as more than just a
procedure, tools and techniques which are collectively used in a structured manner to produce a product.
2.10) Software process model: 1 A process model provides a basis for controlling various activities required to
development and maintain the software.2 A software process model is defined as, "a strategy comprising process,
methods and tools layers as well as the general phases for developing the software." 3 A process model for
software engineering depends on the nature and application o the software project.
2.11) Following points describes need of software engineering: 1. For efficient use of Resources: As software
development is expensive so proper measures are required, so that the resources are used efficiently. 2. For
dynamic (Changing) nature of Software: The always growing and adapting nature of software hugely depends upon
the environment in which user works. If the nature of software is always changing, new enhancements need to be
done in the existing [Link] is where software an important role. engineering plays 3. For reduction of Complexity:
Today the complexity of software project is increased. The problem of software complexity can be solved easily with
the help of software engineering. 4. For Quality Management: Better process of software development provides
better and quality software product. 5. For Reduction of Cost and Time: Cost and time considerations are another
factor, which arises the need for software engineering.
2.12) Define software engineering. Discuss its layers.? :
Computer software is a product that design and built by software engineers. They develop produet by using software
engineering approach. 1. **A Quality Process Layer:** An engineering approach must have a focus on quality
which provides a continuous process improvement culture. The software product should fulfill the customer quality
requirements (i.e. reliability, etc), developer quality requirements (maintainability, reusability, etc), and users
(usability, efficiency etc). 2. **Process Layer: Foundation for Software Engineering is the Process Layer.** Software
Engineering process holds all the technology layers together and enables the timely development of computer
software. It forms the base for management control of the software project. 3. **Methods Layer: It provides technical
knowledge for developing software.** The methods layer covers a broad array of tasks which include requirements
analysis, design, coding, testing and maintenance phases of the software development. 4. **Tools Layer: It provides
automated or semi-automated support for the Process and Method Layer.** These tools are used to bring
automation in software development process. Sometimes, tools are integrated in such a way that other tools can use
the information created by one tool i.e., Computer-Aided Software Engineering (CASE).
3.1) What is process model?: A process model is defined as, "a model of a process system that describes
processorganization, categorization, hierarchy, interrelationship, and tailorability".
3.2) Name the various process flows in process model.: linear Process Flow, Iterative Process Flow,
Evolutionary Process Flow, Parallel Process Flow
3.3) Which are types of Prototyping model?: rapid prototyping model, evolutionary prototyping model, Incremental
prototyping , extreme prototyping
3.4) What is SDLC? Explain in detail.: * A software life cycle model is a particular abstraction that represents a
software life cycle. A software life cycle model is often called a Software Development Life Cycle (SDLC). * Software
Development Life Cycle (SDLC) was developed by the National Computing Centre in 1960 for developing large scale
functional business systems. * A SDLC can be defined as, "a process or series of steps or phases that provide a
model for the development of high-quality software". * There are different phases within SDLC, and each phase has
its various activities. It makes the development team able to design, create, and deliver a high-quality product. *
SDLC concentrates on feasibility analysis, cost benefit analysis, project management, hardware and software
selection and personnel consideration. Activities of SDLC : 1 The process used to create a software product from
scratch to its public release is called Software Development Process (Life cycle) model. 2 The characterized software
development process models consist of three generic phases i.e., Definition, Development and Maintenance 3 Software
Development Life Cycle (SDLC) is simply a series of sequentially ,interrelated activities leading to the successful completion of
set of programs. 4 The period of time during which these activities take place are called phases. Software development life
cycle consists of several phases and these phases need to be identified along with defining the entry and exit criteria for every
phase. A phase can begin only when the corresponding phase entry criteria are satisfied. 5 The SDLC is a set of steps which are
used for building a system. 3.5) Explain waterfall model with its advantages.: 1 )The waterfall model was first process
model. It is also referred to as a linearsequential life cycle model or 'Classic life cycle model'. 2 ) This model is very simple to
understand and use. It is traditional software lifecycle model and best understood by upper management. Advantages: 1.
Waterfall model is a linear model and of course, linear models are the most simple to be implemented. 2. The
amount of resources required to implement this model is very minimal. 3. One great advantage of the waterfall model
is that documentation is produced at every stage of the waterfall model development. This makes the understanding
other product designing procedure simpler. 4. After every major stage of software coding, testing is done to check
the correct running of the code. 5. In waterfall model progress of system is measurable.
Process Nature of Customer Risk Technology Domain Focus
Models Requirement Interaction Level Knowledge
Waterfall Simple and Initial, once or Zero Proven and Common Solution
model universal in nature. twice. universally
understood.
Prototyping Simple, but needs Couple of Very Proven but Technology Prototype and
model testing and times till low needs testing solution
confirmation on prototype is
critical aspects of approved.
technology
solution.
Incremental Calls progressive Very frequent; Medium Configuration High Solution
model introduction of continuous management. implementation
functions, features basis for strategy
and stage-wise
implementation. confirmation.
Spiral Complex, large Continues to High Integration, Very high Tools, technology
model customer move handling of solution
specifies, domain together. multiple implementation,
influences key, technologies customer
processes and and solutions. participation.
technology to be
tested.
3.6) what is prototyping? Explain the steps in prototyping.: 1 Prototyping follows an evolutionary and iterative
approach. It provides a working model to the user early in the process, enabling early assessment and increasing
user's confidence. Prototyping is used when requirements are not well understood. 2 The software prototyping refers
to building software application prototypes which display the functionality of the product under development but may
not actually hold the exact logic of the original software .3 Prototype (an early approximation of a final system or
product and developed based on the currently known requirements) is a working model of software with some limited
functionality. A prototype gives the user an actual view and feel of the system. 4 The prototyping model serves to
clarify requirements, which are not clear, hence reducing ambiguity and improving communication between the
developers and users. Steps: Requirement gathering: In this approach product requirements are gathered.
Developer and customer meet and discuss overall objectives of the software. Quick design: Quick design system is
created when requirements are known the quick design focuses on the representation of those aspects of the
software that are visible to customers. Building Prototype: Information gathered in a quick design leads to the
construction of a prototype. A prototype is constructed using several tools. User Evaluation: Evaluation of prototype
recognizes its strength and weaknesses like what is to be added or removed. User gives comments and suggestions
which is turn are provided to the developer. Refining Prototype: When the user is satisfied with the developed
prototype a system is developed on the basis of final prototype. Engineer product: In this approach user accept the
end prototype when all the requirements are completely met. It evaluates the end system with its regular
maintenance for preventing its failures. Advantages: 1. Prototype model need not know the detailed input, output,
processes, adaptability of operating system and full machine interaction. 2. In development process of this model
users are actively involved. 3. The development process is the best platform to understand the system by the user.
4. Errors are detected much earlier. 5. Gives quick user feedback for better solutions. 6. In this model, missing
functionality can be easily identified. 7. It also identifies confusing or difficult functions. Disadvantages: 1. The client
involvement is more and it is not always considered by the developer. 2. It is a slow process because it takes more
time for development. 3. Many changes can disturb the rhythm of the development team.
3.7) Explain Spiral model its advantages and disadvantages: 1 IEEE defines, the spiral model as, "a model of
the software development process in which the constituent activities, typical requirements analysis, preliminary and
detailed design, coding, integration and testing are performed iteratively until the software is complete". 2 Spiral
model was invented by Dr Barry Boehm in 1988. It follows an evolutionary approach 3 Spiral Model is a
combination of a waterfall model and iterative model. Each phase in spiral model begins with a design goal and ends
with the client reviewing the Progress 4 Inner spirals focus on identifying software requirements and project risks;
may also incorporate prototyping. 5 Outer spirals take on a classical waterfall approach after requirements have
been defined, but permit iterative growth of the software. 6 Risk analysis is the most important criteria considered in
this model. Advantages: 1 The spiral model accommodates life cycle evaluation growth and requirement changes
2. It focuses on early error detection and design flaws. 3 It incorporates prototyping as a risk-reduction strategy.
4The spiral model incorporates software quality objectives into the product. Disadvantages: 1 Spiral model can be a
costly model to use. 2 It is not suitable for low risk projects. 3 Risk analysis in this model requires highly specific
expertise.
3.8) V and V model advantages and disadvantages: 1 A contemporary of traditional software development model
is 'V-Model'. V-Model also referred to as the Verification and Validation Model. This is an extension of the Waterfall
model .2 In this, each phase of SDLC must complete before the next phase starts. It follows a sequential design
process same as the waterfall model. Testing of the device is planned in parallel with a corresponding stage of
development. 3 The crux of V model establishes an association between each phase of testing with that of
development. The phases of testing are categorized as "Validation Phase" and that of development as "Verification
Phase". Therefore, for each phase of development there's a corresponding test activity planned in advance.
Advantages: 1. Easy to Understand. 2. Works well for small plans where requirements are easily understood. 3.
Testing Methods like planning, test designing happens well before coding. 4. This model avoids the downward flow
of the defects. 5. This saves a lot of time. Hence a higher chance of success over the waterfall model.
Disadvantages: 1. Very rigid and least flexible. 2. Not a good for a complex project. 3. If any changes happen in the
midway, then the test documents along with the required documents, has to be updated. 4. Software is developed
during the implementation stage, so no early prototypes of the software are produced.
3.9) A generic Process model: 1 A software process is a set of activities and associated results, which produce a
software product. A software process model is an abstract representation of a software process. 2 A process model
is defined as, "a model of a process system that describes process organization, categorization, hierarchy,
interrelationship, and tailorability". Activities Of generic Process model 1. Communication: Involves
communication among the customer and other stake holders; includes requirements gathering. 2. Planning:
Establishes a plan for software engineering work; addresses technical tasks, resources, work products, and work
schedule. 3. Modelling (Analyze, Design): Includes the creation of models to better under the requirements and the
design. 4. Construction (Code, Test): Combines code generation and testing to find errors. 5. Deployment:
Involves delivery of software to the customer for evaluation and feedback. Advantages of Process Model 1.
Enables Effective Communication: It enhances understanding and provides a specific basis for process execution.
2. Facilitates Process Reuse: Process development is a time consuming and expensive activity. Thus, the software
development team utilizes the existing processes for different projects. 3. Effective: Since, process models can be
used again and again; re-usable processes provide an effective means for implementing processes for software
development. 4. Facilitates Process Management: They provide a framework for defining process status criteria
and measures for software development.
3.10) Incremental process model: 1 The incremental model is defined as, "a model of software development where
the product is designed, implemented and tested incrementally (a little more is added each time) until the product is
finished." 2 In incremental model, Multiple development cycles take place that making the software life cycle a multi-
waterfall. In this model, cycles are divided up into smaller, more easily managed modules.
3.11) Evolutionary Process Model: 1 All complex software system evolves over a period of time. Business and
product requirement often change as development proceeds. 2 Evolutionary model are iterative. They are
characterized in a manner that enables you to develop increasingly more complete version of the software.
4. 1]What is requirement? Enlist types of requirements -- A condition or capability that must be met or possessed
by a system or system component to satisfy a contract standard, specification or other formally imposed documents
types – functional requirement, non-function requirement, domain requirement
4.2] Which are types of feasibility?--- technician feasibility , operational feasibility ,economic feasibility
4.3] What is inception? - Inception means 'the commencement/beginning' and it tells about how does software
project gets initialized. It establishes a basic understanding of the problem and the nature of the solution.
4.4] Explain structured interview. -- Structured (Closed) Interviews: In this type, every single information to
gather is decided in advance.
4.5] What is elaboration?.-- Elaboration means refinement of requirement analysis and design
4. 1] What is requirement engineering? Explain with its advantages-- Requirement engineering is defined as,
"the systematic process of documenting requirements through an interactive co-operative process of analyzing the
problem domain, documenting the resulting observations in a variety of representation format, and checking the
accuracy of the understanding gain advantage—1] Increased Customer Satisfaction: By focusing on understanding
and fulfilling user needs, requirement engineering ultimately leads to greater customer satisfaction with the final
product. 2] Facilitates Maintenance: Clear and well-documented requirements make it easier to understand the
system and make necessary modifications or enhancements in the future.
3] Explain fact finding techniques in details. –1 To develop any system the user (systems analyst) needs to
collect facts and all relevant information. The facts when expressed in quantitative form are termed as data. 2 The
success of any project is depended upon the accuracy of available data. Accurate information can be collected with
help of certain techniques. These specific techniques for finding information of the system are termed as Fact
Finding Techniques.3 Fact finding is the formal process of using research, interviews, questionnaires, and other
techniques to collect information about systems, requirements, and preferences.4 It is also called as Information
Gathering or Data Collection. Sources and related content
4] Explain in detail the tasks of the requirement engineering.?--- Requirement Engineering (RE) process: The
process to determine the requirement specification of the software is called the Requirement Engineering (RE) There
are seven distinct tasks in requirement engineering. All these tasks or functions stress on the customer's needs must
be satisfied. All these tasks collectively form the strong base for software design and construction. These tasks are:
Inception, Elicitation, Elaboration, Negotiation, Specification, Validation, and Requirements Management.
4.5 ] Define questionnaire And advantages and disadvantages.: 1 .It is the technique used to extract information
from large number of people. [Link] technique can be adopted and used only by a skillful system analyst. 3 A
document with pre-defined set of objective questions and respective options is handed over to all customers to
answer, which are collected and compiled. Advantages: 1]The questionnaire contained the series of questions
framed together in logical manner. These questions are simple, clear and to the point. 2]questionnaire can send to
people by email or by post. 3]This is the cheapest source of fact finding. Disadvantage: 1]A drawback of this
method is, if an option for some issue is not mentioned in the questionnaire, the issue might be left unattended.
2]Example: We can get basic information of students using following questionnaire:
4.6 ] explain interview and advantages and disadvantages---1 Interview is the best method for producing
qualitative information such as opinions, policies, subjective descriptions of activities and problems. 2 Interviews are
strong medium to collect requirements from individuals or from group.3 In this method, the analyst sits face to face
with the people and records their responses. 4 During the interview, the respondents and analyst discuss with each
other.5 This method use to find the area of misunderstanding, unrealistic expectations. ADVANTAGE---- 1] These
interviews follow pattern and matter of discussion firmly.2] Structured interview ensures uniform wording of questions
for all respondents. 3]It is easy for analyst to evaluate. DISADVANTAGE—-- 1] Cost of preparation of uniform question
is high. 2]High level of structure may not be suitable for all situations. 3]This interview reduces the respondent's
spontaneity and ability of the interview to follow up the comments of interviewee.
4.7) Elicitation 1 Elicitation means asking the customer, the user, and other people about the objectives for system
or product. In other words, 2 This is also known as the gathering of requirements. Here, requirements are identified
with the help of customers and existing systems processes, if available. 3 Eliciting requirements is difficult
because of: 1] Problem of scope: The customer gives the unnecessary technical detail rather than clarity of the
overall system objective. *Elicitation may be accomplished through two activities that are Collaborative Requirements
Gathering and Quality Function Deployment
4.8 ] NEGOTATION— 1 Requirements are prioritized by the customers, users, and other stakeholders and assess
the impact of each requirement on project cost and delivery time. 2 Risks associated with each requirement are
identified and analyzed. 3 Using an iterative approach, requirements are eliminated, combined and/or modified so
that each party achieves some measure of satisfaction.
4.9] SPECIFICATION—* Specification is the final work product produced by the requirements engineer. * It means
different things to different people. * It is normally in the form of a software requirements specification. * It describes
the function and performance of a computer-based system and the constraints that will govern its development
4.10) Define FEASIBILITY STUDY and types of Feasibility ? 1 Feasibility is the practical extent to which a
project can be performed successfully. 2 evaluate feasibility, a feasibility study is performed, which determines
whether the solution considered to accomplish the requirements is practical and workable int he software. 3
Information such as resource availability, cost estimation for software development, benefits of the software to the
organization after it is developed and cost to be incurred on its maintenance are considered during the feasibility
study. * Types of feasibility: 1 Technical Feasibility: 1 Technical feasibility refers, "to the technical resources
needed to develop, purchase, install, or operate the system". 2 Technical feasibility assesses the current resources
(such as hardware and software) and technology, which are required to accomplish user requirements in the
software within the allocated time and budget. 3 For this, the software development team determines whether the
current resources and technology can be upgraded or added in the software to accomplish specified user
requirements. 2. Operational Feasibility: 1 Operational feasibility means that, "a proposed system will be used
effectively after it has been developed" . 2 It assesses the extent to which the required software performs a series of
steps to solve business problems and user requirements. 3 This type feasibility is dependent on human resources
(software development team) and involves visualizing whether the software will operate after it is developed and be
operative once it is installed. 3 Economical Feasibility: 1 It determines whether the required software is capable of
generating financial gains for an organization. 2 It involves the cost incurred on the software development team, estimated
cost of hardware and software, cost of performing feasibility study, and so on. 3 For this, it is essential to consider expenses
made on purchases (such as hardware purchase) and activities required to carry out software development. In addition, it is
necessary to consider the benefits that can be achieved by developing the software.
4.11) Types of Requirements: 1 Functional Requirements 1 IEEE defines function requirements as, "a function
that a system or component must be able to perform". 2 These requirements specify the inputs, describe the
interaction of software with its environment and outputs, external interfaces and the functions that should beincluded
in the software. 2. Non-Functional Requirements 1 The non-functional requirements also known as quality
requirements relate to system attributes, such as reliability and response time. 2 Non-functional requirements arise
due to user requirements, organizational policies budget constraints, etc., 3. Domain Requirements: • In software
engineering, the requirements domain of a that are derived from the application Requirements. system, instead from
the needs of the users, are known as Domain requirements.
5.1) What is meant by analysis and design tools?: Software analysis and design is the intermediate stage, which
helps human-readable requirements to be transformed into actual code.
5.2) What is DFD? Uses of dfd? Characteristics of dfd? Enlist its symbols.? : 1 The Data Flow Diagram is a
graphical representation of the flow of data through information system. 2 A data-flow diagram also known as
Bubble Chart or Work Flow Diagram. 3 A DFD maps out the flow of information for any process or system. It uses
defined symbols like rectangles, circles and arrows, to show data inputs, outputs, storage points and the routes
between each destination. Uses of dfd: 1 DFD enables of data. us to represent the processes in the information
system from the viewpoint of data. 2 The and DFD how lets it will us to visualize how the system operates, what the
system accomplishes be implemented, when it is refined with further specification. 3 Data whole flow organizations.
diagrams are used by systems analysts to design information-processing Characteristics of dfd?:
1 A dfd represents system data in a hierarchical manner and with required levels of detail 2 A DFD shows processes
according to defined user requirements and software scope.3 DFD focus on the process that transforms incoming
data flows (input) into outgoing data flows (output).
Enlist its symbols.? Entity: , Process: , Data store:
5.3 ) Explain Types Of dfd? : 1. Logical DFDs are implementation-independent and describe the system, rather
than how activities are accomplished. The logical DFD specifies the various logical processes performed on data
i.e., type of operations performed. 2. Physical DFDs shows how the system will be implemented. A physical DFD
specifies who does the operations whether it is done manually or with a computer and also where it is done.
5.4) Levels Of dfd?: 1 DFD supports a top-down approach for analysis. There are various levels of DFD, which
provide details about the input, processes, and output of a system. 2 Note that the level of detail of process
increases with increase in level(s). 3 However, these levels do not describe the system's internal structure or
behavior. These levels are listed below: 1. Level 0 DFD: This shows an overall view of the system. Level a DFD is
also known as context diagram. 2. Level 1 DFD: This expands level 0 DFD and splits the process into a detailed
form. 3. Level 2 DFD: This expands level 1 DFD and displays the process(s) in a detailed form. 4. Level 3 DFD:
This expands level 2 DFD and displays the process(s) in a detailed form. Levelled DFD are drawn in top-down
approach, i.e. at top level O level DFD or context In made then this O level DFD is expanded to level 1 DFD from
(expanding and dividing) the main process bubble of O level DFD.
5.5) Advantages and disadvantages of dfd? Advantages of Data Flow Diagrams (DFDs): 1 A simple graphical
technique which is easy to understand by technical and non-technical users. 2 It is useful for communicating current
system knowledge to the users. 3 A DFD is used as part of system documentation file. 4 A DFD explains the logic
behind the data flow within the system.5 DFDs can provide a detailed representation of system components.
Disadvantages of Data Flow Diagrams (DFDs): 1 Data flow diagram undergoes lot of alteration before going to
users, so makes the process little slow. 2 The DFD takes a long time to create 3 Physical considerations are left out
in DFD. 4 It make the programmers little confusing concerning the system. 5 Different DFD models have different
symbols like in Gane and Sarson process is represented as rectangle whereas in DeMarco and Yourdan symbol it is
represented as eclipse.
5.6) explain Data Dictionary ? Types of DD ? Elements of DD? 1 A data dictionary refers to, "a collection of
descriptions of the data objects or items in a system". 2 A Data Dictionary (DD) stores an organized collection of
information about data and their relationships, data-flows, data types, data stores, processes and so on. 3 In
addition, it helps users to understand the data types and processes defined along with their uses. 4 It also facilitates
the validation of data by avoiding duplication of entries and provides the users with an online access to definitions.
Types of DD: 1 Passive Dictionary: If a data dictionary is being used by the users, designers and the database
administrators then the data dictionary is called as passive dictionary. Basically, a passive dictionary is used for the
purpose of software documentation only. It enables a developer to maintain a separate database, which is
independent and is in the state of non-synchronization to a particular relational database management system. 2
Active Dictionary: Data dictionary being directly used and managed by the Database Management System
Software is known as active dictionary. This dictionary is consistent and in synchronization to the relational database
management system. Elements of DD: 1. Data Element: Data element is the fundamental level or the elementary
item. Data elements are building blocks for all other data in the system. It is a smallest unit of data which cannot be
meaningfully decomposed. For example, Invoice number, invoice date and amount due are the data elements. 2.
Data Structure: Data structure is a group of data elements handled as a unit. Data elements are grouped together
to make up a data structure. A data structure is a set of data items that are related to one another and collectively
describe a component in a system. Data structure shows the information about the formation of the data item
5.7) Give advantages and disadvantages of Data Dictionary ? Advantages of dd: 1 A DD manages the details
in large systems and DD improves consistency. 2 It is used to locate omissions and errors in the system. 3 ADD is
used to communicate common meaning for all system elements. 4 It is a valuable reference in any organization. 5 It
improves analyst/user communication by establishing consistent definitions of various elements, terms, and
procedures. Disadvantages of dd : 1 For large organizations, a DD grows rapidly in size and complexity.2 A DD is
difficult to maintain manually. 3 Some users and analysts who may use other methods find it difficult to relearn their
trade and start to use DDS.
5.8) Types of output? Output can be categorized as follows: 1. External Outputs: These outputs are received by
entities outside the organization like invoices, orders, etc. Special attention is given to the format, content, and
organization of these kinds of outputs as they directly have a bearing on the organization's business relations with its
customers. 2. Internal Outputs: These outputs are received by people within the organization and require careful
consideration because they may affect the operational of the system. 3. Computer Operations Outputs: These
outputs are used within the computer services department such as usage statistics, control reports, etc. 4.
Interactive Outputs: It involves the user communicating directly with computer. 5. Turnaround Outputs: In this, the
data will be added to the document before.
5.9) define Pseudocode? With advantages and disadvantages : 1 Pseudocode is made up of two words 'pseudo
and code'. Pseudo means imitation or false and code refers to instructions, written in a programming language. 2
Pseudocode is simply a way to communicate specifications to programmers or users. Pseudocode is a compact and
informal high-level description of a computer programming algorithm that uses the structural conventions of some
programming language. 3 Pseudocode notation can be used in both the preliminary and detailed design phases in a
system. 4 Using pseudocode, the designer describes system characteristics using short, concise, English language
phrases that are structured by keywords such as IF-THEN-ELSE, WHILE-DO and END. Advantages of
Pseudocode: 1 Writing of pseudocode involves much less time and effort. 2. Pseudocode reduces complexity. 3. It
is easier to modify the pseudocode of program logic whenever program modifications are necessary. 4. Converting
pseudocode to a programming language is much easier and simpler as compared to converting a flowchart or
decision table. 5. Using pseudocode increased flexibility. Disadvantages of Pseudocode: [Link] case of pseudocode,
a graphic representation of program logic is not available. 2. There are no standard rules to follow in using
pseudocode. 3. Different programmers use their own style of writing pseudocode and hence communication
problems occur due to lack of standardization. 4. For a beginner, it is more difficult to follow the logic or write the
pseudocode, as compared to flowcharting.
5.10) Define Coupling? 1 In the system which uses functional abstraction, coupling and cohesion are the two
criteria for modularization. 2 The two modules are independent if they can function completely without the presence
of other modules. If they are independent, they are solvable and modifiable separately 3 In the system it is not
possible to have all the modules independent. At least some interaction must be there. 4 Coupling refers to the
interdependencies between modules. In other words, Coupling between modules is the strength of interconnections
between modules.
5.11 Explain Common GUI Controls for Inputs? : Text Box: It can allow for single or multiple lines of characters
to be entered. Radio Button: Radio buttons provide the user with an easy way to quickly identify and select a
particular value from a value set. A radio button consists of a small circle and an associated textual description that
responds to the value choice. Radio buttons normally appear in groups as one radio button per value choice. Check
Box: It consists of a square box followed by a textual description of the input field for which the user is to provide the
Yes/No value. List Box: A list box is a control that requires the user to select a data item's value from the list of
possible choices. It is rectangular and contains one or more rows of possible data values. The values may appear as
either a textual description or graphical representation. Dropdown List: It is like a list box, but is intended to suggest
the existence of a hidden list of possible values for a data item. Combination Box: It is also known as a combo box.
It combines the capabilities of a text box and a list box. A combo box gives the user the flexibility of entering a data
item's value or selecting its value from a list. Spin Box: A spin box is used to allow the user to make an input
selection by using the buttons to navigate through a small set of meaningful choices.
5.12) define stamp Coupling: 1 Two normally coupled modules are stamp coupled if one passes to other with for
composite example, piece the composite of data. That is a piece of data with meaningful structure is passes data
might be a customer-record comprising many fields. 2 Fig. 6.30 comprising many fields. shows two stamp-coupled
modules. In Fig. 6.30, the three parameters chess-board, move and new chess-board have rich internal structure.
3 The data structure used is natural and there is no obscurity. Some indirectness is is introduced.
5.13) Explain cohesion ? Features Of cohesion ? : 1 Cohesion of the module determines how tightly it will be
coupled to other modules in a system 2 Cohesion tells up about the bound of internal elements of the module 3
Cohesion gives an idea about whether the different elements of the module belong together in the same module to
the designer. 4 Cohesion and Coupling are related with each other. More or greater cohesion gives minimum
coupling. Features of cohesion 1. Elements that contribute to cohesion are: instructions, groups of instructions,
data definition, call of another module 2. We aim for strongly cohesive modules. * Everything in module should be
related to one another - focus on the task. * Strong cohesion will reduce relations between modules - minimize
coupling . * Cohesion is the measure of the strength of functional relatedness of elements within a module. Elements
mean an instruction.
5.14 ) Explain Types of cohesions : 1 Sequential Cohesion * This module is one whose elements are involved in
activities such that the output data from one activity serves as input data to the next activity. * The sequence of steps
might be something like this. 1. Take a pot. 2. Put sugar, tea powder, and water. 3. Put milk. 4. Switch on gas. 5. Put
the pot on the flame. 6. Switch off gas if it boils. * This group of activities cannot be summed up as a single function.
It means the module is not functionally cohesive. 2 . Communicational Cohesion: This is the module in which the
elements contribute to activities that use the same input or output data. Suppose we want to find facts about a book,
we may see following: • Find title of book. • Find price of book. o Find publisher of book. o Find author of book.
5.15) Explain Structure Chart : 1 A structure chart is a hierarchy diagram. These charts are used to graphically
depict a modular design of a program. 2 Specially, they show how the program has been partitioned into smaller
more manageable modules, the hierarchy and organization of those modules and the communication interface
between modules.3 However, structure chart do not show the internal procedures performed by the module or the
internal data used by the module. 4 The structure charts concentrates on the black box aspect of modules, their
external functions, input and outputs rather than their internal procedures and data.
5.16) : Differentiate between Coupling and Cohesion
Coupling Cohesion
1. It is an inter-Module concept. 1. It is an intra-module concept.
2. Coupling shows the relationships between modules. 2. Cohesion shows the relationship within the module.
3. It shows the relative independence among modules. 3. It shows the module's relative functional strength.
4 while creating you should aim high cohesion i.e. a cohesive
4. While creating, you should aim for low coupling, i.e.,
Component/module focuses on single function
dependency among modules should be less.
5. In coupling, modules are linked to the other modules. 5. In cohesion, the module focuses on a single thing.
8.1) What is agility? Software development agility is the capability to manage various kind of changes
8.2) Write down agile principles? Principle #1: In this methodology, highest priority is to satisfy the customer
through early and continuous delivery of valuable software. • Principle #2: Accept changing requirements, even late
in development. Agile processes harness change for the customer's competitive advantage. • Principle #3: Deliver
working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter
timescale. • Principle #4: Developing team and developers must work together daily throughout the project. o
Principle #5: Build projects around motivated individuals. Give them the environment and support they need, and
trust them to get the job done. Principle #6: The most efficient and effective method of conveying information to and
within a development team is face-to-face conversation. • Principle #7: Working software is the primary measure of
progress. Principle #8: Agile processes promote sustainable development. The sponsors, developers, and users
should be able to maintain a constant pace indefinitely. Principle #9: Continuous attention to technical excellence
and good design enhances agility. Principle #10: Simplicity--the art of maximizing the amount of work not done--is
essential. Principle #11: The best architectures, requirements, and designs emerge from self-organizing teams.
8.3 ) agile process advantages and disadvantages? Advantages: 1 Change is included: With shorter planning
cycles, it is easy and to accommodate and accept changes at any time during the software project. 2 End-goal can be
unknown: Agile is very beneficial for projects where the end-goal is not clearly defined. As the project progresses, the goals
will come to light and development can easily and simply adapt to these evolving requirements. 3 Faster and High-quality
Delivery: Breaking down the project into iterations (manageable units) allows the software team to focus on high-quality
development, with faster delivery. 4 Strong Team Interaction: Agile highlights the importance of frequent communication and
face-to-face interactions. Teams work together and people are able to take responsibility and own parts of the projects.
5 Continuous Improvement: Agile projects encourage feedback from users and team members throughout the
whole project, so lessons learned are used to improve future iterations Disadvantages of Agile: 1. Planning can be
Less Concrete: Agile is based on time-boxed delivery and project managers are often reprioritizing tasks, it is
possible that some items originally scheduled for delivery may not be complete in time. 2. Team must be
Knowledgeable: Agile teams are usually small, so team members must be highly skilled in a variety of areas. 3.
Time Commitment from Developers: Active involvement and collaboration is required throughout the Agile
process, which is more time consuming than a traditional approach. 4. Final Product can be very different: Agile is
so flexible, new iterations may be added based on evolving customer feedback, which can lead to a very different
final deliverable.
8.4) Explain scrum? 1 Scrum is also an agile development method, which concentrates particularly onto manage
tasks within a team-based development environment. 2 Scrum is the most popular and widely adopted agile method
as it is relatively s into implement and addresses many of the management issues. 3 Scrum is an iterative and
incremental agile software development framework managing software projects and application development. 4
Scrum focuses on 'a flexible, holistic product development strategy where development team works as a unit to
reach a common goal' as opposed 'traditional, sequential approach'.
8.5 ) Explain Process in scrum? Sprint Planning: A sprint begins with the team importing stories from the release
backlog into the sprint backlog; it is hosted by scrum master. The Testers estimate effort to test the various stories in
the Sprint Backlog. Daily Scrum: It is hosted by scrum master, it takes about 15 minutes. During Daily Scrum, the
members will discuss the work completed the previous day, the planned work for the next day and issues faced
during a sprint. During daily stand-up meeting team progress is tracked. Sprint Review/ Retrospective: It is also
hosted by scrum master, it last about 2-4 hours and discuss what the team has accomplished in the last sprint and
what lessons were learned.
8.6 ) Advantages and Disadvantages of Scrum
Advantages of Scrum Software Development: 1. Scrum can help teams complete project deliverables quickly and
efficiently. 2. It provides continuous feedback. This helps to make the project better in the long run. 3. A daily
meeting easily helps the developer to make it possible to measure individual productivity. 4. In this methodology,
large projects are divided into easily manageable sprints. Disadvantages of Scrum Software Development: 1.
This kind of development model is suffered if the estimating project costs and time will not be accurate. 2. It is good
for small, fast moving projects but not suitable for large size projects. 3. This methodology needs experienced team
members only. If the team consists of people who are novices, the project cannot be completed within exact time
frame.
8.7) Explain DYNAMIC SYSTEM DEVELOPMENT MODEL (DSDM)? : 1 DSDM is dynamic in nature as it's a Rapid
Application Development (RAD) approach to software development. It is an iterative and incremental approach that
emphasizes continuous customer/ Client involvement. 2 The DSDM methodology has evolved and matured to
provide a comprehensive foundation for planning, managing, executing, and scaling agile process and iterative
software development projects. 3 The DSDM project framework is independent of, and can be implemented in
conjunction with, other iterative methodologies such as Extreme Programming (XP) and the Rational Unified Process
(RUP).
8.8 ) Features and Principes of DSDM: The main features of the DSDM method are as follows: 1. User
involvement. 2. Iterative and incremental development. 3. Increased delivery frequency. 4. Integrated tests at each
phase. 5. The acceptance of delivered products depends directly on fulfilling requirements. Principles of DSDM The
eight Principles are: 1. Focus on the business need 2. Deliver on time 3. Collaborate 4. Never compromise quality
5. Build incrementally from firm foundations 6. Develop iteratively 7. Communicate continuously and clearly 8.
Demonstrate control
8.9) Explain DSDM Software Development Process The method provides a four-phase framework consisting of:
1. Feasibility and business study 2, Functional model/ prototype Iteration 3. Design and build iteration 4.
Implementation
8.10) Explain Advantages and disadvantages of the DSDM: Advantages : 1 DSDM provides a technique-
independent process and is flexible in terms of requirement evolution. 2 DSDM is designed from the ground up by
business people, so the business value is identified as expected to be the highest priority deliverable. 3 DSDM
incorporates stakeholders into the development process. 4 The emphasis on testing in DSDM is so strong that at
least one tester is expected to be on each project team. This improves software quality and performance.
Disadvantages : 1 DSDM focuses on RAD, which can lead to a decrease in code robustness. 2 It requires
significant user involvement. 3 DSDM requires a skilled development team in both the business and technical areas.
8.11] What is ASD?--- Adaptive Software Development (ASD) is a technique for building complex software systems.
ASD is a design principle for the creation of software systems. The principle focuses on the rapid creation and
evolution of software systems.
8.12] Define Extreme Programming (XP)?--- XP is a lightweight, efficient, low-risk, flexible, predictable, scientific,
and fun way to develop [Link] was conceived and developed to address the specific needs of software
development by small teams in the face of vague and changing requirements.
8.13) Explain extreme programming --- Extreme Programming (XP) is originally described by Kent Beck, which is
one of the most popular agile methodologies. Extreme Programming is a set of practices that conforms to the values
and principles of Agile. 1 XP is a discrete method, whereas Agile is a classification. There are many Agile methods,
XP is just one of them. Kent Beck's basic idea was, 'Take observed effective team practices' and 'Push them to
extreme level'. 2 XP is a disciplined approach to delivering high-quality software quickly and continuously.3 It
improves a software project in five essential ways i.e., communication, simplicity, feedback, respect, and courage. 4
Extreme Programming promotes high customer involvement, rapid feedback loops, continuous testing, continuous
planning, and close teamwork to deliver working software frequently
8.14) Explain PROCESS OF XP ---- XP is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun
way to develop software.1 XP was conceived and developed to address the specific needs of software development
by small teams in the face of vague and changing requirements. 2 XP is one of the agile software development
methodologies. It provides values and principles to guide team behavior. The team is expected to self -organize.3
Extreme programming encompasses a set of rules and practices that occur within the context of four framework
activities: planning, design, coding, and testing.
8.15) Explain advantages and disadvantages of extreme programming: ? : Advantages: 1 Emphasis on
Customer Involvement: A major help to projects where it can be applied. 2 Continuous Measurement: Since
software development is a people-intensive process, the principal measures concern people. It is therefore important
to involve the programmers in measuring their own work.3 * Incremental Development: Consistent with most
modern development methods.4 Simple Design: Though obvious, worth stressing at every opportunity 5 Frequent
Redesign (or Refactoring): A good idea but could be troublesome with any but the smallest projects.
Disadvantages: 1 * XP has a lack of structure and necessary documentation 2* It can be very inefficient if the
requirements for one area of code change through various iterations; the same programming may need to 1 be done
several times over.