0% found this document useful (0 votes)
85 views

CCS109 Week 2 Understanding Software Engineering

Software terminologies

Uploaded by

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

CCS109 Week 2 Understanding Software Engineering

Software terminologies

Uploaded by

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

PAMANTASAN NG CABUYAO

COLLEGE OF COMPUTING AND ENGINEERING

COURSE CODE: CSP109


COURSE Software Engineering 1
DESCRIPTION:
COURSE INTENDED 1. To understand principles, concepts, methods, and techniques
LEARNING of the software engineering approach.
OUTCOMES: 2. To develop software design using different methodologies
which are used within software engineering.
3. To apply scientific and technical knowledge in order to design,
test and implement software.
4. To function effectively as a member of a team engaged in
technical work.
LEARNING MATERIAL 2
FOR WEEK NUMBER:
I. TITLE: UNDERSTANDING SOFTWARE ENGINEERING

II. OBJECTIVES: After this lesson, you are expected to:

1. Discuss the need of software engineering


2. Understand a better perspective about software engineering
3. Describe the challenges of software engineering and components
of computer

III. INTRODUCTION:
This lesson examines the branch of engineering. It will discuss the need
of software engineering. Also, it will discuss some serious challenges
faced by software engineering. The lesson includes the discussion of
the major hardware components of computer system. In gaining better
perspective of software engineering, this topic will also discuss the
importance of project management and its processes.

IV. CONTENTS:

Lesson Coverage:

1. Understanding Software Engineering and the need of Software engineering


2. Challenges of Software Engineering
3. Components of a Computer

Understanding Software Engineering

Engineering is the application of scientific and practical knowledge to invent, design, build, maintain, and
improve frameworks, processes. The term software engineering is a product of two words, software and
engineering. Software – collection of integrated programs. Software subsists of carefully -organized
instructions and code written by developers on any of various particular computer languages. Computer
programs and related documentation such as requirements, design models and user manuals. Engineering
is the application of scientific and practical knowledge to invent, design, build, maintain, and improve
frameworks, processes, etc. Software engineering is an engineering branch related to the evolution of
software product using well defined scientific principle, techniques and procedures. The result of software
engineering is an effective and reliable software product.

LECTURE NOTES COMPILATION Page 1 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

❖ Software Engineering is required due to the following reasons:


• To manage large software
• For more scalability
• Cost management
• To manage the dynamic nature of software
• For better quality management

❖ Need of Software Engineering


The necessity of software engineering appears because of a higher rate of progress in user
requirements and the environment on which the program is working.

• Huge Programming: It is simpler to manufacture a wall than to a house or building, similarly


as the measure of programming become extensive engineering has to step to give it a
scientific process.

• Adaptability: If the software procedure were not based on scientific and engineering ideas,
it would be simpler to re-create new software than to existing one.

• Cost: As the hardware industry has demonstrated its skills and huge manufacturing has let
down the cost of computer and electronic hardware. But the cost of programming remains
high if the proper process is not adapted.

• Dynamic Nature: The continually growing and adapting nature of programming hugely
depends upon the environment in which the client works. If the quality of the software is
continually changing, new upgrades need to be done in the existing one.

• Quality Management: Better procedure of software development provides a better


and quality software product.

Challenges in Software Engineering


❖ Software Development Approaches
The Software Development Approaches below show how the various tasks related to software
development can be organized. Typical approaches or paradigms encountered in software
development include waterfall, incremental, and spiral:

LECTURE NOTES COMPILATION Page 2 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

Waterfall Approach

Introduced by Dr. Winston W. Royce in a paper published in 1970, the waterfall model is often also
referred to as the linear and sequential model, for the flow of activities in this model are rather linear and
sequential as the name suggests. In this model, the software development activities move to the next phase
only after the activities in the current phase are over. However, like is the case with a waterfall, one cannot
return to the previous stage.

Development activities:
• are performed in order,
• with possibly minor overlap,
• but with little or no iteration between activities.
User needs are determined, requirements are defined, and the full system is designed, built, and tested for
ultimate delivery at one point in time.
A document-driven approach best suited for highly precedence systems with stable requirements.

The Waterfall Approach focuses on the logical progression of all the steps involved in the software
development life cycle (SDLC). Once the development team moves on to the next stage of the development,
moving backward is restricted, which is also the biggest con of the Waterfall approach.

Incremental Approach

Determines user needs and defines the overall architecture, but then delivers the system in a series of
increments (“software builds”). The first build incorporates a part of the total planned capabilities, the next
build adds more capabilities, and so on, until the entire system is complete.

LECTURE NOTES COMPILATION Page 3 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

Agile Software Development Approach

The agile software development methodology is an incremental and iterative approach to software

development. It follows the same set of steps as that of the Waterfall model, but unlike Waterfall, the Agile

methodology allows moving to-and-fro across stages.

Agile Development roots back to the 12 principles and 4 values of Agile Manifesto. Every organization that

follows these values and principles aggressively — practices Agile as its software development

methodology. It is the most commonly used software development methodology as it introduces:

• Speed

• Flexibility

• Cross-functional Setups

• Collaboration

• Communication

LECTURE NOTES COMPILATION Page 4 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

Spiral Approach

A risk-driven controlled prototyping approach that develops prototypes early in the development process
to specifically address risk areas followed by assessment of prototyping results and further determination
of risk areas to prototype. Areas that are prototyped frequently include user requirements and algorithm
performance.

Prototyping continues until high risk areas are resolved and mitigated to an acceptable level.

During each iteration or loop the system is explored at greater depth and more detail is added. Appropriate
for exploratory projects that are working in an unfamiliar domain or with unproven technical approaches.
The iterative natures allow for knowledge gained during early passes to inform subsequent passes.
Requires low up-front commitment.

LECTURE NOTES COMPILATION Page 5 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

Software engineering employs a well-defined and systematic approach to develop software as mentioned
above). Some of these approaches is considered to be the most effective ways of producing high-quality
software. However, despite this systematic approach in software development, there is still some serious
challenges faced by software engineering. Some of the challenges are listed below:
• The methods used to develop small or medium-scale projects are not suitable when it comes to the
development of large-scale or complex systems.
• Changes in software development are unavoidable.
• The advancement in computer and software technology has necessitated for the changes in nature
of software systems.
• Informal communications take-up a considerable portion of the time spent on software projects.
• The user generally has only a vague idea about the scope and requirements of the software system.
• Changes are usually incorporated in documents without following any standard procedure.
• The development of high-quality and reliable software requires the software to be thoroughly
tested.

Component of a Computer

A computer system consists of both hardware and information stored on hardware.

Software – information stored on computer hardware.

• The hardware components of a computer system are the electronic and mechanical parts.

LECTURE NOTES COMPILATION Page 6 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

• The software components of a computer system are the data and the computer programs.

The major hardware components of a computer system are:

• Processor
• Main memory
• Secondary memory
• Input devices
• Output Devices

For typical desktop computers, the processor, main memory, secondary memory, power supply, and
supporting hardware are housed in a metal case. Many of the components are connected to the main
circuit board of the computer, called the motherboard. The power supply supplies power for the most
of the components. Various input devices (such as keyboard) and output devices (such as the monitor)
are attached through connectors at the rear of the case.

Bus – group of wires on the main circuit board of a computer. It is a pathway for data flowing between
components. Most devices are connected to the bus through a controller which coordinates the
activities of the device with the bus.

Processor – is an electronic device about a one inch square, covered in plastic. Inside the square is an
even smaller square of silicon containing millions of tiny electrical parts. A modern processor may
contain billion of transistors. It does the fundamental computing within the system and directly or
indirectly control all the other components.

Project Management

To discuss project management, it is important to understand the concept of a project. A project is “a


temporary endeavor undertaken to create a unique product, service, or result.” Operations, on
the other hand, is work done in organizations to sustain the business. Projects are different from
operations in that they end when their objectives have been reached or the project has been terminated.

Projects can be large or small and involve one person or thousands of people. They can be done in one
day or take years to complete. As described earlier, IT projects involve using hardware, software, and
networks to create a product, service, or result.

Project Management – the application of knowledge, skills ,tools and techniques to project activities to
meet the project requirements.

4 stages:

• Feasibility Study
• Project Planning

LECTURE NOTES COMPILATION Page 7 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

• Project Execution
• Project Termination

Feasibility Study

c
c

Project Planning

Project Execution

Project
Termination

FEASIBILITY STUDY

It explores system requirements to determine project feasibility.

Fields: Economic, Operational and Technical

Goal: To determine whether the system can be implemented or not.

The process of feasibility study takes as input the requirement details as specified by the user and
other domain specific details. The output of this process simply tells whether the project should be
undertaken or not and if yes, what would be the constraints be.

In addition, all the risks and their potential effects on the projects are also evaluated before a decision to
start the project is taken.

PROJECT PLANNING

A detailed plan stating stepwise strategy to achieve the listed objectives is an integral part of any
project.

Planning consists of the following activities:

▪ Set Objectives or goals,

LECTURE NOTES COMPILATION Page 8 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

▪ Develop strategies,
▪ Develop project policies,
▪ Determine course of action,
▪ Making planning decisions,
▪ Set procedures and rules for the project
▪ Develop a software project plan
▪ Prepare budget
▪ Conduct risk management
▪ Document software project plans

This step also involves the constructions of a work breakdown structure (WBS). It also includes size,
effort, schedule and cost estimation using various techniques.

PROJECT EXECUTION

A project is executed by choosing an appropriate software development lifecycle model (SDLC).

Steps:

▪ Requirement Analysis
▪ Design
▪ Coding
▪ Testing and Implementation
▪ Testing
▪ Delivery and Maintenance

Factors that need to be considered while doing project execution:

▪ Size of the system


▪ The nature of the project
▪ Time
▪ Budget constraints
▪ Domain requirements
* An inappropriate SDLC can lead to failure of the project.

PROJECT TERMINATION

A project can be terminated for several reasons. Though expecting a project to terminate after a successful
completion is conventional, but at times, a project may also terminate without completion. Projects have to
closed down when the requirements are not fulfilled according to given time and cost constraints.

Some of the reasons for failure include:

▪ Fast Changing technology


▪ Project running out of time

LECTURE NOTES COMPILATION Page 9 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

▪ Organizational politics
▪ Too much change in customer requirements
▪ Project Exceeding budget or funds

Once the project is terminated, a post-performance analysis is done. Also, a final report is published
describing experiences, lessons learned, recommendations for handling future projects.

V. REFERENCES [1]Hammond,T. (2020). Introduction to Software Engineering. Larsen & Keller


Education.
[2]https://www.netsolutions.com/insights/top-3-software-development-
methodologies-pros-cons/
[3]https://acqnotes.com/acqnote/careerfields/software-development-approaches
[4]cerritos.edu/dwhitney/SitePages/CIS201/Lectures/IM-7ed-Chapter10.pdf
[5]https://files.transtutors.com/cdn/uploadassignments/2411827_1_information-
technology-project-management--8-edition-.pdf

VI. ASSESSMENT TASK:

Assessment task is posted as scheduled in our MS Team.

DISCLAIMER

Every reasonable effort is made to ensure the accuracy of the information used in the creation of
this reference material, without prejudice to the existing copyrights of the authors. As an off-shoot of the
innumerable difficulties encountered during these trying times, the authors endeavored to ensure proper
attribution of the esteemed original works, by way of footnotes or bibliography, to their best abilities and
based on available resources, despite the limited access and mobility due to quarantine restrictions
imposed by the duly constituted authorities.

We make no warranties, guarantees or representations concerning the accuracy or suitability of the


information contained in this material or any references and links provided here. Links to other materials
in our CPOD and CAM was made in good faith, for non-commercial teaching purposes only to the extent
justified for the purpose, and consistent with fair use under Sec. 185 of Republic Act No. 8293, otherwise
known as the Intellectual Property Code of the Philippines.

COPYRIGHT NOTICE

Materials contained in the learning packets have been copied and conveyed to you by or on behalf
of Pamantasan ng Cabuyao pursuant to Section IV - The Copyright Act (RA) 8293 of the Intellectual Property
Code of the Philippines.

You are not allowed by the Pamantasan ng Cabuyao to reproduce or convey these materials. The
content may contain works which are protected by copyright under RA 8293. You may be liable to copyright
infringement for any copying and/ or distribution of the content and the copyright owners have the right
to take legal action against such infringement.

Do not remove this notice.

LECTURE NOTES COMPILATION Page 10 of 11


2nd Semester A.Y. 2020-2021
PAMANTASAN NG CABUYAO
COLLEGE OF COMPUTING AND ENGINEERING

LECTURE NOTES COMPILATION Page 11 of 11


2nd Semester A.Y. 2020-2021

You might also like