Hello azumavengers and welcome
to my blog. Today we are going to talk about the System Engineering and Process Models.
System Engineering:
System engineering is concerned with development of computer
based systems including hardware , software and relative process where as
software engineering is the part of this more general process.
Case tools
Case stands for computer aided software which are used to develop software.
- upper case tools: tools used in analyzing and designing phase
- lower case tools: tools used in coding and testing phase.
Key challenges software engineers face:
- Coping with the increased diversity.
- Demand of reduced delivering time.
- Developing trust worthy software.
Roles of a software engineer
Programming is not enough a software engineer must be able
to work on different levels of abstraction .
- Good communication skills
- Good management skills
- Understanding requirements and right specifications.
- Building models and reasons about them
Software Process Model:
Software Process Model is the description of the set of
activities followed to develop a software project and relative order of these
activities.
It provides a generic framework for completing a specific
project. There are different software process models, each carrying its own
importance and used according to the requirements. Project parameters will
include size of the software, budget of the project and the delivery duration.
Now a day’s size and quick delivery is more concentrated. This requirement of
the clients have announced a software engineer’s world war and the competition
is tough.
Following are some Software Process Models.
- · Water fall(Classical Life Cycle Model, Linear Sequential Model)
- · Prototyping
- · Spiral
- · Agile
- · Evolutionary
Water Fall Model:
The process model is only used for the project where
requirements are completely known, well it is logical because water fall
process model actually works as a water fall which means if we believe that we
have completed a step and we move to the next step the previous step freezes
and we cannot make any changes while the process is on going. Our progress is
steady downwards just like a water fall as it suggests a systematic and
organized approach to software development. We cannot switch to next activity until
preceding activity is completed.
The activities involved are:
- · Requirement Gathering
- · Designing
- · Coding
- · Testing
- · Deploying and Maintenance
Disadvantages:
- It is often difficult for a customer to state all the requirements at once. There might be somethings he misses while submitting his requirements. Reconsidering of the requirements may cause his big bucks because the developer will have to start review everything from zero.
- Since the working version of the software is available in the early stages the customer will have to be patient to evaluate the software.
- It is difficult to accommodate the changes after the process is under way.
- The biggest problem is the blocking state. This state appears when some team members have to wait for the other team members to complete their task.
Advantages:
- Simple
- Step by step
- Easy to follow
- focused
Leave a comment below, don't forget to subscribe to my blog. Like, share and follow my blog for more of it.
please do week 3 and week 4 and also post full instruction on your website
ReplyDelete