Introduction to Software Engineering, Software Process, Perspective and Specialized Process Models – Introduction to Agility – Agile process – Extreme programming – XP process - Estimation-FP,LOC and COCOMO I and II,Risk Management, Project Scheduling.
The product that software professionals build and then support over the long term.Software Characteristics,
1.Software is developed or Engineered, it is not manufactured in the classical sense.Importance of Software Engineering
In this presentation, it will cover different software development methodologies. These include the common types of SDM, and the pros and cons.
A software development methodology involves several steps. These include planning, structuring, and performance tracking.
In some instances, it may also include extreme programming. The objective is to streamline the process when developing software or any product.
Almost all software development methodologies are non-technical. This means they do not deal with the technical aspects of software design and development. They focus more on the internal operations, and other processes involved in the project.
Take note that each has its specific features. Gauge your options, and choose the best one that suits your needs.
* What is Engineering?
* Who is an Engineer?
* The reasons to become an Engineer
* What is Software Engineering?
* Software Engineering: History
* The principles of Software Engineering
* Who is a Software Engineer?
* The reasons to become Software Engineer
* Requirements of being Software Engineer
* The Areas of Software Engineers
* The working areas of Software Engineers
* Difference between Computer Science and Software Engineering
* Pros and Cons of being Software Engineer
* A Software Engineer Responsibilities
* The Most Popular Software Development Methodologies(Waterfall, Rapid Application, Agile and DevOps) Development Methodology
* Version control
* Centralized Version Control
Agile Development | Agile Process ModelsAhsan Rahim
Agile Development | Agile Process Models
Here you are going to know What is Agile Development & What are Agile Process Models for the development of Software Product.
What are different types of Agile Development, steps involve in Agile Development, XP, Scrum, Traditional Process Models with full text and animated description.
Software Process Models defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software...
For more knowledge watch full video...
Video URL:
https://youtu.be/3Lxnn0O3xaM
YouTube Channel URL:
https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Google+ Page URL:
https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425
My Website Link:
http://appsdisaster.blogspot.com/
If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe to us.
Introduction to Software Engineering, Software Process, Perspective and Specialized Process Models – Introduction to Agility – Agile process – Extreme programming – XP process - Estimation-FP,LOC and COCOMO I and II,Risk Management, Project Scheduling.
The product that software professionals build and then support over the long term.Software Characteristics,
1.Software is developed or Engineered, it is not manufactured in the classical sense.Importance of Software Engineering
In this presentation, it will cover different software development methodologies. These include the common types of SDM, and the pros and cons.
A software development methodology involves several steps. These include planning, structuring, and performance tracking.
In some instances, it may also include extreme programming. The objective is to streamline the process when developing software or any product.
Almost all software development methodologies are non-technical. This means they do not deal with the technical aspects of software design and development. They focus more on the internal operations, and other processes involved in the project.
Take note that each has its specific features. Gauge your options, and choose the best one that suits your needs.
* What is Engineering?
* Who is an Engineer?
* The reasons to become an Engineer
* What is Software Engineering?
* Software Engineering: History
* The principles of Software Engineering
* Who is a Software Engineer?
* The reasons to become Software Engineer
* Requirements of being Software Engineer
* The Areas of Software Engineers
* The working areas of Software Engineers
* Difference between Computer Science and Software Engineering
* Pros and Cons of being Software Engineer
* A Software Engineer Responsibilities
* The Most Popular Software Development Methodologies(Waterfall, Rapid Application, Agile and DevOps) Development Methodology
* Version control
* Centralized Version Control
Agile Development | Agile Process ModelsAhsan Rahim
Agile Development | Agile Process Models
Here you are going to know What is Agile Development & What are Agile Process Models for the development of Software Product.
What are different types of Agile Development, steps involve in Agile Development, XP, Scrum, Traditional Process Models with full text and animated description.
Software Process Models defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high-quality software...
For more knowledge watch full video...
Video URL:
https://youtu.be/3Lxnn0O3xaM
YouTube Channel URL:
https://www.youtube.com/channel/UCKVvceV1RGXLz0GeesbQnVg
Google+ Page URL:
https://plus.google.com/113458574960966683976/videos?_ga=1.91477722.157526647.1466331425
My Website Link:
http://appsdisaster.blogspot.com/
If you are interested in learning more about topics like this so Please don't forget to like, share, & Subscribe to us.
Similar to Overview of Software Engineering Principles - SCPS311.pptx (20)
Gen Z and the marketplaces - let's translate their needsLaura Szabó
The product workshop focused on exploring the requirements of Generation Z in relation to marketplace dynamics. We delved into their specific needs, examined the specifics in their shopping preferences, and analyzed their preferred methods for accessing information and making purchases within a marketplace. Through the study of real-life cases , we tried to gain valuable insights into enhancing the marketplace experience for Generation Z.
The workshop was held on the DMA Conference in Vienna June 2024.
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...JeyaPerumal1
A cellular network, frequently referred to as a mobile network, is a type of communication system that enables wireless communication between mobile devices. The final stage of connectivity is achieved by segmenting the comprehensive service area into several compact zones, each called a cell.
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
2. Software Process (Personal or
Organizational)
• Problem analysis Understanding the nature of the problem to be solved
• Requirements elicitation Determining exactly what the program must do
• Software specification Specifying what the program must do (the
functional requirements) and the constraints on the solution approach
(non-functional requirements, such as what language to use)
• High- and low-level design Recording how the program meets the
requirements, from the “big picture” overview to the detailed design
• Implementation of the design Coding a program in a computer language
• Testing and verification Detecting and fixing errors and demonstrating the
correctness of the program
• Delivery Turning over the tested program to the customer or user (or
instructor)
• Operation Actually using the program
• Maintenance Making changes to fix operational errors and to add or modify the
function of the program
3. Definition of Terms
• Software engineering The discipline devoted
to the design, production, and maintenance of
computer programs that are developed on
time and within cost estimates, using tools
that help to manage the size and complexity
of the resulting software products
• Software process A standard, integrated set of
software engineering tools and techniques
used on a project or by an organization
4. Programmer’s Toolbox
• Hardware
– One toolbox contains the hardware itself: the computers and their
peripheral devices (such as monitors, terminals, storage devices, and
printers), on which and for which we develop software.
• Software
– A second toolbox contains various software tools: operating systems,
editors, compilers, interpreters, debugging programs, test-data
generators, and so on. You’ve used some of these tools already.
• Ideaware
– A third toolbox is filled with the knowledge that software engineers
have collected over time. This box contains the algorithms that we use
to solve common programming problems, as well as data structures
for modelling the information processed by our programs.
5. Ideaware
• Ideaware contains programming methodologies,
such as object-oriented design, and software
concepts, including information hiding, data
encapsulation, and abstraction.
• It includes aids for creating designs such as CRC
(Classes, Responsibilities, and Collaborations)
cards and methods for describing designs such as
the UML (Unified Modelling Language).
• It also contains tools for measuring, evaluating,
and proving the correctness of our programs.
6. Goals of Quality Software
• Quality software is much more than a program
that accomplishes its task.
• A good program achieves the following goals:
– 1. It works.
– 2. It can be modified without excessive time and
effort.
– 3. It is reusable.
– 4. It is completed on time and within budget.
• It’s not easy to meet these goals, but they are all
important.
7. GOAL 1: Quality Software Works
• The software accomplishes its task, and it does it
correctly and completely.
• Requirements A statement of what is to be provided
by a computer system or software product
• Software specification A detailed description of the
function, inputs, processing, outputs, and special
requirements of a software product. It provides the
information needed to design and implement the
product.
• We develop programs that meet the requirements by
fulfilling software specifications.
8. How do you know when the program
is right?
• A program has to be
• complete: it should “do everything” specified
• correct: it should “do it right”
• usable: its user interface should be easy to work
with
• efficient: at least as efficient as “it needs to be”
9. Goal 2: Quality Software Can Be
Modified
• Software changes often and in all phases of its life
cycle. Knowing this, software engineers try to develop
programs that are easy to modify.
• What makes a program easy to modify? First, it should
be readable and understandable to humans. Before it
can be changed, it must be understood. A well-
designed, clearly written, well-documented program is
certainly easier for human readers to understand.
• Second, it should be able to withstand small changes
easily. The key idea is to partition your programs into
manageable pieces that work together to solve the
problem, yet are relatively independent.
10. Goal 3: Quality Software Is Reusable
• It takes time and effort to create quality software.
Therefore, it is important to receive as much value from the
software as possible.
• One way to save time and effort when building a software
solution is to reuse programs, classes, methods, and so on
from previous projects. By using previously designed and
tested code, you arrive at your solution sooner and with
less effort.
• Alternatively, when you create software to solve a problem,
it is sometimes possible to structure that software so it can
help solve future, related problems.
• By doing this, you are gaining more value from the software
created.
11. Creating reusable software does not
happen automatically
• It usually has a simple interface so that it can easily be
plugged into another system.
• When creating software to fulfil a narrow, specific function,
you can sometimes make the software more generally
useable with a minimal amount of extra effort.
• For example, if you are creating a routine that sorts a list of
integers into increasing order, you might generalize the
routine so that it can also sort other types of data.
• Furthermore, you could design the routine to accept the
desired sort order, increasing or decreasing, as a parameter.
• One of the main reasons for the rise in popularity of object-
oriented approaches is that they lend themselves to reuse.
• We’ll demonstrate this in this course (SCPS311).
12. Goal 4: Quality Software Is Completed
on Time and within Budget
• This is why Submitting an assignment late gets
penalized. In the business world, it is simply not
acceptable.
• The software for controlling a space launch must be
developed and tested before the launch can take place.
No control software, no launch.
• A patient database system for a new hospital must be
installed before the hospital can open.
• In such cases, the program doesn’t meet its
requirements if it isn’t ready when needed.
• “Time is money” may sound trite but failure to meet
deadlines is expensive. Somebody has to pay for it.
13. What can you do to meet your GOAL?
• Understand, design and Code using the
appropriate tools. Start with:
• Specification: Understanding the Problem
14. What is the First Step?
• No matter what programming design technique
you use, the first steps are the same.
• When the First Programming assignment of a
module is daunting, students will react in one of
the following ways to meet the deadline:
1. Panic and do nothing 39%
2. Panic and drop the course 30%
3. Sit down at the computer and begin typing 27%
4. Stop and think 4%
15. Understand the problem
• Read the assignment, and then read it again.
• Ask questions of your instructor to clarify the
assignment.
• Starting early affords you many opportunities
to ask questions;
• Starting the night before the program is due
leaves you no opportunity at all.
16. Problem with coding first and thinking
later
• It locks you into the first solution you think of,
which may not be the best approach.
• We have a natural tendency to believe that
once we’ve put something in writing, we have
invested too much in the idea to toss it out
and start over.
• As a programmer where do you begin?
• Start by writing detailed specification!!
17. The benefit of using what you have to
get what is expected
• Using the problem description, first write a complete definition of
the problem, including the details of the expected inputs and
outputs, the processing and error handling, and all the assumptions
about the problem.
• When you finish this task, you have a specification—a definition of
the problem that tells you what the program should do.
• In addition, the process of writing the specification brings to light
any holes in the requirements.
• For instance, are embedded blanks in the input significant or can
they be ignored? Do you need to check for errors in the input? On
what computer system(s) is your program to run? If you get the
answers to these questions at this stage, you can design and code
your program correctly from the start.
18. Operational Scenario
• Many software engineers make use of operational
scenarios to understand requirements.
• A scenario is a sequence of events for one execution of the
program. Here, for example, is a scenario that a designer
might consider when developing software for a bank’s
automated teller machine (ATM).
1. The customer inserts a bankcard.
2. The ATM reads the account number on the card.
3. The ATM requests a PIN (personal identification number) from
the customer.
4. The customer enters 5683.
5. The ATM successfully verifies the account number and PIN
combination.
19. ATM Scenario Continues
6. The ATM asks the customer to select a transaction
type (deposit, show balance,
withdrawal, or quit).
7. The customer selects show balance.
8. The ATM obtains the current account balance
($1,204.35) and displays it.
9. The ATM asks the customer to select a transaction
type (deposit, show balance, withdrawal, or quit).
10. The customer selects quit.
11. The ATM returns the customer’s bankcard.
20. Specification
• The specification clarifies the problem to be
solved.
• However, it also serves as an important piece of
program documentation. Sometimes it acts as a
contract between a customer and a programmer.
• Recommended program specification includes
the following sections:
• processing requirements
• sample inputs with expected outputs
• assumptions