0% found this document useful (0 votes)
71 views17 pages

Sep 1245

The document discusses key concepts in software engineering including data, information, knowledge, databases, data warehouses, frontend and backend systems, software, the software development lifecycle, waterfall and spiral models, verification and validation processes, and requirements for engineering processes.

Uploaded by

Priya Shinde
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views17 pages

Sep 1245

The document discusses key concepts in software engineering including data, information, knowledge, databases, data warehouses, frontend and backend systems, software, the software development lifecycle, waterfall and spiral models, verification and validation processes, and requirements for engineering processes.

Uploaded by

Priya Shinde
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

ASSIGNMENT 1

Q1. Explain the following terms


(a) Data (b) Information (c) Knowledge (d) Database

ANS:

Data:
i. Raw facts and figures obtained through different acquisition methods
ii. Has no meaning
iii. Ex. audio, video, text, number and symbol.

Information:
i. Information is obtained when data is processed, organized or structured to
provide context and meaning.
ii. Information is essentially processed data.

Knowledge:
i. Knowledge is obtained when human insights and experience is applied to data
and information.

Database:
i. Database is an organized collection of structured information or data, typically
stored electronically in a computer system.
ii. A database is usually controlled by a DBMS.

Q2 Explain the following terms


(a) Data Warehouse (b) Data Server (c) Back End (d) Front End

Data Warehouse:
I. Data warehouse is a subject-oriented, integrated, non-volatile and time-variant
collection of data in support of managements decision making process or a
DBMS.
Data Server:
I. It is a computer / platform used to provide database services like storing,
securing, managing and processing data.
Front End:
I. Part of the website that user interacts with directly.
II. Also referred to as client side of the application.
Back End:
I. Server side of the website.
II. Stores and manages data.
III. Part of the website that user can’t see or interact with.

Q3. What do you mean by software? Explain it with your own example.
1. Software is a computer program that provides a set of instructions to execute a user’s
commands and tells the computer what to do.
2. Software allows user to simplify tasks in their system.
Example:
Web browsers:
1. Application software used for searching information on the internet.
2. Browser retrieves information from web server, translates the web
code into a visual representation and displays it on your device.
3. Allows you to keep track of your browsing history, set bookmarks and
install extensions to customize the browser.

Q4. Why software engineering required?


1. To manage large software
2. Cost Management
3. Reduces complexity
4. To manage the dynamic nature of software
5. For better quality Management
6. For more Scalability

BctRecP
Handling Big Projects:
o Software engineering methodologies are used in order to handle large projects
without any issues.
To manage the cost:
o plan everything and reduce all those things that are not required.
To decrease time:
o It will save a lot of time if you are developing software using a software
engineering technique.
Reliable software:
o It is the company’s responsibility to deliver software products on schedule and
to address any defects that may exist.
Effectiveness:
o Effectiveness is achieved by following standard techniques standards.
Reduces complexity:
o Large projects are broken down into smaller ones and solution for each of
them is found independently.
Productivity:
o Because it contains testing systems at every level, proper care is done to
maintain software productivity.

Q5. What do you mean by SDLC? Explain all the phases with the
example.
PDDDTDM
o The software development life cycle (SDLC) refers to a methodology with
clearly defined processes for creating high-quality software.

1. Planning & Analysis


o Gathering business requirements from clients or stakeholders.
o Evaluate the feasibility of creating the product, revenue potential, cost of
production and the needs of the end users.
2. Define Requirements
o Information gathered in the first phase is converted to clear requirements for
the developing team.
o An SRS (Software Requirement Specification) document is made.
3. Design
o SDD (Software Design Document) is made
o that includes system design, programming language, template, platforms to use
and application security measures.
4. Development
o Project is divided into software modules
o Software requirements are turned into code that makes the product.
5. Testing
o Quality assurance team performs validation testing to check if the software is
working properly.
6. Deployment
o Final product is delivered to the intended user.
7. Maintenance
o Includes ongoing support, bug fixes and updates to the software
Q6. What do you mean by Waterfall Model? Explain it with the example.
RS D IU IS OM

o Sequential development process that flows like a waterfall through all phases
of a project, with each phase completely wrapping up before the next phase
begins.
o Steps are always followed in order and do not overlap.

1. Requirement analysis & specification phase:


o To understand the exact requirements of the customer such as functions,
performance interface requirements.
o Software Requirement specification (SRS) document is made which contains
detailed description of what the software will do.
2. Design phase:
o Requirements gathered in SRS documents are transformed into suitable form
which permits further coding.
o All the information is documented in a Software Design Document (SDD).
3. Implementation & unit testing:
o Implementation is done according to the SDD
4. Integration & system testing:
o unit testing determines the efficiency of individual modules.
o However, in this phase modules are tested for their interactions with each
other and with the system.
5. Operation and maintenance:
o Bug fixes and updates.

Q7. What do you mean by Spiral Model? Explain it with the example.
OR RD VP

o This model combines iterative models repeated cycles with waterfall models
linear flow to prioritize risk analysis.
o Best suited for complex projects with frequent changes.
o Can be expensive for smaller projects.
o Proposed by Boehm.

6. Objective setting:
o Identification of purpose for that cycle
7. Risk assessment and Reduction:
o Alternatives are analysed based on goals and constraints.
8. Development and Validation:
o Developing strategies that resolve uncertainties & risks.
o Includes benchmarking, simulation & prototyping.
9. Planning:
o Project is reviewed & choice is made whether to continue with the further
period of spiral.
Q8. Explain the following terms with the example
Validation (b) Verification

Verification Validation
Whether the software conforms to It checks whether the software meets the
specification is checked requirements and expectations of a customer

It does not involve executing the code It always involves executing the code
The verifying process includes checking It is a dynamic mechanism of testing
documents, design, code, and program and validating the actual product

Q9. What are the requirements of Engineering Process? Explain each term
with the example.
FR EA SRS SRV

1. Feasibility Study
o Software’s technical and commercial validity is checked before investing.
2. Requirement Elicitation and Analysis
o Gathering of requirements from customers and existing processes.
3. Software Requirement Specification:
1. SRS document is made by analyst
2. Contains requirements in technical language.
4. Software Requirement Validation:
o Requirements discussed in the SRS are validated.
o User might demand illegal, impossible requirements or experts may
misinterpret the needs.
If they can practically implement
If they are correct and as per the functionality and specially of software
If there are any ambiguities
If they are full
If they can describe
Q10. Explain the process of SRS (Software Requirement Specification).
o Contains description of software system to be developed
o Functional & non-functional requirements.
o May include set of use cases (interactions) that software must provide.
1. Define your product’s purpose
2. Describe what you are building
3. Detail the requirements.
4. Deliver it for approval.

o Advantages:
1. Keeps your team aligned and working towards a common vision of the
product
2. Ensure that each requirement is met.
3. Help take vital decisions (when to retire an absolute feature)

ASSIGNMENT 2
Q1. What do you mean by Software Engineering Methodology?

Q2. What are the components of Software Engineering? Explain the things
with the example.
{P DOC OP C D UI L DOC TC CF BDS MD}
Components of software engineering:

▪ Program –
A computer program is a list of instructions that tell a computer what to do.
▪ Documentation –
Source information about the product contained in design documents, detailed code comments, etc.
▪ Operating Procedures –
Set of step-by-step instructions compiled by an organization to help workers carry out complex
routine operations.
▪ Code: the instructions that a computer executes in order to perform a specific task or set of tasks.

▪ Data: the information that the software uses or manipulates.

▪ User interface: the means by which the user interacts with the software, such as buttons, menus, and
text fields.
▪ Libraries: pre-written code that can be reused by the software to perform common tasks.

▪ Documentation: information that explains how to use and maintain the software, such as user
manuals and technical guides.
▪ Test cases: a set of inputs, execution conditions, and expected outputs that are used to test the
software for correctness and reliability.
▪ Configuration files: files that contain settings and parameters that are used to configure the software
to run in a specific environment.
▪ Build and deployment scripts: scripts or tools that are used to build, package, and deploy the
software to different environments.
▪ Metadata: information about the software, such as version numbers, authors, and copyright
information.

Q3. What do you mean by software development Model?


A software project development model is a range of processes and methodologies implemented for the
development of the project. There are many types of software development life cycle models that companies
use to achieve goals.
Capability Maturity Model (CMM)
Q4. According to you how to choose the best development model and
based on what parameter?
TF C PS PS PLP ES
1. Timeframe:
o The mount of time you are allotted to finish the project.
o Extension is possible or not.
2. Conditions:
o Budget, Limitations, Restrictions, Compensation.
3. Project size:
o How big is the project.
o How many peoples are involved.
4. Project scope:
o How many industries will be affected.
o how scalable the impact will be.
5. Programming language:
o Which part will use which programming language
6. Purpose:
o Goal of the project, its features & the specific industries in which it will be
used.
7. Engineer skill level:
o How skilled the coders are & how many veteran members are involved.

Q5. Explain CMM Model with the example.


IMDCOP

Capability Maturity Model (CMM)


o It is not a software model; it is a framework used to analyse the approach &
techniques followed by any organization to develop the software product.
o Also provides guidelines to further enhance those processes
1. Initial:
o Company has no standard process for software development.
o No project-tracking system (predict cost and time accuracy)
2. Managed:
o Company has installed basic software management processes and controls.
o But there is no consistency or coordination among different groups.
3. Defined:
o Company has pulled together a standard set of processes and controls for the
entire organization
o so that developers can move between projects more easily.
4. Quantitatively managed:
o In addition to implementing standard processes, company has installed systems
to measure the quality of those processes across all projects.
5. Optimizing:
o Company has accomplished all of the above and can now begin to see patterns
in performance over time & focuses on process improvement.
Q6. Explain RAD Model with various phases and example.
BM DM PM AG TT

o RAD (Rapid Application Development) is a concept that products can be


developed faster and of higher quality.
o RAD is a linear sequential software development model that emphasizes on
element-based construction approach.
Phases:
1. Business modelling
1. The information flow among the business function is defined by
answering questions like
i. What data drives the business process?
ii. What data is generated?
iii. Where does the information go?
2. Data modelling
1. The data obtained from BM is refined into set of business objects that
can be used to support the business.
3. Process modelling
1. The objects defined in the DM phase are transformed to achieve
business information flow needed to achieve specific business
objective as per the business model.
4. Application generation
1. Automated tools are used to facilitate construction of the software.
5. Testing & turnover
2. Many of the components have already been tested as RAD emphasis
reuse. This reduces testing time.
Q7. What are the advantages and disadvantages of RAD?

Advantages:
o flexible for change.
o changes are adoptable.
o It reduced development time.
o It increases the reusability of features.
o Each phase in RAD brings highest priority functionality to the customer.

Disadvantage:
o It required highly skilled designers.
o All application is not compatible with RAD.
o For smaller projects, we cannot use the RAD model.
o On the high technical risk, it's not suitable.
o Required user involvement.

Q8. Explain Incremental Model. What are the advantages and


disadvantages of it?
o Requirements are divided into multiple standalone modules of software
development cycle.
o Each module goes through the requirement, design, testing and
implementation phase.
o Every subsequent release of the module adds additional features to the
previous release.
Advantage:
1. Easier to test & debug
2. Errors are easy to recognize
3. More flexible
4. Simple to manage risks because they handled during its iteration
5. The client gets important functionality early.
Disadvantage:
1. Need for good planning
2. Cost is high
3. Well defined module interfaces are needed.

Q9. What are the phases of Incremental Model? Explain with the example.
RA DD T I
Requirement analysis:
o Expertise’s analyse the requirements
o In incremental model this step performs a crucial role.
Design & Development:
o Design of the system functionality and development methods are finished with
success.
Testing:
o Test the performance of existing function and additional functionality.
Implementation:
o Involves final coding of the project.

10. What do you mean by SRS? Explain it with the example.

o Contains description of software system to be developed


o Functional & non-functional requirements.
o May include set of use cases (interactions) that software must provide.
1. Define your product’s purpose
2. Describe what you are building
3. Detail the requirements.
4. Deliver it for approval.

o Advantages:
1. Keeps your team aligned and working towards a common vision of the
product
2. Ensure that each requirement is met.
3. Help take vital decisions (when to retire an absolute feature)

ASSIGNMENT 4
Unit 4: Current trends in Software Engineering

Q1. What does software engineering mean? What are the types of software
engineering?
o Software engineering is the process of Developing, Testing and Deploying
computer applications to solve real-world problems by adhering to a set of
engineering principles and practices.
o It applies a disciplined & organized approach to software development
o with the stated goal of improving Quality, Time, Budget & Efficiency, along
with the assurance of Structured Testing.

TYPES:
I. Operational software engineering
1. Includes decisions related to how the software will perform within a
computer system,
2. Includes Budget, Potential Risks of defective and outdated software,
user-interaction.
II. Transitional software engineering.
3. Includes duties related to software’s Adaptability and Scalability when
it’s moved out of its initial setting.
III. Software engineering maintenance.
4. Activities connected to enhancing & debugging current software’s to
account for environmental changes, new technologies, bugs & risk
factors.
5. Over time maintenance of certain software’s is gradually reduced.
Q2. What are the roles and responsibilities of Software Engineer? Explain
it with the examples.
DM TA CE OSS CON NF

The responsibilities and roles of a software engineer can vary depending on their
position.
 Design and management of software systems. DM
 Testing and assessment of new software applications. TA
 Code writing and evaluations. CE
 Optimizing the speed and scalability of software. OSS
 Consultation with customers, engineers, security experts and other parties involved.
CON
 Introducing new features to internal customers and stakeholders. NF

Q3. Explain two Software engineering products with your own words.
Chess Game
Key Features:
o The “Moves” section will keep track of all the records of the player’s moves
and will proceed accordingly
o This game will directly start with the main display and that will accelerate
processing speed.
o A bare minimum system is required for this app – Windows XP or Windows 7
Social Networking
Key Features:
o This software engineer project can be helpful especially for students to keep
track of everything like Placement details, Course Material, Lecture schedules,
etc.
o The admin will have access to remove any user or post.
o The user will have multiple methods for signing up for their account.

Q4. What do you mean by software engineering and Agile process?


1. Agile Software Development is a software development methodology that
values Flexibility, Collaboration & Customer Satisfaction. (FCCS)
2. It is based on the Agile Manifesto, a set of principles for software development
that prioritize individuals and interactions, working software, customer
collaboration & responding to change. (IIWCC)

3. Iterative & Incremental approach to software development

4. Emphasizes the importance of delivering a working product quickly and


frequently.
5. It involves close collaboration between the development team and the
customer.

Q5. What are the advantages and disadvantages of Web Technologies?

ADVANTAGES OF WEB TECHNOLOGIES:


It is user friendly and less complex.
It is easy and fast to access when it is required.
Minimizes the human work and efforts
Accessible from anywhere
Rapid interactive communication
FC FA HW AA RC
DISADVANTAGES OF WEB TECHNOLOGIES:
It is controversial to be identified as a new field by engineers.
Increased privacy concerns
CV PC

ASSIGNMENT 5
Q1. What do you mean by maintenance in software engineering practices?

Q2. Why is software maintenance important?

Q3. What are the types of software maintenance? Explain all with the
examples.

Q4. Explain the process of software maintenance.

Q5. Explain following concepts

Q6. Software maintenance cost

Q7. Reverse Engineering

Q8. What are the steps of software Reverse Engineering?

Q9. What is maintenance documentation?

Q10. What are the different types of software maintenance


documentation?

Q11. Explain any 04 types of documentation for software development?

You might also like