EC2302 Workbook
EC2302 Workbook
AND TECHNOLOGY
SCHOOL OF COMPUTING
EC2302
SOFTWARE ENGINEERING
STUDENT WORKBOOK
1.1 Introduction
In this lesson, you will learn how to define software, identify software crisis and explain the
importance of software engineering.
1
1.2 Learning Outcomes
1.3 Exercises
3. Why software engineering is needed to manage complexities which arise during the
software development?
1. Intangible product
2
1. 4 Summary
In this lesson, you have learned the importance of software engineering in software
development.
1. 5 Key Terms
3
LESSON 2: Software Process Models
2.1 Introduction
In this lesson, you will learn about the definition of process models and understand the
different types of Software Development Lifecycle models and their importance.
2.3 Exercises
4
6. Explain throw-away prototype and evolutionary prototype.
7. What are the TWO (2) models which are under the categories of object-oriented
models.
2. 4 Summary
In this lesson, you have learned the definition of software process models, software
development life cycle and different types of models.
Process Models To develop software using the specified steps through different
types of views or so called models.
5
LESSON 3: Requirement Analysis and Specifications
3.1 Introduction
In this lesson, you will learn how to identify the first phase of SDLC and discuss the
activities under this phase.
3.3 Exercises
6
6. Discuss ways to elicit requirements and from which sources?
3 4 Summary
In this lesson, you have learned the definition of requirement analysis, its importance and the
types of requirements documentation or specifications.
7
LESSON 4: Software Project Management
4.1 Introduction
In this lesson, you will learn about the definition of project planning and management,
identify the importance of project schedule, acquire knowledge of different software cost and
estimations techniques.
4.3 Exercises
8
4. What is SOW?
5. Describe briefly any ONE (1) tool which can be used for project schedule.
6. What is an estimation?
9
10. Draw any examples of GANTT CHART which show schedules for SIX weeks.
4. 4 Summary
In this lesson, you have learned the definition of project panning, having knowledge of
different categories of software estimations and different ways to do project scheduling.
Project Plan Defines the work that will be done on the project and who
will do it.
Statement Of Work The detailed descriptions of all the work products which
will be created throughout the project development.
10
LESSON 5: Structured and Object-oriented methodologies
5.1 Introduction
In this lesson, you will learn how to define methodologies, structured approach and object-
oriented approach.
5.3 Exercises
4. Draw a data flow diagram and use case diagram for the scenario below:
The purpose of the GREEN ACRES REAL ESTATE SYSTEM is to assist agents as
they sell houses. Sellers contact the agency, and an agent is assigned to help
the seller complete a LISTING REQUEST . Information about the house and lot
11
taken from that request is stored in a file. Personal information about the
sellers is copied by the agent into a sellers file.
When a buyer contacts the agency, he or she fills out a BUYER REQUEST .
Every two weeks, the agency sends prospective buyers AREA REAL ESTATE
LISTINGS and an ADDRESS CROSS REFERENCE LISTING containing actual
street addresses. Periodically, the agent will find a particular house that
satisfies most or all of a specific buyer’s requirements, as indicated in the
BUYER ’S REQUIREMENTS STATEMENT distributed weekly to all agents. The
agent will occasionally photocopy a picture of the house along with vital data
and send the MULTIPLE LISTING STATEMENT (MLS) to the potential buyer.
When the buyer selects a house, he or she fills out an OFFER that is forwarded
through the real estate agency to the seller, who responds with either an
OFFER ACCEPTANCE or a COUNTER OFFER . After an offer is accepted, a
PURCHASE AGREEMENT is signed by all parties. After a PURCHASE
AGREEMENT is authorized, the agency sends an APPRAISAL REQUEST to an
appraiser, who appraises the value of the house and lot. The agency also
notifies its finance company with a FINANCING APPLICATION .
12
5. 4 Summary
In this lesson, you have learned how to define methodologies and identify structured and
object-oriented approach.
Object-oriented An approach using the object paradigm which follows the UML
techniques to develop software.
13
LESSON 6: Software Design and Programming
6.1 Introduction
In this lesson, you will learn about the definition of software design, identify different design
models and understand programming activities.
6.3 Exercises
14
5. Explain all notations in program design.
6. 4 Summary
In this lesson, you have learned the different aspects of software design.
Software design Construction of logical view and model before the actual
coding started.
15
LESSON 7: Software Testing
7.1 Introduction
In this lesson, you will learn how to define testing and identify different categories of
software testing.
7.3 Exercises
16
5. Explain the THREE (3) types of software testing.
7. 4 Summary
In this lesson, you have learned how to define software testing and all aspects of tesiing.
Test Plans Lists of tasks which identify all requirements that are not met in
software.
17
Reviews Activity where the reviewers will assess the software and provide
feedbacks.
LESSON 8: Maintenance
8.1 Introduction
In this lesson, you will learn how to define software maintenance, identify different
categories and maintenance aspects.
8.3 Exercises
18
3. Discuss THREE (3) types of maintenance.
8. 4 Summary
In this lesson, you have learned how to define maintenance and maintenance aspects.
19
20