I made this widget at MyFlashFetish.com.

Wednesday, July 27, 2011

Task Summary

HYE......
Summary - SOFTWARE ENGINEERING ETHICS IN A DIGITAL WORLD

We can conclude software engineering it very important in a digital world because it can help us to communicate with virtual world. But, sometimes it also can make a problem for us. In this article it mention about the five challenges.

Five keys challenges :-

1)  Requires novel requrements engineering methodologies that enables analysis of the highly varied & inherity fuzzy ethical standpoints of the various stakeholders
(users, service providers, regulatory bodies, and so on)

2) conduct tradeoff analysis involving ethics considerations when making architectural and design.

3) tracing the architectural & design choices influenced by ethical considerations to their source is a nontrival task. Understanding which ethical considerations are satisfied by specific design decisions & that must be checked for and enforced during runtime.

4) Existing software engineering methodologies & process account for nonfunctional properties, ethical considerations are not at the fore-front of such as analyses. Requires software & business process improvement frameworks to facilitate an in incremental evolution. Not only of the methodologies & process but also of organizational practices & codes of conduct

5) training of software engineers in ethics-aware software design is, essential to overcome this shortage. Any such training requires both adaption of existing professional training programs & certifications offered by bodies (such as British Computer Society, IEEE)

Module 8

Module 8: Software Evolution

           SOFTWARE MAINTENANCE
•Software is released to end-users, and
–within days, bug reports filter back to the software engineering organization.
–within weeks, one class of users indicates that the software must be changed so that it 
   can accommodate the special needs of their environment.
–within months, another corporate group who wanted nothing to do with the software 
   when it was released, now recognizes that it may provide them with unexpected 
   benefit. They’ll need a few enhancements to make it work in their world.

LEGACY APPLICATION SOFTWARE
- In IT, legacy applications and data are those that have been inherited from 

                      languages, platforms, and techniques earlier than current technology

- Typically, the challenge is to keep the legacy application running while converting it to 
  
   newer, more efficient code that makes use of new technology and programmer skills   

                  - Many organizations are migrating their legacy applications to new

                    programming languages  and operating systems that follow open or standard 

                    programming interfaces.

            SOFTWARE MAINTENANCE AND SUPPORT

1. Correcting defects

                                     2. Adapting application to a changing business environment

                3. Implementing enhancement at the request of stakeholders.

                      4. Supporting users as they integrate an application into their personal and business workflow


             MAINTENABLE SOFTWARE

•Maintainable software exhibits effective modularity
It makes use of design patterns that allow ease of understanding. 

             SUPPORTABILITY SOFTWARE

•The software should contain facilities to assist support personnel when a defect is 
  encountered in the operational environment (and make no mistake, defects will be 
  encountered). 

LEHMAN'S LAW OF SOFTWARE EVOLUTION
A series of laws that Lehman and Belady formulated starting in 1974 with respect to
software evolution.


Lehman, M. M.; J. F. Ramil, P. D. Wernick, D. E. Perry, and W. M. Turski (1997). "Metrics and laws of software evolution—the nineties view". Proc. 4th International Software Metrics Symposium (METRICS '97). pp. 20-32. doi:10.1109/METRIC.1997.637156. http://www.ece.utexas.edu/~perry/work/papers/feast1.pdf.


WHO PERFORM MAINTENANCE?????

•Separate maintenance team
–May find it easier to distinguish how a software should work from how 
   it does work

•Part of development team
–May feel over-confident, and ignore the documentation to help 
   maintenance effort

           REENGINEERING
•To support ‘new business rules’, existing software may be modified or rebuilt 
  (reengineered).
•Reengineering may begin with a Business Process Reengineering (BPR) before move on 
  to software reengineering.

A MODEL FOR BPR
-with 6 activities :


         SOFTWARE REENGINEERING PROCESS MODEL




NURUL AIN BINTI MD HASHIM (IS086681)




























Tuesday, July 26, 2011

Module 7


Software Quality Management
~ Adopts a number of management principles that can be used by upper management their organizations 
    wards improved software product performance.
Concerned with ensuring that the required level of quality is achieved in a software product.
Should aim to develop a ‘quality culture’ where quality is seen as everyone’s responsibility.
~ Software quality assurance (SQA) is often called quality management.

What is quality?
~ A characteristic or attribute of something.
~ Two kinds of maybe encountered :  Quality of design encompasses requirements, specifications, and
                                                          the design of the system.
                                                       :  Quality of conformance is an issue focused primarily on
                                                          implementation

 User satisfaction = compliant product + good quality + delivery within budget and schedule.     

Comments of Quality
~ Everybody is for it.
~ Everyone feels they understand it.
~ Everyone thinks execution is only a matter of following natural inclinations.

~ Most people feels that problems in this area are caused by other people.

What is Software Quality
~ An effective software process applied in a manner that creates a useful product that provides measurable  
   value for those who produce it and those who use it.
~ Satisfies requirements of stakeholders and that are expected of all high quality software. 
   Establishes the infrastructure that supports any effort at building a high quality software product
~ To user :  expedites some business process.~ End results ;  increased revenue, better profitability when an
~ The management aspects of process create the checks and balances that help avoid project  
    chaos— a key contributor to poor quality.
Useful Product
~Delivers the content, functions, and features that the end-user desires in a reliable, error free way.
Adding Value
~ High quality software provides benefits to producer and user.
~ To producer less maintenance effort, fewer bug fixes, and reduced customer support application
   supports a business process and/or  improved availability of information that is crucial for the business.

Quality Dimensions and Factors
Achieving Software Quality
~ Quality assurance (QA)
~ Quality control (QC)
~ Software engineering method
~ Project management techniques
SQA Goals
~ Requirement quality
~ Design quality
~ Code quality
~ Quality control effectiveness
Six-Sigma for Software Engineering
~ The Six Sigma methodology defines three core steps:
    * Define customer requirements and deliverables and project goals via well-defined methods of
       customer communication
    * Measure the existing process and its output to determine current quality performance
       (collect  defect metrics)
    * Analyze defect metrics and determine the vital few causes.
~ If improvement is required when software process exist, Six Sigma suggest two extra steps:
    * Improve the process by eliminating the root causes of defects.
    * Control the process to ensure that future work does not reintroduce the causes of defects.


~ Theepa Laknakumaran (SW086630) ~

Module 6

Module 6: Software Verification and Validation

  • V & V must be applied at each framework activity in the software process.
  • Verification refers to the set of tasks that ensure that software correctly implements a specific function.
  • Validation refers to a different set of tasks that ensure that the software that has been built istraceable to customer requirements. Boehm [Boe81] states this another way:

- Verification:  "Are we building the product right?"
- Validation:   "Are we building the right product?”

V & V activities include:

SQL activities 
                  –Technical reviews

–Quality and configuration audits
–Performance monitoring
–Simulation
–Feasibility study
–Documentation review
–Database review
–Algorithm analysis

TESTING
–Development testing
–Qualification testing
–Acceptance testing
–Installation testing



SOFTWARE TESTING


•The process of exercising a program with the specific intent of finding
  errors prior to delivery to the end user.

•Must be planned carefully to avoid wasting development time and
  resources, and conducted systematically.

•What testing shows?


- errors

- requirements conformance

- performance

- an indication of quality



WHO TESTS THE SOFTWARE 

 
Developer

- understand the system but will test "gently" and it driven by "delivery"






Independent Tester

- must learn about the system but will attempt to break it and is driven by quality




OVERALL SOFTWARE TESTING STRATEGY


- viewed in the context of the spiral.

- Begins by ‘testing-in-the-small’ and move toward ‘testing-in-the-large’ 




SOFTWARE TEST DOCUMENTATION

- Test Plan
- Test Design Specification
- Test Case Specification
- Test Procedure Specification
- Test Item Transmittal Report
- Test Log
- Test Incident Report
Test Summary Report

TEST CASE DESIGN

Focuses on a set of techniques for the creation of test
cases that meet overall testing objectives and the
testing strategies.

1.‘White-box’ testing

–focus on the program control 
  structure (internal program logic).

–Test cases are derived to ensure that 
   all statements in the program have 
   been executed at least once during 
   testing and all logical conditions have 
   been exercised.

–Performed early in the testing 
   process

2.‘Black-box’ testing

–Examines some fundamental aspect 
   of a system with little regard for the 
   internal logical structure of the 
   software

–Performed during later stages of 
   testing

DERIVING TEST CASES

Flow graph notation:

 
Sequence                                     Untill


If


Cases



While
  








NURUL AIN BINTI MD HASHIM (IS086681)




Facebook Comments

Our Countries :))

free counters