Page 32 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 32

Principles of Software Engineering



                   Notes         Therefore, any software manufacture web will in some way understand only an approximate
                                 or incomplete description of software development. Articulation work is a kind of surprising
                                 task that is performed when a planned task chain is inadequate or breaks down.  It is work that
                                 represents an open-ended non-deterministic sequence of actions taken to restore progress on the
                                 disarticulated task chain, or else to shift the flow of productive work onto some other task chain
                                 thus, descriptive task chains are employed to characterize the observed course of events and
                                 situations that emerge when people try to follow a planned task sequence. Articulation work in the
                                 context of software evolution includes actions people take that entail either their accommodation
                                 to the contingent or anomalous behaviour of a software system, or negotiation with others who
                                 may be able to affect a system modification or otherwise alter current circumstances this notion
                                 of articulation work has also been referred to as software process dynamism.




                                            Design a structure for software project model.

                                 2.2 Characteristics of Software Model


                                 Software disaster leads to the term “Software Engineering.” Software engineering is the limb
                                 of software that deals with development of well urbanized software that satisfies all the users’
                                 requirements and ensures that the software is provided on time and within financial plan the
                                 software is provided along with documentation that gives explanation to the user on how to
                                 use the software. Software engineering can be defined as: “Software engineering is the branch of
                                 engineering in which the software is developed in a manner that it will have all the properties like
                                 maintenance, extensibility and is within time and budget and also satisfies all the requirements
                                 given by user.” Producing software does not mean producing just software but it means to
                                 develop the software in a cost effective manner. Characteristics of well engineered software are:
                                 Efficiency: Software is said to be well-organized if it uses the available resources in the most
                                 efficient manner. The software should be able to offer a quick response in the least processing time
                                 using the resources at minimum level. Resources refer to the memory and processor utilization.
                                 The software should efficiently perform what the user demanded and give appropriate response
                                 in each case i.e. the output given is accurate or not.
                                 Maintainability: This characteristic of the software is important for both the software engineer
                                 and the user. If the change is to be required in the software then the change leads to the change in
                                 the software so that it performs in accordance with the user requirement. The software engineer
                                 has to respond very fast if there is any change in the user requirements. Changes should be
                                 performed like this that it will not affect the overall integrity of the software.

                                 On-time: The software should be developed on-time. If the software is urbanized late then it is
                                 of no use. A good engineer always develops the software on-time.
                                 Within Budget: Some of the software gets swarming. Overrun does not mean that the cost of the
                                 software exceeds the limit given by user. But, it means that the software cost is out of control.
                                 So, the software should be developed in such a manner that it will not overrun and the software
                                 being developed is within budget.
                                 Functionality: The software system is developed in a manner that it performs the entire task
                                 perfectly for which it is developed. The software should respond correctly as the user wants.
                                 Adaptability: The software should be adaptable. Software is desired to be adaptable all the
                                 changes efficiently. The software should easily adopt all the changes in the software with no
                                 change in the efficiency of the software.
                                 Dependability: It is the ability of the software that should not cause any physical or economic
                                 damage in the event of system failure. It includes a range of characteristics like: Reusability,
                                 security, and safety.

        26                                LOVELY PROFESSIONAL UNIVERSITY
   27   28   29   30   31   32   33   34   35   36   37