|
Program Format
Software Engineering certificate requires the successful completion of 4 courses.
All courses are taught online, and it will take about four months to complete
the requirements for the certificate.
MIC is proud of its unique e-Learning system, including an extensive online
library. To learn more about e-Learning please visit:
http://www.micelearning.com/Mic/Default.aspx
The next starting date for the certificate programs is April 2008.
Program Requirements
People at all levels and all areas and all ages are eligible to apply to the
certificate programs
Tuition Fees & Payment Options
The regular tuition fee for each of these certificates is $2000 US. Payment
may be in two installments of $1000. The first payment must be made prior to starting
the program, and the second after two months.
Scholarships
Scholarships covering 50% of the full tuition are available to qualified applicants
residing in overseas countries (the tuition paid is therefore $1000). In this case
the payment may be in two installments of $500, or four installments of $250.
How to apply for admission to an online certificate program
To apply for a certificate program please scan and send the following documents
to us by email:
- Your full CV
- Your most recent high school or university degree
- Copy of your passport (only the first two pages, with your
photograph and personal information)
Please identify the program you are applying for in the subject line of your email.
We also invite you to visit our website: www.micanada.org where
you can find more information about MIC.
Should you need further information, please contact us at:
se@micelearning.com or
admin@micanada.net
If you wish to contact us by telephone to the Montreal Office (514-845-9292), please
consider the time differences (Montreal
is 5 hours behind
London, England
).
Link to Application Form
MANAGEMENT INSTITUTE OF CANADA (MIC),
Admissions: 2015 Drummond, #920,
Montreal
,
QC
,
H3G 1W7
Canada
Mailing address:
PO Box 71
, Succ: B,
Montreal, QC, H3B 3J3, CANADA
,
Tel : 1-514 845-9292 Fax : 1-514-845-3628,
www.micanada.org
Admin@micanada.net
Certificate of Software Engineering
The Software Engineering Certificate
Program's objectives are to provide the background so that participants will be
able to: 1) understand the software development process from planning and requirements
analysis for testing and implementation, 2) manage software projects including adhering
to budgetary and time constraints and promoting effective communication, and 3)
consider the role of architectural design in the system development life cycle of
software.
Objectives:
The intention of the Software Engineering Certificate
is to:
·
provide an understanding
of the principles of software engineering and their application to software and
environments;
·
provide a solid foundation
in the fundamental frameworks, methods, and technologies of software engineering;
·
provide an understanding
of the conventional methods of software engineering and managing software projects;
and
·
Provide an understanding
of the most recent advancements in contemporary software engineering topics including
object-oriented development methods.
Students intend to attend these classes should have a
fundamental understanding of computer software and basic programming concepts.
Software Engineering Principles (3 credits)
Engineering approach to the development of large programming
projects. Successive steps of requirements analysis, specification, design, coding,
debugging and testing, maintenance, and thorough documentation, as illustrated by
examples and papers from current scientific literatures.
In this course following subjects would be covered:
Before Software can be engineered the “System” in which
it resides must be understood. To accomplish this, the overall objectives of the
system should be identified. People, database, procedures, and other system elements
should be specified. These activities and many more are gathered under umbrella
of System Engineering that will be studied in this section.
-
Analysis Concepts and Principle
The overall role of software is identified during system
engineering. But to build high-quality software that accomplishes customer’s requirements
needs more comprehensive knowledge of their demands. This is the job of software
requirements analysis. To perform the job following a set of understanding and concepts
are necessary.
-
Design Concept and Principles
Design is a meaningful engineering representation of something
that is to be built. It can be traced to a customer’s requirements and at the same
time assessed for quality against a set of predefined criteria for “good” design.
In this section the concepts and principles of designing a software studies.
Architectural design represents the structure of data
and program components that are required to build a computer-based system. It considers
are architectural style that the system will take, the structure and properties
of the components that constitute the system, and the interrelationship that occur
among all architectural components of a system.
User interface design creates an effective communication
medium between a human and a computer. Following a set of interfaces design principles,
design identifies interface objects and actions and then creates a screen layout
that forms the basis for a user interface prototype. In this section we emphasize
on the concepts and principles for user interface design as well as ways to make
users will more friendly while working with the system.
-
Software Testing Techniques
Once source code has been generated, software must be
tested to correct as many errors as possible before delivery of to the customer.
In this section we will present techniques to design a series of test cases that
have a high likelihood of finding errors.
-
Introduction to Rational Unified Process
The Rational Unified Process (RUP) is a well-defined and
well-structured software engineering process. It clearly defines who is responsible
for what,
how things are done, and when to deal them. RUP is a well-known Software engineering
process framework that comprises many software development best practices, harvested
by many contributors, over many years of experience, in a wide variety of situations.
It provides a disciplined approach to assigning and managing tasks and responsibilities
in a software development organization. In this section we will cover this approach
by presenting concepts and principles as well as case study projects. This section
will prepare students to get participated in real software development industries
around the globe.
Software System Development Methodologies (3 credits)
This course is intended to give students an introductory
view of different software development methodologies, especially Rational Unified
Process as one of the leading software development methodologies used in wide range
of industrial companies.
-
What is The Software Process
When software is intended to be built, it is important
to go through a series of predictable steps, a road map that helps you create a
timely, high-quality result. The map that has to be followed is called software
process that will be covered in this section. Also different development methods would be
studied.
-
Project Management Concepts
Project management involves the planning, monitoring and
control of the people, process and events that occur as software evolves from a
preliminary concept to operational implements. In this section we intend to cover
the concepts of project management.
-
Risk Analysis and Management
Risk analysis and management are a series of steps that
help a software team to understand and manage uncertainty. A risk is a potential
problem but regardless of outcome, it is a very good idea to identify it, assess
its probability of occurrence, estimate its impact and establish a plan in cases
the problem really occurs.
Object-Oriented Programming Concepts (3 credits)
An introduction to the theory and practice of object oriented
programming and design. Encapsulation, inheritance, genericity, dynamic binding,
and polymorphism would be covered in depth during this course.
-
Introduction to Object Concepts
The object-oriented approach was invented because of the difficulties people were
having trying to get good quality systems produced on time and within budget, especially
for large systems with many people involved. In this section students will get familiar
with this concept and get ready for further knowledge about this new paradigm.
-
Inheritance and Polymorphism
Inheritance and polymorphism are essential characteristics of each Object-Oriented
system. In this section we will cover this concept in depth.
Type Systems are easily set of rules that stop us from
misusing values. In this section beside the all the necessary things about Type
systems that should be take into consideration are covered.
Object-Oriented Analysis and Design (3 credits)
This course intends to prepare students for the most advanced
software development concepts which will lead them to ever increasing jobs in software
industry. During this section a very brief description of Unified Modeling Language
(UML) will be presented.
-
Gathering Requirements Methods
Before any system starts to be developed a very comprehensive
knowledge about customer’s needs are necessary. In this section students will study
how they can gather essential information for software development using Object-Oriented
approach.
-
How to Analysis a Problem in Object-Oriented Analysis and
Design
Analysis is about discovering
what
the system is going to handle, rather than deciding how to do the handling. We need to decompose
a complex set of requirements into the essential elements and relationships on which
we will base our solution. In this section, a series of analysis principals will
be presented to the students. Also they will learn how to present outcome of their
understandings in form of specified UML diagrams.
-
How to Design System Architecture in Object-Oriented Analysis
and Design
Analysis and design are very different ideas, although the boundaries are sometimes
blurred. This blurring can happen intentionally, as in the case of RUP, or accidentally,
resulting from poor software development. A clear separation between analysis and
design is a good idea, to make sure that the problem is well understood before a
solution is considered. In this section students understand how to design software
based on the outcome of their analysis using object-oriented approach. In this section some other UML diagrams.
-
Software testing Concepts and Methods
Developing software is a complex business. No matter how hard we try, we won’t be
able to eliminate all
faults
(or bugs) simply by going through the phases of requirements, analysis, design,
specification and implementation. However, through good practice, we can make sure
that the most serious faults do not occur in the first place. In addition, we need
a separate testing phase, with the goal of eliminating all remaining faults before
release. In this section some techniques would be studied that helps us eliminate
as many errors as possible during and after software development phase.
Course Benefits:
·
Describe the Systems
Engineering context for Software
·
Define Software Engineering
·
Apply structural
analysis methods to problem solving
·
Describe requirements
management
·
Describe the criticality
of accurate requirements elicitation
·
Identify the characteristics
of a well-written requirement (e.g., primitive, testable)
·
List the types of
software requirements
·
Create the artifacts
of Structured Analysis: Data Flow Diagram and Entity Relationship Diagram
·
Create the artifacts
of Structured Design: Structure Chart, State Chart and Chapin Chart
·
Create the artifacts
of Object Oriented Analysis/Design (OOA/OOD): Class Model, Object Model, Use Case,
Activity Diagram, Collaboration Diagram, Sequence Diagram, Interaction Diagram
·
Depict a systems
context and interactions using package diagrams and interfaces
·
Compare and contrast
the processes for Structured Analysis/Structured Design versus Object Oriented Analysis/
Object Oriented Design
·
List the major steps
in software size, effort, duration
Activities
Homework: Students attend the Software Engineering classes are required to handle
provided homework.
Online Seminars: Students should attend seminars prepared in different subjects
by MIC.
Research: Beside student’s homework, they will be asked to do researches on specified
subjects based on their interested. These research activities can be done in form
of groups of students aim to work on similar subject.
|