Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

NAME: ZIA HASSAN

Roll# 3002
Section BSIT-5th EVE (B)
Subject Software Engineering
Assignment # Mid Term
SUBMITTED TO: Muhammad Abdullalha

Department of Computer Sciences

University of Okara
Q#1: Explain the meaning of software danger and its
importance in concerned of software engineering?
Answer:
Software danger:
During the amount of package development and up gradation, we tend to Janus-
faced following issues once 1960,
• Capability and capability of machines magnified.
• People became additional privy to the employment of computers.
• The price of Hardware became low.
• Computer system improved quick with the assistance of additional powerful
machines and handiness of user friendly software.
Software necessities magnified as a result of the employment of laptop and its
applications magnified. For the event of package the eye shifted from the easy
programming. For the event of package systems, the techniques for
straightforward writing program couldn't be upgraded. So the package realize in
laptop world continually within the middle of package danger. Package danger is
delineated as a gaggle of errors and troubles that grows throughout the amount of
development of package. These package dangers unfold terribly quickly.

Importance of software danger in concerned to software


Engineering discipline

 Software engineering is an associate engineering discipline that is


concerned with all manners of software package production from the first
stages of system designation through to maintaining the system once it's
gone into use.

 Engineering discipline: Victimization acceptable theories and


methods to unravel problems bearing in mind structure and cash
constraints.
 All aspects of software package production: Not just the technical
methodology of development. In addition to project management
and conjointly the event of tools, methods, etc. to support software
package production.

 The system coated an out sized house, the requirement of laptop


computer code becomes over the power of our laptop computer
production and maintenance.

 Some organized thoughts area unit used to solve the matter of software
package danger as a result of the assist in the development of a code or
upgrade a code.

 To the resolution of software package danger with processed techniques is


utilized as a term of software package Engineering.

 Development of software package and regular maintenance of it is the


most a district of software package Engineering.

 Resolution of problems that makes by soft danger is that the discipline that
worries to software package Engineering.

Q#2: How can we estimate the size of the projects? Discuss


the different ways?

Estimation of the scale of code is a necessary a part of code Project


Management. It helps the project manager to more predict the hassle and time
which is able to be required to make the project. Numerous measures are
employed in project size estimation. A number of these are:

1) Lines of Code

2) Number of entities in ER diagram

3) Total number of processes in detailed data flow diagram

4) Function points

1. Lines of Code (LOC): because the name recommend, LOC count the entire
range of lines of ASCII text file during a project. The units of LOC are:

• KLOC- Thousand lines of code

• NLOC- Non comment lines of code

• KDSI- Thousands of delivered supply instruction

The size is calculable by examination it with the present systems of same kind.
The consultants use it to predict the specified size of assorted elements of code
and so add them to urge the entire size.

Advantages:

• Universally accepted and is employed in several models like


COCOMO.

• Estimation is nearer to developer’s perspective.

• Simple to use.

Disadvantages:
• Different programming languages contain completely different range
of lines.

• No correct trade normal exists for this method.

• It is troublesome to estimate the scale victimization this method in


early stages of project.

2. Range of entities in ER diagram: ER model provides a static read of the


project. It describes the entities and its relationships. The quantity of entities in
ER model is wont to live the estimation of size of project. Range of entities
depends on the scale of the project. This is often as a result of additional entities
required additional classes/structures so resulting in additional committal to
writing.

Advantages:

• Size estimation is done throughout initial stages of coming up with.

• Number of entities is freelance of programming technologies used.

Disadvantages:

• No fastened standards exist. Some entities contribute additional


project size than others.

• Just like FPA, it's less utilized in value estimation model. Hence, it
should be reborn to LOC.

3. Total range of processes in elaborate information flow diagram:


information multidimensional language (DFD) represents the useful read of
computer code. The model depicts the most processes/functions concerned in
computer code and flow of knowledge between them. Utilization of range of
functions in DFD to predict computer code size. Already existing processes of
comparable kind area unit studied and wont to estimate the scale of the method.
Total of the calculable size of every method provides the ultimate calculable size.

Advantages:
• It is freelance of programming language.

• Each major method is rotten into smaller processes. This may


increase the accuracy of estimation

Disadvantages:

• Studying similar reasonably processes to estimate size takes beyond


regular time and energy.

• All computer code comes don't seem to be needed to construction of


DFD.

4. Perform purpose Analysis: during this technique, the quantity and kind of
functions supported by the software system are utilized to search out FPC
(function purpose count). The steps in perform purpose analysis are:

• Count the quantity of functions of every planned kind.

• Compute the Unadjusted performs Points (UFP).

• Find Total Degree of Influence (TDI).

• Compute price Adjustment issue (VAF).

• Find the perform purpose Count (FPC).

Q#3: Tell about SCRUM Model in detail.


Scrum:
Scrum methodology relies on a group of much-defined practices
and roles that has got to be concerned throughout the computer code
development method. It’s a versatile methodology that rewards the applying
of the twelve agile principles in an exceedingly context in agreement by all the
team members of the merchandise.

Start is grounded in empirical method management theory, employs


Associate in nursing repetitive, progressive approach to optimize sure thing
and management risk.

Is about
 Transparency
 Inspection

 Adaptation

 Scrum focuses on developing the merchandise in an exceedingly


series of fixed-length iterations known as sprints (usually 2-4 weeks).
 This offer groups a framework for shipping software package on a
daily rhythm.
 Milestones – i.e., the tip of a sprint – return frequently; transferal
with them a sense of tangible progress with every cycle that focuses
and energizes everybody.
 Scrum demand four ceremonies that bring structure to every sprint.
Throughout a sprint, visual artifacts like task boards and burn down
charts, visible to the team and spectators alike, square measure
powerful motivators.
 A commencement team includes a slightly completely different
composition than a conventional falls project, with 3 specific
roles:
 Product owner,
 Scrum master, and
 The development team.
 Because commencement groups are cross-functional, "the
development team" includes testers, designers, and Ops engineers
additionally to developers.

• The Project Owner:


– creates a prioritized listing known as a product
– backlog
– closely partners with the business and therefore the team to
– ensure everybody understands the work things in
– the product backlog
– gives the team clear steering on that options
– to deliver next
– decides once to ship the merchandise with a
– preference towards additional frequent delivery commencement

Scrum Master:
 The start Master is that the champion for start inside their team.
 They coach the team, the merchandise owner, and also the business on
the start method and appearance for methods to fine-tune their follow
of it.
 An effective start master deeply understands the work being done by
the team and might facilitate the team optimize their delivery flow.
 They schedule the required resources (both human and logistical) for
sprint coming up with, stand up, sprint review, and also the sprint
retrospective.
 The start Master additionally appearance to resolve impediments and
distractions for the event team, insulating them from external
disruptions whenever doable.
 Part of the start master's job is to defend against a pattern common
among groups new scrum: dynamical the sprint's scope once it's already
begun.

Scrum Team:
 The beginning Team controls its own destiny and self-organizes around
their work.
 Agile groups use pull models wherever the team pulls an exact quantity
of labor off the backlog and commits to finishing it that sprint, that is
incredibly effective in maintaining quality and making certain optimum
performance of the team over the long-run.
 The most effective beginning groups square measure integrated, co-
located, and typically five to seven members. Team members have
differing talent sets, and cross train one another therefore nobody
person becomes a bottleneck within the delivery of labor.
 The beginning Team drives the set up for every sprint. They forecast
what proportion work they believe they'll complete over the iteration
exploitation their historical speed as a guide.

Q#4: Describe the main processes in a modern software


development environment, and the tools used to support
them.

Table of Contents:

 Brainstorming and planning

 Requirements and feasibility analysis

 Design

 Development & coding

 Integration and testing

 Implementation and deployment

 Operations and maintenance


1. Brainstorming and planning:
It all starts with an excellent plan. However any plan has to be fastidiously
thought over so as to be enforced. Meticulous coming up with is that the initial
and one among the core phases of software package development or
development because it presupposes crucial the scope of the project, process
means that and ways that for the new system to satisfy business strategic
objectives, resource accessibility, cost-related problems, time frames and crucial
solutions. Solely once an ideal set up is puzzled out you're able to move forward.

2. Requirements and feasibility analysis:


Feasibility analysis displays all the technical and economic aspects impacting the
applying development process: time, resources and tasks and involvement
estimates from the team members facilitate calculate ROI and verify project
value and profit.

Requirements analysis conjointly helps determine the risks at the terribly begin
so risk mitigation methods may be puzzled out from the terribly starting.

3. Design:
During this section, the full structure of the project is constructed with the
ultimate model and mock ups used for ensuing stages of the software package
development method. Once the planning is known it’s time to maneuver to the
terribly development.

4. Development & coding:


The development section is concerning writing code and changing style
documentation into the particular software package inside the software package
development method. This stage of SDLC is mostly the longest as it’s the
backbone of the full method and there square measure variety of important
things to listen to. The software package engineering team has got to certify
their code meets the software package necessities specifications, conforms to
the stakeholders’ necessities, etc.
5. Integration and testing:
The Quality Assurance team conducts a series of tests as well as practicality
testing, systems integration, and ability likewise as user acceptance testing, etc.
so as to make sure the code is clean and business goals of the answer square
measure met. Verification and validation structure a significant half in
guaranteeing the application/solution square measure completed with success.
Currently that the software package is bug-free, the implementation section
starts.

6. Implementation and deployment:


This is a stage once the particular installation of the crafted resolution takes
place. It’s done piecemeal per the implementation set up. The new designed and
tested application is stirred to production as well as information and elements
transfer whereas throughout ensuing releases solely the precise changes are
deployed.

7. Operations and maintenance:


The final stage of software package development life-cycle includes
maintenance and regular updates. The section is treated with the utmost
attention since throughout the stage the merchandise is polished, upgraded,
increased and fine-tuned per the real-world feed backs on its performance.

The tools used to support them:


 Git
 GitLabs
 IntelliJ IDEA
 Stack Overflow
 Docker
 Jira
 Jenkins
 Tmux
 Slack
 Feedly
 Trello

Q#5: If the software were safety-critical, such as the control


software for a car's anti-lock braking system (ABS), which
other processes might be added?

Anti-lock braking system:


This is a safety-critical system therefore needs a great deal of up-front
analysis before implementation. It definitely desires a plan-approachable to
development with the wants fastidiously analyzed. A water model is thus the
foremost applicable approach to use.

a) Anti-lock braking system: this can be a safety-critical system thus needs a


great deal of up-front analysis before implementation. It actually desires a
plan-driven approach to development with the wants rigorously analyzed.
A falls model is so the foremost applicable approach to use, maybe with
formal transformations between the various development stages.
b) Virtual reality system: this can be a system wherever the wants can
amendment and they'll be an in depth programmed elements. Progressive
development with, perhaps, some UI prototyping is that the most
applicable model. Associate agile method is also used.

c) University accounting system: this can be a system whose needs ar fairly


well-known associated which can be utilized in an atmosphere in
conjunction with various different systems like a pursuit grant management
system. Therefore, a reuse-based approach is probably going to be
applicable for this.

d) Interactive travel coming up with system: System with a posh


programmed however that should be stable and reliable. Associate
progressive development approach is that the most applicable because the
system needs can amendment as real user expertise with the system is
gained.

You might also like