Skip to main content

Software Engineering Week 2


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.

Comments

  1. please do week 3 and week 4 and also post full instruction on your website

    ReplyDelete

Post a Comment

Popular posts from this blog

Software Engineering Week 1

Software Engineering  Software engineering is an engineering discipline that concerns to all aspects of software development and software production. Mentioned above is the typical definition of software engineering that should develop a mind setup of a student who is wiling to learn development of software. Now when we talk about development of software, its life cycle pops into our minds which is being taught in almost every educational institution.  SDLC SDLC (Software Development Life Cycle) is the basic and core concept of Software Engineering. SDLC include few steps that should be followed strictly in order to develop a software. Most common terms used for those steps are: Analysis Designing Coding Testing Deployment and Maintenance   These steps are followed to develop a software. Firstly we should know what is a computer software. A computer software is nothing but computer program and associated documentation. Difference between computer scienc

Generations of Computer Part 1

Hello azumavenger  and  welcome to my blog. Today we are going to talk about the computer generations Computer Machine and Their Generations As we all know Computer is an electronic machine which solve different calculations precisely, accurately, in short span of time and more efficiently. Now the question is that why was such thing invented in first place. Humans are more intelligent than computers, they can make decisions and can conquer many things on the base of feelings then why was computer needed. The answer is simple to save human from labor work. Computers were nothing like what they are today The PC's to be precise Personal Computers we use today were not this efficient and cool back in John Mauchly's days. They were big, they consumed more power and were not easy to use. Diving deep, computer machines evolved from different versions to become what they are today, It started from ENIAC and is still being updated. Actually around 4 generations have be

Characteristics of Computer

Characteristics of Computer Lets just enlist the characteristics of computer Accuracy Diligence Speed Remembering power Versatility Automatic No IQ No Feelings Accuracy As we already know that computer is an electronic machine. The name of this machine " Computer " explains much of the details about this heading. Since it is a computing device, it provides maximum accurate answer. Although it is an electronic device still it's calculated answer is not absolute accurate sometimes because it is a human product and also the input is given by the human beings which may be wrong. Now the crux of the above discussion that you can write in any exam is that computer is a calculating device that provides the most accurate answer of different problems as compared to humans. Diligence Since computer is a machine, a non living thing, it can work for hours and hours without getting tired. This is the beauty of Computer, humans can't stand against