Important Links for Software Engineering

 Tools Required for software designing

  1. Online Visual Paradigm
  2. PlantUML

Module Topics

Week 1: Software development process and models
Week 2: Requirement capture and use case modelling
Week 3: Requirement analysis and interaction modelling
Week 4: Operation specification and state machines
Week 5: Software design and design patterns
Week 6: Software testing and refactoring
Week 7: Quality management and configuration management

Books

  1. Pressman, Roger S., Software Engineering: A Practitioner's Approach
  2. Sommerville I., Software Engineering (Links to an external site.), 10th edition, Pearson, 2016.
  3. Bennett, Simon; McRobb, Steve; Farmer, Ray, Object-Oriented System Analysis and Design, 4th edition, McGraw Hill, 2010.

Week 1

Required Reading
You will be directed to read the following at the appropriate point in each lesson.

Lesson 1
Bennett’s book (pp.70-87)

Lesson 2
Sommerville textbook pp.72-91

Lesson 3
Bennett's book chapter 5
 

Further Reading
For further optional reading this week read:

This Wiki page Links to an external site.about the software development process and prototyping
Bennett's book p.627

Why is software engineering so important?

According to Sommerville [2] software engineering is important for two reasons:

  1. Individuals and society increasingly rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly.
  2. It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write programs as a personal programming project. Failure to use software engineering methods leads to higher costs for testing, quality assurance, and long-term maintenance.

The rest of the module will cover the following topics:

  • software development process and software models
  • requirement capture and use case modelling
  • requirement analysis and interaction modelling
  • operation specification and state machines
  • software design and design patterns
  • refactoring and software testing
  • quality and configuration management
Let’s start with the software development process. There are many possible software project activities, such as:

  • requirements
  • analysis
  • feedback
  • validation
  • design
  • implementation
  • verification
  • delivery
  • support
The question that follows is, in what order should they be carried out? This is the area of the software development process or software lifecycle models.

Read this wiki pageLinks to an external site. in conjunction with Bennett’s book (pp.70-87) and look out for the key features for each of the following lifecycle models:

    • waterfall
    • incremental
    • prototyping
    • spiral
    • unified process   
       

Comments

Popular posts from this blog

Software Engineering PPT

Software Engineering