SE 1-2(1)

lliu26 2010-08-27 05:20:02
1.Software
Includes programs, procedures, rules and related documentation
Packs and delivers “Information”

2.Software Crisis
Time and Cost Slippage
Failure at Customer’s site
Untraceable Errors after delivery
Difficulty in Maintenance
Increase in program size and complexity led to

The Software Crisis:
In the early years of computer applications, the focus of development and innovation was on hardware ? software was

largely viewed as an afterthought. Computer programming was an art, at best an arcane practice known to a gifted few.

Programmers did not follow any disciplined or formalised approaches ? these were confined to hardware designers.

This way of doing things was adequate for a while, until the sophistication of computer applications outgrew this rough-

hewn approach. Software soon took over more and more functions which were hitherto done manually or were hard-

automated. As “software houses” emerged, software began to be developed for widespread distribution. Software

development projects produced thousands of source program statements. With no tools or methods of managing this

increasing complexity, the number of errors began to accelerate. But the personalised nature of programming made

maintenance, or the fixing of these errors, exceedingly difficult. The following situation resulted:
Software projects were taking a lot longer than initially envisaged.
Software was costing a lot more to develop than at first estimated.
Software was being delivered to the customer only to fail.
Errors found by the customer were extremely difficult to track down and fix.

These problems are collectively referred to as the “software crisis”. Clearly, there was a need to rethink software

development practices. The consensus which emerged was to borrow ideas about systematic development from another

discipline, namely engineering.

3.“Software Engineering” is the application of a systematic, disciplined, quantifiable approach to the development,

4.Software Development Life Cycle (SDLC)
Regardless of exact model or framework used, all Software Development Life Cycle methodologies broadly follow the

following Steps.
Requirements Analysis
Design
Build
Testing
Deployment
Maintenance

5.Structure of the processes at Infosys: We have adopted the ETVX-M model that will ensure all aspects of a process are

covered.

ETVX-M model means :
Entry, Task, Verification & Validation and Exit - Measurement
Entry : Involves Planning and Training activities
Task : Activities/tasks to be performed for that stage
V&V : Includes reviews, testing
Measurements for effort and defects are taken for every stage.
Every stage also needs commitment for process improvements .

ETVX-M (Entry, Tasks, Verification, Exit – Measurement) Model is used at Infosys for all the review processes


(task [tɑ:sk]
n.任务,工作,作业
verification
n.(名词)
(1). The act of verifying or the state of being verified.
证明;证实:证明的行为或被核实的状态
(2). A confirmation of truth or authority.
核实,核查:对真理或权力的确认
(3). The evidence for such a confirmation.
证词:对这类证实的证据
(4). A formal assertion of validity.
确定,鉴定:对效力的正式断言
(5). Law An affidavit that attests to the truth of a pleading.
【法律】 宣誓供词:证明某一申诉属实的宣誓书)
measurement
n.衡量,测量[ pl.]尺寸,大小

6.Why follow Process ?
If you DON’T follow process :
Non usable outputs (customer dissatisfaction)
Rework is high (cost overruns)
Cost more than estimated and hence less profitable (cost overruns)
Losing Client (Loss of Goodwill and business)

If you follow process:
Usable outputs
No re-work or less rework
Profitable as cost was as per expectations
Happy client
Repeat business

7.Software Process Models are called as Software Development Life Cycles (SDLCs)
Example:
Waterfall Model:No change in requirements ,Deliverables expected at every stage,Systematic execution
Pros:
Simple and systematic model
Follows a disciplined approach
Cons:
Limited or no scope for accommodating new requirements
Potential delay in identifying the risks which might lead to disastrous / terrible results
Prototype Model:Complete set of requirements not available ,Start development with a set of requirements,Feel of the

product with initial requirements expected
Pros:
Less technical risks
Scope for accommodating new requirements
A part of product is visible at an early stage itself
Cons:
Expensive
Time Consuming
Spiral Model::Many risks are expected ,There are alternatives,Not fixed budget project
Pros:
Model for the other models (Meta Model)
Captures potential risks at an early stage
Iterative and realistic model
Cons:
Requires good expertise in risk management and project planning
In this model, projected cost is revisited and revised every round during Planning. Therefore, if Management

demands fixed-budget development, this model may not be suitable
RAD Model:Less than 3 months for launch of the product ,There are many functionalities,Users have to be involved

through out
What is RAD Model ?
Rapid Application Development
Emphasis is on short development time. Completing system development within a short time (60 days to 90

days)
Each major function addressed by a separate RAD team
Users are involved throughout the development life cycle
Pros:
Working model of software is visible early
Continuous stream of documentation is maintained for future upgrades
Cons:
At times the design standards may be ignored
For Large Projects, RAD requires many human resources
In case system is not properly modularized, integration of modules may create problems

8.The needs (or requirements) of the customer could be classified as functional, performance, reliability, maintainability,

safety and security, interoperability, cost, schedule etc.

9.Structured System Analysis and Design (SSAD)
Analysis stage produces a structured requirements specification made of graphical notations
process model comprising of a set of data flow diagrams
set of process specifications
data model comprising of an entity-relationship diagram
data-dictionary
Design stage refines the findings of the analysis stage to a greater extent, to make sure that it is easily understood
Database Design
Program Design
SSAD uses a set of tools and techniques to model user requirements. Modeling is done to represent and document the

requirements gathered. In SSAD, the system is viewed as being composed of two components namely processes and data

.Each of these (processes and data) are modeled more or less separately in the Analysis Stage. Graphical Notations are

used for modeling purpose. In the design stage, these are further refined and described.

In SSAD, the system is viewed as being composed of two components, functionality and data, each of which is modeled

more or less separately.
Functionality are modeled using a technique called process modeling.
Data is modeled using a technique called data modeling.
Since SSAD models functionality and data separately, we say that it follows a function/data methodology
It is more suitable for data intensive projects

10.Object Oriented Analysis and Design (OOAD)
Object Oriented Analysis
Examines requirements from the perspective of classes and objects existing in the vocabulary of problem domain
Example: Use case Diagrams
Object Oriented Design
Process of object-oriented decomposition and a representation for depicting (showing) the system under design
Example: Class Diagrams

11.Software Construction (Implementation)
Coding functions or classes using a computer language and using the right set of tools
Selecting control structures and organizing them
Polishing code by formatting and commenting it
Tuning code to enhance the performance
Eliminating compilation errors and link errors
Making the executable code


PS:Recap of DAY - 1
Engineering approach was adopted for Software Development to address the “Software Crisis”
Engineering approach uses Processes, Methods and Tools
Many Software Process Models are in use like Waterfall, Prototype, Spiral and RAD Models
SSAD and OOAD are popular Analysis and Design Methodologies
Software Construction involves Coding and Unit Testing


12.How to find defect in Software Artifacts ?
Reviews (evaluation)
Requirements Review
Design Review
Code Review
Code-walk-through
Testing
Unit testing
Integration testing
System testing
Acceptance testing
Functional testing
Performance testing
Regression testing

13.There are 2 kinds of formal reviews conducted at Infosys
One-Person Review (OPR) and Group Review (GR)
Doing Self Review (informal review) is a good practice before conducting the OPR or GR.

...全文
99 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧