Dr. Nikolay Nikolaev

IS52018B Software Projects: Software Engineering and Research Methods

TABLE OF CONTENTS:
SYLLABUS
...Course description
...Course objectives
...Learning outcomes
...Textbooks
...Attendance
...Grading
...Examination Assesment
...Dates for Group Project
...Office hours
...References
...Internet Resources
COURSE OUTLINE FOR SPRING 2011

Syllabus

Course description


The course introduces software engineering as a discipline that integrates theory and practical techniques for developing software projects. Knowledge and tools necessary for the specification, design, implementation, testing and maintenance of reliable software are provided. The topics covered include software process models, project planning, software specification and design, programming techniques, principles of testing, validation and verification, as well as human factors in the software process. The material emphasizes on the object-oriented engineering methodology using the Unified Modeling Language (UML).

back to top

Course objectives


The objectives of the course in software engineering are:

to give the basic software design methodologies;
to cover requirements modeling methods and notation;
to give knowledge for ensuring software quality;
to provide the software project management activities;
to teach the fundamental concepts of the object model;
to present applications of object-oriented systems.

back to top

Learning outcomes


On successful completion of this module, students will be able to:

understand the importance of software engineering;
be able to undertake software risk analysis;
know the basic methods of software design;
know the techniques for software implementation;
know the basic methods of software testing;
appreciate the importance of software quality control;
be able to perform software maintenance;
have knowledge of object-oriented design principles;
understand the role and usefulness of CASE tools;
distinguish the software process from the product.

back to top


Textbooks


Pressman, Roger S.
Software Engineering. A Practitioners Approach,
Fifth Edition, European Adaptation,
The McGraw-Hill Co., London, UK, 2000.

Fowler, M.
UML Distilled,
Third Edition, Addison-Wesley Publ. Co., Boston, MA, 2004.

Bennett.S., Skelton.S. and Lunn,K.
Schaum's Outline of UML (Schaum's Outline Series),
Second Edition, McGraw-Hill Professional Publ., 2004.

back to top


Attendance


The students are advised to attend the lectures !
Attendance to workshops and tutorials is however compulsory and will be monitored.

back to top


Grading


Excellent A = 70 - 100
Very Good B = 60 - 69
Good C = 50 - 59
Acceptable D = 40 - 49
Weak E = 35 - 39
Fail F = 0 - 34

back to top


Examination Assesment


One Written Examination: 25%
Group Project: 25%

back to top


Dates for Group Project


Handout Lecture Group Project: 10 February 2011.
Submit Lecture Group Project: 24 March 2011.
PROJECT PRESENTATIONS on 24 March 2011,
room 11, StJames 29, from 13:00 to 17:00 p.m.
Every student should explain personally his contribution to the project!

back to top


Surgery hours


Thursday 13:00 - 14:00 pm
Thursday 15:00 - 16:00 pm

back to top


References


Alhir, S.S.
UML in a Nutshell,
O'Reilly & Associates, Sebastopol, CA, 1998.

Booch, G.
Object-Oriented Analysis and Design with Applications,
The Benjamin/Cummings Publ., Redwood City, CA, 1994.

Brown, D. and Brown, D.W.
An Introduction to Object-Oriented Analysis:
Objects and UML in Plain English
, 2nd Edition,
John Wiley & Sons, New York, NY, 2001.

Larman, C.
Applying UML and Patterns. An Introduction to Object-
Oriented Analysis and Design, and the Unified Process
,
2nd Ed., Prentice Hall PTR, Upper Saddle River, NJ, 2001.

Priestley, M.
Practical Object-Oriented Design with UML,
The Mc-Graw Hill Co., London, UK, 2000.

back to top


Internet Resources


Free Software: Unified Modeling Language (UML)
UML Resource Center: UML Documentation
Course Book: Software Engineering Resources (R.S.Pressman)

back to top

IS52018B Course outline for Spring 2011

Date

L/W

Topic / Assignment

20/January/2011

L

Software: Nature and Qualities. Why Software,
Software Characteristics and Applications,
Internal and External Software Qualities.
Text: pp.3-14 (Chapter 1).

20/January/2011

W

The Unified Modeling Language (UML).
Object - Oriented Software Engineering,
Abstraction, Encapsulation, Modularity, Hierarchy.
Text: pp. 526-550 (Chapter 21).
Exercises: 20.1-20.14, pp.551-552.

27/January/2011

L

The Unified Modeling Language (UML).
Elements of UML- views, diagrams, and models.
Object Diagrams, Sequence, Collaboration and State Diagrams.
Text: pp. 1-18 (book 2)
Text: pp. 554-570 (Chapter 21).
Exercises: 21.1-21.10, pp.582-583.

27/January/2011

W

Object-Oriented Modeling using UML I. UML Use-Case Diagrams-
Modeling Use-Cases and Actors.
Example: Point-of-Sale Terminal System.
Text: pp.99-105 (book 2).

3/February/2011

L

Software Process Models. Software Specification,
Text: pp.17-46 (Chapter 2).
Exercises: 2.1-2.13, pp.48.
Software Project Management, The Project Spectrum,
Project Management Metrics, Size-Oriented and Function-Point Metrics.
Text: pp.53-72 (Chapter 3), pp.77-92 (Chapter 4)
Exercises: 3.1-3.12, pp.73-74.
Exercises: 4.1-4.15, pp.111-112.

3/February/2011

W

Object-Oriented Modeling using UML II. UML Class Diagrams-
Modeling Classes and Associations.
Example: Point-of-Sale Terminal System.
Text: pp.35-52, 65-85 (book 2).

10/February/2011

L

Software Project Scheduling. Principles,
People-Work Relationship, Task Networks, Timeline Charts.
Text: pp.165-188 (Chapter 7)
Exercises: 7.1-7.14, pp.189-190.

10/February/2011

W

Object-Oriented Modeling using UML III.
Object Diagrams, Links, Navigatability and Messages.
Example: Point-of-Sale Terminal System.
Text: pp.87-88 (book 2).

17/February/2011

L

Software Project Planning. Software Scope,
Resources, The Software Project Plan.
Text: pp.115-124 (Chapter 5)
Exercises: 5.1-5.9, pp.143.
Requirements Analysis. Analysis Principles,
The Software Requirements Specification.
Text: pp.266-289 (Chapter 11)
Exercises: 11.1-11.13, pp.290-291.

17/February/2011

W

Object-Oriented Modeling using UML IV.
Sequence Diagrams, Objects, Lifelines and Messages.
Example: Point-of-Sale Terminal System.
Text: pp.53-63 (book 2).

3/March/2011

L

Software System Design. Software Design
Principles
, The Software Design Specification.
Text: pp.329-352 (Chapter 13)
Exercises: 13.1-13.16, pp.354-355.
Object-Oriented Software Design. The Macro
and Micro Design Processes
.
Text: pp.585-632 (Chapter 22)
Exercises: 22.1-22.16, pp.633-634.

3/March/2011

W

Object-Oriented Modeling using UML V. Dynamic
Modeling- Activity and State Diagrams.
Example: Point-of-Sale Terminal System.
Text: pp.117-130 (book 2).

10/March/2011

L

Software System Implementation. Architectural
and Component Implementation
, Architectural Styles.
Text: pp.357-388 (Chapter 14).
Text: pp.413-423 (Chapter 16).
Exercises: 16.1-16.12, pp.424-425.
Software Testing Fundamentals. White-Box
Testing
, Basis Paths, Black-Box Testing.
Text: pp.426-442 (Chapter 17)
Exercises: 17.1-17.10, pp.462.

10/March/2011

W

Object-Oriented Modeling using UML VI. Dynamic
Modeling- Communication (Collaboration) Diagrams.
Example: Point-of-Sale Terminal System.
Text: pp.143-146 (book 2).

17/March/2011

L

Test Case Design, Control Structure Testing.
Text: pp.442-460 (Chapter 17)
Exercises: 17.11-17.18, pp.463.
Verification and Validation. Testing Strategies,
Debugging Approaches, Testing Specification.
Text: pp.465-490 (Chapter 18)
Exercises: 18.1-18.11, pp.490-491.

17/March/2011

W

Object-Oriented Modeling using UML VII. Package
Diagrams and Deployment Diagrams.
Example: Point-of-Sale Terminal System.
Text: pp.89-98 (book 2).

24/March/2011

L

Object-Oriented Software Testing. Testing OOA and
OOD Models, Object-Oriented Testing Strategies.
Text: pp.636-654 (Chapter 23)
Exercises: 23.1-23.12, pp.655.
Software Quality Assurance. Software Reviews,
Formal Technical Reviews, Software Safety.
Text: pp.193-214 (Chapter 8)
Exercises: 8.1-8.17, pp.220-221.

24/March/2011

W

UML-guided Implementation of Object-Oriented Systems.
Example: Implementing the POST System in JAVA.

31/March/2011

L

Software Risk Identification. Risk Analysis
Risk Estimation and Monitoring.
Text: pp.146-160 (Chapter 6)
Exercises: 6.1-6.11, pp.161-162.

31/March/2011

W

CASE Tools for Object-Oriented Modeling. Rational Rose,
UML Modeling and Code Generation with Rational Rose.

back to top