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

Variables

Variables You may have been using variables and constants in since your 3rd grade. In any programming language same concept of variables is used which covers more than half of your code. Now is you have worked in C++ or Java or Python or any other programming language you may have used variables. If you are new to programming and you have started with C# its totally OK because you don't need any degree to learn programming. Now what are the variables, to be precise variables are the empty shells which can be filled to their limit and their value can variate with the passage of time as required and manipulated on desire.  Their are few types of variables: Types Examples Integral Types stype, byte, short, ushort, int, unit, long, ulong and char Floating Point Types Floating and Double Decimal Types Decimal Boolean Types True or False value, as assigned Nullable Types Nullable Data Types Declaration Moving on we have some rules for decl...

A Path To Block Chain

 Make it easy Out of oven For a long time blockchain have been known as a theory but bitcoin changed it all. On January 3 2009 bitcoin actually came into existence. Satoshi Nakamoto found something unusual. With the concept of blockchain and mined very first block of bitcoin with reward of 50 bitbucks known as bitcoins. (ok enough with history class lets jump into fun part now). Fun part Bitcoin: Knock knock!  Currency: who is there! Bitcoin: Full stop Trolling banks and financial departments of Europe and America, Bitcoin flew from ground to paramount in no time leaving others waving. For a very long time brokers have been piercing your gold mines with hammers but Bit dude being a good sheriff said "Stop that"   Brokers: "Why" Bit dude: "I wanna take over" Brokers: "With what army" Bit dude: "This army 'anonymous transactions' " Brokers: "Fair enough" With course of few years bitcoin went through so many ups and downs...
Theory of Automata Assignment #2 Part #2 Regular Expression # 6 The set of strings over {a,b} that contain at least two a's or exactly two b's. (a+b)*(a)(b*)a(a+b)*+a*b(a*)b(a*) Regular Expression # 7 The set of strings over {a,b} that contain even length but not multiple of 3 (aa*)(aaa^) Regular Expression # 8 The language over {a,b}contains exactly one double letter.   (ε + b)(ab) ∗aa(ba) ∗(ε + b) + (ε + a)(ba) ∗ bb(ab) ∗(ε + a)